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


Ein Hinweis an dieser Stelle in eigener Sache:
Nehmen Sie sich bitte etwas Zeit und werfen einen Blick auf unser Tool "ADMINOMAT",
das aus unseren vielen Erfahrungen mit dem Thema Netzwerk und Active Directory im Laufe der letzten Jahre entstand

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

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht.


*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>