Dobrý den, potřeboval bych poradit s úpravou scriptu, jeho cílem je povolení DHCP na síťové kartě. Přiložený kód funguje bezproblémů pod WinXP, nepodařilo se mi najít příčinu nefunkčnosti pod Win vista a Win7.
ConfirmDelete = MsgBox ("Tento program změní nastavení Vašeho síťového adaptéru na DHCP. Opravdu chcete pokračovat?", _
VbYesNo OR VBDefaultButton1, "Upozornění")
If ConfirmDelete = VbNo then
Wscript.Quit
End If
'set variable to computer ID
strComputer = "."
lsComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
'load configuration all adapter where IP runnig
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
'variable settings by next list
'numpasstest - test pass
numpasstest = 0
For Each objNetAdapter in colNetAdapters
'load IP address of each adapter
if Not IsNull(objNetAdapter.IPAddress) then
for i=LBound(objNetAdapter.IPAddress) to UBound(objNetAdapter.IPAddress)
IP_Address = objNetAdapter.IPAddress(i)
next
'compare IP address
If IP_Address <> "0.0.0.0" Then
errEnable = objNetAdapter.EnableDHCP()
errEnable2 = objNetAdapter.SetDNSServerSearchOrder()
If (errEnable = 0) or (errEnable2 = 0) Then
RemoveGTW lsComputer, objNetAdapter.SettingID
WScript.Echo "Změna nastavení byla úspěšně provedena! Děkujeme za spolupráci."
numpasstest = 1
Else
WScript.Echo "Změna nastavení se nezdařila. Pravděpodobně používáte verzi Windows vista, nebo Windows 7. Použijte prosím návod na informační stránce."
numpasstest = 1
End If
End If
End if
Next
if numpasstest = 0 then
WScript.Echo "Nepodařilo se rozpoznat síťové adaptéry. Pravděpodobně používáte verzi Windows vista, nebo Windows 7. Použijte prosím návod na informační stránce."
end if
Sub RemoveGTW (lsComputer, lsNicSid)
Const HKEY_LOCAL_MACHINE = &H80000002
arrStringValues = Array()
strEntryName = "DefaultGateway"
lsStrWMI = "winmgmts:{impersonationLevel=impersonate}!\\" & lsComputer & "\root\default:StdRegProv"
Set objReg=GetObject(lsStrWMI)
strKeyPath = "SYSTEM\CurrentControlSet\Services\" & lsNicSid & "\Parameters\Tcpip\"
objReg.SetMultiStringValue HKEY_LOCAL_MACHINE,strKeyPath, strEntryName,arrStringValues
' Wscript.echo strKeyPath
strKeyPath = "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\" & lsNicSid
objReg.SetMultiStringValue HKEY_LOCAL_MACHINE,strKeyPath, strEntryName,arrStringValues
End Sub
Díky za radu
|