Вот нашел сценарий, который включает DHCP:
Код:
![Выделить весь код](images/misc/selectcode.png)
sComputer = "ip_адрес_или_имя_компьютера"
' подключение к компьютеру
Set oWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")
' получение конфигурации сетевого адаптера, где не включен DHCP
Set oNetAdapters = oWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
' включение DHCP
For Each oNetAdapter In oNetAdapters
errEnable = oNetAdapter.EnableDHCP()
Next
' результат операции
msgbox "Error code: " & errEnable
А вот такой скрит заменяет один статический или динамический IP на другой статический IP.
Скрипт можно использовать для перехода с DHCP на статику, указав в исходных данных:
old_ip_address=new_ip_address=текщий IP компьютера, которому меняем конфигурацию
Код:
![Выделить весь код](images/misc/selectcode.png)
' Исходные данные
strComputer = "old_ip_address"
sSubnetMask = "old_subnet_mask"
sNewIPAddress = "new_ip_address"
sWinsSecondaryServer = "second_wins_server"
' Поиск компьютера в сети
set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
set colItems = objWMIService.ExecQuery ("Select * From Win32_NetworkAdapter " & "Where NetConnectionID = " & "'Local Area Connection'")
for each objItem in colItems
strMACAddress = objItem.MACAddress
next
set colItems = objWMIService.ExecQuery ("Select * From Win32_NetworkAdapterConfiguration WHERE MACAddress = '" & strMACAddress & "'")
' получение текущих параметров сетевого адаптера
dim aDNSServer()
dim aDefaultIPGateway()
dim aGatewayMetric()
for each oItem in colItems
for each IPAddress in oItem.IPAddress
sIPAddress = IPAddress
next
if sSubnetMask = "" then
for each IPSubnet in oItem.IPSubnet
sSubnetMask = IPSubnet
next
end if
iCounter = 0
redim aDNSServer(0)
for each DNSServer in oItem.DNSServerSearchOrder
redim preserve aDNSServer (iCounter)
aDNSServer(iCounter) = DNSServer
iCounter = iCounter + 1
next
sWINSPrimaryServer = oItem.WINSPrimaryServer
iCounter = 0
redim aDefaultIPGateway(0)
redim aGatewayMetric(0)
for each DefaultIPGateway in oItem.DefaultIPGateway
redim preserve aDefaultIPGateway (iCounter)
aDefaultIPGateway(iCounter) = DefaultIPGateway
redim preserve aGatewayMetric(iCounter)
aGatewayMetric(iCounter) = iCounter + 1
iCounter = iCounter + 1
next
exit for
next
' Составление новых параметров сетевого адаптера
aNewIPAddress = Array(sNewIPAddress)
aSubnetMask = Array(sSubnetMask)
for each DNSServer in aDNSServer
sDNSServer = sDNSServer & DNSServer & ", "
next
for each DefaultIPGateway in aDefaultIPGateway
sDefaultIPGateway = DefaultIPGateway
next
' Вывод статистики по текущей и по будущей конфигурации сетевого адаптера
msgbox "Current IP address: " & sIPAddress & vbCrLf & "New IP address:" & sNewIPAddress & vbCrLf _
& "Subnet mask is " & sSubnetMask & vbCrLf _
& "Default Gateway: " & sDefaultIPGateway & vbCrLf _
& "DNS servers: " & sDNSServer & vbCrLf _
& "WINS Primary Server: " & sWINSPrimaryServer
' Установка нового IP адреса
if sNewIPAddress <> "" then
on error resume next
For Each oNetAdapter in colItems
errWINS = oNetAdapter.SetWINSServer(sWINSPrimaryServer, sWinsSecondaryServer)
errDNS = oNetAdapter.SetDNSServerSearchOrder(aDNSServer)
errGateways = oNetAdapter.SetGateways(aDefaultIPGateway, aGatewayMetric)
errEnable = oNetAdapter.EnableStatic(aNewIPAddress, aSubnetMask)
exit for
Next
end if
' результат операции
msgbox errWINS + errDNS + errGateways + errEnable & " errors"