У меня есть следующий сценарий:

ПК1 (Windows 10 Home) подключен к локальной сети (в настоящее время используется динамический IP-адрес)

Если я пытаюсь использовать статический IP-адрес, соединение иногда прерывает половину соединения (т. Е. Я могу проверить связь, но не в том случае, если это произойдет - также я не могу выполнить SSH или сделать что-либо, что включает получение данных). Связь восстанавливается, когда интерфейс отключен, затем снова включается. Для получения дополнительной информации см. Предыдущий вопрос: Windows случайным образом сбрасывает половину соединения

Я ищу скрипт, который обнаружит это состояние, а затем запустит мой скрипт сброса. У меня есть полный доступ администратора ко всему.

Блок-схема в идеале должна выглядеть примерно так:

блок-схема

1 ответ1

0

Daniel,

следующий код будет пинговать определенный адрес для вас, если этот адрес не доступен с помощью ping. Сетевой адаптер будет сброшен

Измените nnnn на нужный IP-адрес, который должен быть проверен, и переименуйте «Имя соединения» в имя интерфейса используемого сетевого адаптера. Пример: «Ethernet»

$IpAdress = "192.168.0.1"
$ConnectionName = "ethernet"
$Testconnection = test-connection $IpAdress -count 1 -quiet

if(!$Testconnection)
{
 $nic = gwmi win32_networkadapter -filter "NetConnectionID='$ConnectionName'"
  $nic.disable()
  write-host "Disabling Network interface '$ConnectionName''"
  sleep 5
  $nic.enable()
  write-host "Enabling Network interface '$ConnectionName''"
}

Попробуйте настроить запланированное задание, чтобы скрипт запускался каждый раз X, чтобы проверить подключение адаптера. Или просто запустите скрипт с powershell, когда вы заметите, что соединение потеряно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .