İnternet bağlantısı yoksa Windows'u otomatik olarak yeniden başlatın


1

Evimin çok elverişsiz bir bölümünde yer alan bir medya sunucusuna (Windows 8) sahibim. Bazen yönlendiricimi sıfırlamak zorunda kalacağım ya da kendini sıfırlayacaktır. Sorun, PC'nin bir sebepten dolayı bağlantısını kaybettiği ve yeniden başlatmak için bir düğmeye basmak için evin etrafında, bodrum katında, bir sürü oyuncak ve ağırlık ve kutu üzerinde yürümeye zorlandım.

Her 5-10 dakikada bir kendini kontrol etmesini ve verilen bir adrese / IP'ye ping yapamıyorsa otomatik olarak yeniden başlatılmasını isterim.

Bunun nasıl başarılacağı hakkında bir fikriniz var mı?

Yanıtlar:


3

Toplu iş dosyası:

ping 192.168.1.1
IF ERRORLEVEL 1 SHUTDOWN -R -T 00

Güç kalkanı:

if (!(Test-Connection 192.168.1.1 -quiet)) {Restart-Computer -Force}

VBScript:

 If Reachable("192.168.1.1") Then
  WScript.Run("shutdown -r -t 00")
 End If

 Function Reachable(strComputer)
  Dim wmiQuery, objWMIService, objPing, objStatus
  wmiQuery = "Select * From Win32_PingStatus Where Address = '" & strComputer & "'"

  Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
  Set objPing = objWMIService.ExecQuery(wmiQuery)

  For Each objStatus in objPing
      If IsNull(objStatus.StatusCode) Or objStatus.Statuscode<>0 Then
          Reachable = False 'if computer is unreacable, return false
      Else
          Reachable = True 'if computer is reachable, return true
      End If
  Next
 End Function

Bunlardan herhangi birinin size uygun bir müdahalede, yani "en yüksek ayrıcalıklarla" çalışacak şekilde planlanmış olması durumunda, olası UAC sorunlarının üstesinden gelebilecek bir görev olarak çalışması planlanabilir.

Bunun sadece yönlendiricinizin bağlantısını kontrol ettiğini unutmayın. IP adresini www.google.com veya benzeri bir adresle değiştirmeye değer olabilir .. cevapları bildiğiniz bir şey yapın (manuel bir ping yapın) ve kesinti süresine karşı hassas olan tehlikeli bir site olmadığından emin olun .. PC'niz hiçbir şey için yeniden başlatılıyor


0

İşte bunu yapacak bir PowerShell betiği. İstediğiniz sıklıkta zamanlanmış bir görev olarak çalıştırın. Bu kullanır Yeniden-Bilgisayar , kullanmak gerekebilir -forcekoşullara bağlı. Seçenekler için bağlantıyı kontrol edin.

If (!(Test-Connection 192.168.20.199 -quiet)) {
    #Write-Host "Not connected"
    Restart-Computer
}
Else {
    #Write-Host "Connected"
}

Tam bir If / Else deyimini ekledim, ancak bunu bir satırda yapabilirsiniz. If / Else'nin tamamı, gerekirse daha fazlasını yapma esnekliği sağlar. İşte 1 liner:

if (!(Test-Connection 192.168.20.199 -quiet)) {Restart-Computer}

Yönlendiricinizi hata verdiğinde pingleyemiyorsanız, komut dosyasında yönelticinizin adresini kullanın. Bu en iyi seçenek olurdu. Sen olabilir yahoo.com gibi bir web sitesi test edin. Harici bir siteyi test etmedeki sorun şudur:

  1. Uzak adres, ping kabul etmeli
  2. Uzak adres kapalı olabilir ve bu da makinenin yeniden başlatılmasını sağlar

Bu sadece kısa bir not ... -Forceanahtarı ekleyin restart-computer. Bunu yapmazsanız, bir hizmet durdurursa veya etkin olmayan bir RDP oturumunuz varsa (veya başka çeşitli nedenler varsa), makine yeniden başlatılmaz. -ForceAnahtar bunların hepsi göz ardı ederek onu yeniden yapacak
Fazer87
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.