Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Problem in VBS Script

Frage Entwicklung

Mitglied: RetroDude

RetroDude (Level 1) - Jetzt verbinden

10.07.2008, aktualisiert 14:27 Uhr, 6072 Aufrufe, 5 Kommentare

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!
Mitglied: Logan000
10.07.2008 um 12:17 Uhr
Moin

Du kannst in vbs keine Variablentypen deklarieren.
Versuchs so:
01.
Const HKEY_LOCAL_MACHINE = &H80000002 
02.
Dim WSHShell  
03.
Set WSHShell = CreateObject ("WScript.Shell") 
04.
strComputer = "." 
05.
...
Gruß L.
Bitte warten ..
Mitglied: RetroDude
10.07.2008 um 12:44 Uhr
Danke! Nun habe ich noch ein weiteres Problem. Er meckert auch noch bei der WshShell.RegWrite Zeile. "Falsche Anzahl an Argumenten oder ungültige Eigenschaftszuweisung 'RegWrite' Code 800A01C2 " Ich möchte mit diesen Befehlen die Registry der Clients modifizieren. Was mache ich da noch falsch?
Gruss

angepasster Code:
Const HKEY_LOCAL_MACHINE = &H80000002

Dim WSHShell
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 VOL-GS-IT"
WshShell.RegDelete "SOFTWARE\Network Associates\ePolicy Orchestrator\Agent", "AgentGUID"
Else
Wscript.Echo "MCAfee ID ist modifiziert. (Key vorhanden)"
End If
Bitte warten ..
Mitglied: Logan000
10.07.2008 um 14:00 Uhr
Also 1.
So solten die Zeilen RegRead und RegWrite funktionieren
01.
.. 
02.
WshShell.RegWrite "HKML\SOFTWARE\Network Associates\ePolicy Orchestrator\Agent\MOD","Dummykey" 
03.
WshShell.RegDelete "HKML\SOFTWARE\Network Associates\ePolicy Orchestrator\Agent\AgentGUID"  
04.
...
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)
01.
.. 
02.
objRegistry.SetStringValue HKEY_LOCAL_MACHINE,"SOFTWARE\Network Associates\ePolicy Orchestrator\Agent\","MOD","Dummykey" 
03.
objRegistry.DeleteValue HKEY_LOCAL_MACHINE,"SOFTWARE\Network Associates\ePolicy Orchestrator\Agent\","AgentGUID" 
04.
...
Diese Seite dürfte dir weiterhelfen: http://www.microsoft.com/technet/scriptcenter/scripts/os/registry/defau ...

Gruß L.
Bitte warten ..
Mitglied: RetroDude
10.07.2008 um 14:11 Uhr
Danke, habs doch noch rausgefunden. Verwende Variante 2. Dies funktioniert lokal. Nur noch ne kleine Frage. Was bedeutet der Punkt in strComputer = "." ? Verweist dies auf localhost? Kann ich den durch Hostnamen ersetzen und so den Script remote einsetzen?

Vielen Dank soweit!

Gruss
Bitte warten ..
Mitglied: Logan000
10.07.2008 um 14:27 Uhr
Was bedeutet der Punkt in strComputer = "." ? Verweist dies auf localhost?
Ja.
Kann ich den durch Hostnamen ersetzen und so den Script remote einsetzen?
Ja.

Gruß L.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

VB for Applications
gelöst VBS Script kann Prgramm nicht starten (15)

Frage von C.Boerner zum Thema VB for Applications ...

Windows Server
Aufgabenplanung bringt bei VBS Script immer 0x41301 (14)

Frage von 116480 zum Thema Windows Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...