Problem in VBS Script
Hallo
Ich möchte mit folgendem VBS-Script die Registry unserer Clients nach dem Vorhandensein eines gewissen Werts überprüfen und diese gegebenenfalls mutieren. Die Suchfunktion funktioniert, nur die Befehle für die Schreib bzw. Löschvorgänge scheitern. Kann mir jemand sagen was in dem Teil noch nicht stimmt? Das Script scheitert bei der Variablendeklaration auf der 3. Zeile, welche für die Kommandos in der IF Schleife gilt. Was mache ich falsch?
Const HKEY_LOCAL_MACHINE = &H80000002
Dim WSHShell As Object
Set WSHShell = CreateObject ("WScript.Shell")
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & _
strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Network Associates\ePolicy Orchestrator\Agent"
strValueName = "MOD"
objRegistry.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
If IsNull(strValue) Then
Wscript.Echo "MCAfee ID ist unmodifiziert.(Key nicht vorhanden)"
WshShell.RegWrite "SOFTWARE\Network Associates\ePolicy Orchestrator\Agent", "MOD" , "REG_SZ" , "Dummykey"
WshShell.RegDelete "SOFTWARE\Network Associates\ePolicy Orchestrator\Agent", "AgentGUID"
Else
Wscript.Echo "MCAfee ID ist modifiziert. (Key vorhanden)"
End If
Vielen Dank im Voraus!
Ich möchte mit folgendem VBS-Script die Registry unserer Clients nach dem Vorhandensein eines gewissen Werts überprüfen und diese gegebenenfalls mutieren. Die Suchfunktion funktioniert, nur die Befehle für die Schreib bzw. Löschvorgänge scheitern. Kann mir jemand sagen was in dem Teil noch nicht stimmt? Das Script scheitert bei der Variablendeklaration auf der 3. Zeile, welche für die Kommandos in der IF Schleife gilt. Was mache ich falsch?
Const HKEY_LOCAL_MACHINE = &H80000002
Dim WSHShell As Object
Set WSHShell = CreateObject ("WScript.Shell")
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & _
strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Network Associates\ePolicy Orchestrator\Agent"
strValueName = "MOD"
objRegistry.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
If IsNull(strValue) Then
Wscript.Echo "MCAfee ID ist unmodifiziert.(Key nicht vorhanden)"
WshShell.RegWrite "SOFTWARE\Network Associates\ePolicy Orchestrator\Agent", "MOD" , "REG_SZ" , "Dummykey"
WshShell.RegDelete "SOFTWARE\Network Associates\ePolicy Orchestrator\Agent", "AgentGUID"
Else
Wscript.Echo "MCAfee ID ist modifiziert. (Key vorhanden)"
End If
Vielen Dank im Voraus!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 91735
Url: https://administrator.de/contentid/91735
Ausgedruckt am: 26.11.2024 um 08:11 Uhr
5 Kommentare
Neuester Kommentar
Also 1.
So solten die Zeilen RegRead und RegWrite funktionieren
2. Diese ändern die lokale Registry.
Also die registry des jeweiligen Clients auf dem das Skript gerade ausgefürt wird.
Willst Du also das Skript lokal ausführen und remote auf einem Client die Reg. bearbeits solte das so aussehen: (ungetestet)
Diese Seite dürfte dir weiterhelfen: http://www.microsoft.com/technet/scriptcenter/scripts/os/registry/defau ...
Gruß L.
So solten die Zeilen RegRead und RegWrite funktionieren
..
WshShell.RegWrite "HKML\SOFTWARE\Network Associates\ePolicy Orchestrator\Agent\MOD","Dummykey"
WshShell.RegDelete "HKML\SOFTWARE\Network Associates\ePolicy Orchestrator\Agent\AgentGUID"
...
2. Diese ändern die lokale Registry.
Also die registry des jeweiligen Clients auf dem das Skript gerade ausgefürt wird.
Willst Du also das Skript lokal ausführen und remote auf einem Client die Reg. bearbeits solte das so aussehen: (ungetestet)
..
objRegistry.SetStringValue HKEY_LOCAL_MACHINE,"SOFTWARE\Network Associates\ePolicy Orchestrator\Agent\","MOD","Dummykey"
objRegistry.DeleteValue HKEY_LOCAL_MACHINE,"SOFTWARE\Network Associates\ePolicy Orchestrator\Agent\","AgentGUID"
...
Diese Seite dürfte dir weiterhelfen: http://www.microsoft.com/technet/scriptcenter/scripts/os/registry/defau ...
Gruß L.