Как избежать диалогового окна при выполнении netsh

Мы раньше называли компьютеры в честь озер, но у меня закончились названия озер. Я затем начал называть их в честь меток (мы используем исключительно машины Dell), но это стало глупым быстро.

Мы теперь называем их с инициалами компании и abrief описанием машины, такой как

  • csphyshost01 как хост virtualserver
  • csvm01 как виртуальный сервер instnace
  • csdev01 как машина разработки
  • csman01 как машина управления
  • cssales01 как машина продаж

Единственная вещь состоит в том, что это не является очень дружественным!

0
задан 2 November 2009 в 22:22
2 ответа

Лучшим способом я нашел, чтобы сделать, это должно было ожидать определенного количества времени и затем уничтожить процесс netsh, если он не завершился. Я сделал это путем порождения отдельного процесса для netsh от C#.

0
ответ дан 4 December 2019 в 23:20

Я подозреваю, что диалоговое окно не отображается 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 будет в настоящее время включаться.

1
ответ дан 4 December 2019 в 23:20
  • 1
    Ping isn' t достаточно надежный для меня. Много устройств может отказаться от ping все еще с помощью IP. –  TimK 14 November 2009 в 15:45

Теги

Похожие вопросы