среда, 6 марта 2013 г.

Изменение DNS


'15/02/2013 ITVolna
'Скрипт читает файл со списком пк, имя пк передается в функцию ipfunc
'которая назначает данному компьютеру dns сервера (первичный и вторичный)
'Т.о списку ПК присваивается заданные dns параметры
On Error Resume Next 'Пропуск ошибок
dim readfile, readpc, i
set WshShell = CreateObject("WScript.Shell")
set WshNet = WScript.CreateObject("WScript.Network")
Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName
set fso=CreateObject("Scripting.FileSystemObject")
'strComputer = "."

If fso.FileExists("c:\temp\scr\pc.txt") Then 'Файл со списком ПК
set readfile = FSO.OpenTextFile("c:\temp\scr\pc.txt",1) 'Чтаем файл
While Not readfile.AtEndOfStream 'Читаем построчно, пока не конец файла
    readpc=readfile.ReadLine
strComputer=readpc
ipfunc(readpc) 'Вызываем функцию назначения DNS
Wend
else WScript.Quit 'выход
End If

'Объявляем функцию
Function ipfunc(readpc)
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNetCards = objWMIService.ExecQuery _
    ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
For Each objNetCard in colNetCards
    arrDNSServers = Array("192.168.5.2" , "192.168.5.3")
    objNetCard.SetDNSServerSearchOrder(arrDNSServers)
Next
End Function