Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 72
Благодарности: 27

Профиль | Сайт | Отправить PM | Цитировать


Вот нашел сценарий, который включает DHCP:

Код: Выделить весь код
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 компьютера, которому меняем конфигурацию

Код: Выделить весь код
' Исходные данные
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"

-------
Статьи для системных инженеров http://www.sysengineering.ru


Последний раз редактировалось vitaliyboch, 18-08-2009 в 11:34.


Отправлено: 11:23, 18-08-2009 | #4