Zapnutí DHCP pod Win vista   otázka

VB.NET

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

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak první na co se zeptám: Pod jakým účtem běží daný skript (členství v Administrators?) a je vypnuté UAC?

nahlásit spamnahlásit spam -2 / 2 odpovědětodpovědět

Uživatelský účet je v Administrators a UAC je také vypnuté.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback