per Gruppenrichtlinie Registry-Einträge löschen / schreiben (inkl. Logdatei)


sehr verwirrender ArtikelNaja, ganz OKbrauchbar für Checker...guter Artikelsehr guter Artikel - Danke

Hier 3 Scripts, die Registry-Keys löschen.

Script 1: mehrer definierte Keys werden gelöscht:

Damit es nur ein mal je Client ausgeführt wird und man kontrollieren kann, ob das Script erfolgreich umgesetzt wurde, wird am Client eine Logdatei angelegt

Aufbau des Scripts:
- Es wird der Pfad zur Logdatei definiert (C:\registry.txt)
- Wenn diese noch nicht vorhanden ist, dann werden in diesem Beispielscript 3
Registry-Keys definiert (… Beispielhaft wurden Keys gewählt, die Vista / Windows 7
anlegt, um damit Login-Probleme zu verursachen… ;-)
- mit einer FOR/NEXT – Schleife werden die 3 Keys gelöscht
- es wird die Logdatei angelegt; sie enthält den Text “registry wurde verändert am
xx. xx. xxxx tt:mm”

Was muss vom Administrator in diesem Script geändert werden?

Zeile 5 » der Pfad, in dem die Logdatei am Client gespeichert wird
Zeile 15 » der entsprechende Registry-Key

Verwendung innerhalb einer Gruppenrichtlinie:

Script entsprechend verändern (dh, den Key anpassen) und als Startscript in der Computerkonfiguration (!) in der jeweiligen OU anwenden!
[dadurch wird das Script mit dem Systemkonto ausgeführt! Würde das Script als Startscript in der Benutzerkonfiguration hinterlegt werden, würden dem jeweiligen User die Rechte fehlen, die Registry zu ändern --> das Script würde NICHT angewendet werden!]

Download –> mehrere_Registry_key_loeschen.vbs

'############## Edi Pfisterer -- 28/3/2011 -- mehrere RegistryKeys löschen ##############

on Error resume next

logdatei = "c:\registry.txt"       ' Pfad zur Logdatei

Set fs = CreateObject("Scripting.FileSystemObject")

If NOT fs.FileExists (logdatei) then

'############################ registryKeys löschen ############################'

Set WshShell = WScript.CreateObject("WScript.Shell")

key = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\"

dim ergaenzung(3)

ergaenzung(1)= "S-1-5-21-3195515648-4063550529-2982841958-3286.bak" ' SSID von Lehrer 1

ergaenzung(2)= "S-1-5-21-3195515648-4063550529-2982841958-3296.bak" 'SSID von Lehrer 2

ergaenzung(3)= "S-1-5-21-3195515648-4063550529-2982841958-3304.bak" ' SSID von Lehrer 3

        for i = 1 to 3

        WshShell.RegDelete key & ergaenzung(i) & "\"

        next

'##########################   LOGDATEI schreiben ########################

    Set a = fs.CreateTextFile(logdatei, True)

    a.WriteLine("registry wurde verändert am " & now())

    a.Close

END IF

 Script 2: EIN Key wird gelöscht, am Client wird eine Logdatei angelegt

Falls nur 1 Registry Key gelöscht werden sollte, kann alternativ folgender Quelltext kopiert und als 1_registry_key_loeschen.vbs gespeichert werden:

'############## Edi Pfisterer -- 28/3/2011 -- einen RegistryKey löschen ##############

on Error resume next

logdatei = "c:\registry.txt"       ' aenderbar: Pfad zur Logdatei

Set fs = CreateObject("Scripting.FileSystemObject")

If NOT fs.FileExists (logdatei) then

'############################ registryKeys löschen ############################'

Set WshShell = WScript.CreateObject("WScript.Shell")

key = "HKEY_LOCAL_MACHINE\...\..." 

        WshShell.RegDelete key  & "\"

'##########################   LOGDATEI schreiben ########################

    Set a = fs.CreateTextFile(logdatei, True)

    a.WriteLine("der Key " & key & " wurde gelöscht am " & now())

    a.Close

END IF

 

Script 3: automatisiertes Löschen von Keys, die eine bestimmte Eigenschaft aufweisen

Es werden alle im Pfad “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList” befindlichen Schlüssel gelöscht, die auf inkonsistente Profile hinweisen, und daher umbenannt wurden in
S- [...]- SSID.bak
zusätzlich werden – falls noch vorhanden – die zugehörigen Profile umbenannt!
–> Download: hier

weiterführende Informationen:

andere Methoden :
WshShell.RegWrite --> Registry Key eintragen
[zB: WshShell.RegWrite "HKCU\Software\ACME\FortuneTeller\", 1, "REG_BINARY"]
WshShell.RegDelete --> Registry Key löschen
WshShell.RegRead --> Registry Key lesen
BEACHTE: der Backslash am Ende des Keys [im Beispielscript Zeile 27] - ohne den geht NICHTS!!!
Zum weiterlesen: Reg Delete Method

This entry was posted in Gruppenrichtlinie, Registry, VBScript, Windows 7. Bookmark the permalink.

Hinterlasse eine Antwort