Однажды наши виртуальные Windows сервера стали терять сеть. Проблему удалось выявить с сетевыми адаптерами VMware E1000. Примечательно, что в Ubuntu эти сетевухи работают без нареканий, а вот в Windows Server 2012 R2 — сеть иногда зависала. Проблему удалось устранить заменой сетевух на vmxnet3, но было несколько серверов, которые нельзя было трогать. Вот для них и пришлось накатать BAT скрипт для автоматического передёргивания сети.
Скрипт автоматически запускали в шедулере раз в 15 минут. Решение временное, но нам помогло спокойно спать по ночам. После перехода на vmxnet3 просто избавились от него.
Все IP адреса изменены, совпадения случайны. Принцип действия простой, если ни один из трёх серверов не пингуется, то сеть с названием THISISNET передёргивается.
@echo off
rem server1
set s1=10.10.20.10
rem server2
set s2=10.10.21.10
rem server3
set s3=10.10.22.10
ping -n 1 %s1% | find "TTL=" > nul
if %errorlevel%==1 (
@ping localhost -w 1000 -n 600 > nul
ping -n 1 %s1% | find "TTL=" > nul
if %errorlevel%==1 (
ping -n 1 %s2% | find "TTL=" > nul
if %errorlevel%==1 (
ping -n 1 %s3% | find "TTL=" > nul
if %errorlevel%==1 (
netsh interface set interface name = THISISNET admin = DISABLED
@ping localhost -w 1000 -n 5 > nul
netsh interface set interface name = THISISNET admin = ENABLED
)
)
)
)
P.S. - решение заработало также и на Windows 10.