Давайте предположим, что у меня есть ПК с окнами. У каждого из них есть только 1 подключение по локальной сети, но я не знаю полного имени. Можно ли создать общий скрипт для изменения IP-адреса для этих ПК? Я пытаюсь использовать netsh, но, как я уже сказал, я не знаю полного имени соединения, которое требуется для netsh. (IP-адрес, шлюз по умолчанию, DNS-сервер - все они известны и должны находиться внутри скрипта, при возможности должно быть обнаружено только имя соединения).
1 ответ
0
Посмотрите на Powershell:
$activeNICs = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE
# filter this more until you have the NIC that you really need
Foreach($NIC in $activeNICs) {
$ip = ($NIC.IPAddress[0])
$gateway = $NIC.DefaultIPGateway
$subnet = $NIC.IPSubnet[0]
$dns = $NIC.DNSServerSearchOrder
$NIC.EnableStatic($ip, $subnet)
$NIC.SetGateways($gateway)
$NIC.SetDNSServerSearchOrder($dns)
$NIC.SetDynamicDNSRegistration("FALSE")
}
Просто измените его, чтобы включить ваши конкретные настройки и удалите то, что вам не нужно.
Вы можете создавать и редактировать скрипты в Powershell ISE (ищите ise в меню Пуск). Как только все заработает, сохраните его с расширением .ps1. Вы можете запустить его с
powershell -executionpolicy bypass C:\path\to\script.ps1
Вот статья Microsoft, посвященная этой теме: http://blogs.technet.com/b/danstolts/archive/2012/01/31/using-powershell-to-get-or-set-networkadapterconfiguration-view-and-change -network-настройка, включая-DHCP-DNS-IP-адрес и-более-динамико-и-статический шаг за step.aspx