Мы раньше называли компьютеры в честь озер, но у меня закончились названия озер. Я затем начал называть их в честь меток (мы используем исключительно машины Dell), но это стало глупым быстро.
Мы теперь называем их с инициалами компании и abrief описанием машины, такой как
Единственная вещь состоит в том, что это не является очень дружественным!
Я подозреваю, что диалоговое окно не отображается netsh, а скорее операционной системой, когда это обнаруживает конфликт IP-адреса.
Вы могли попытаться проверить с помощью ping-запросов желаемый IP-адрес, и если никакой ответ не получен, предположите, что адрес свободен и установил его с помощью netsh. Следующий vbscript обеспечивает пример:
Set oShell = CreateObject("WScript.Shell")
Set oExec = oShell.Exec("ping -n 2 -w 2000 192.168.2.3")
sResult = LCase(oExec.StdOut.ReadAll)
If InStr(sResult, "reply from") Then
WScript.Echo "IP address is in use"
Else
oShell.Run "netsh interface ip set address name=" _
& Chr(34) & "Local Area Connection" _
& Chr(34) & " static 192.168.2.3 255.255.255.0 192.168.2.1 1", 1, 1
End If
Сценарий отправляет 2 пакета ping, на расстоянии в 2 секунды, и проверяет на ответ, который включает "ответ от". Вы могли даже настроить сценарий, чтобы увеличить IP-адрес и попробовать еще раз, пока неиспользованный адрес не найден.
Вы могли также попробовать что-то подобное использование nslookup, поскольку ping будет только работать, если компьютер с конфликтующим IP будет в настоящее время включаться.