Ich verwende einen Windows 10-Computer, auf den ich von unterwegs aus remote zugreifen kann. Ich verwende einen VPN-Dienst auf diesem Computer, und wenn die Verbindung über einen längeren Zeitraum bestehen bleibt, wird die Verbindung häufig unterbrochen, wodurch das System in einen Zustand versetzt wird, in dem der VPN-Client den Eindruck hat, dass er noch verbunden ist, aber nicht. Der Client versucht nie, die Verbindung erneut herzustellen, da er der Meinung ist, dass er immer noch verbunden ist, und auch der Nicht-VPN-Verkehr wird blockiert (wie eine Art ungewollter Kill-Schalter). Dies führt zu einer Situation, in der ein unbeabsichtigter Kill-Switch den Remotezugriff auf meinen Computer verhindert.
Ein automatischer Neustart des Computers, wenn das Internet länger als 5 Minuten nicht erreichbar ist, ist mein Endziel, aber ich bin mir nicht sicher, wie ich damit umgehen soll. Ich würde mich freuen, wenn mir jemand helfen könnte, ein Skript zu entwerfen, das den Computer in dieser Situation neu startet. Ich bin mit Cmd- oder Powershell-Skripting nicht sehr vertraut, aber hier ist ein kleiner Pseudocode, der den Prozess veranschaulicht, den ich für das Skript suche, und zwar so, dass er mit den integrierten Tools / Software ausgeführt werden kann, die in meinem Betriebssystem enthalten sind, z. Powershell oder Charge.
// Note- PSEUDO-CODE, NOT A USABLE SCRIPT AS-IS
ping 8.8.8.8 // check for internet connection. 0% packet returns would indicate the computer had probably entered this network lock-up
if pingsReturned == 0
{
wait 5 minutes // in case of temporary disconnect, give the network time to reestablish itself
ping superuser.com // alternate site used to confirm google isn't the only site I can't connect to, i.e. google is down, not my network connectivity
if pingsReturned == 0
shutdown /f /r /t 60 /c "Rebooting due to connection issues."
else
{
exit
}
}
else
{
exit
}
Ich möchte diese Aufgabe als Aufgabe ausführen, die im Taskplaner alle fünf Minuten ausgeführt wird. Ich habe im Internet (und dieser Website speziell) nach Lösungen gesucht, aber keine für Windows gefunden, obwohl ich eine sehr ähnliche Implementierung für Linux-Setups gefunden habe (die zufällig auch Googles DNS als Test verwendet hat, oder vielleicht auch nur eine Auf der Website finden Sie allgemeine Ping-Tests ...).
Antworten:
Ich denke, so etwas sollte den Trick tun
quelle