Mobile-Menu

Schlüssel und Werte hinzufügen, anpassen und löschen Registry in der PowerShell verwalten

Von Thomas Joos 4 min Lesedauer

Anbieter zum Thema

Mit PowerShell lassen sich Einträge und Werte in Registry abrufen, setzen und anpassen. In diesem Beitrag gehen wir darauf ein, wie Registry am besten in PowerShell verwaltet und erweitert werden kann.

PowerShell vereinfacht das Datenmanagement in Registry.(Bild:  CleverStock - stock.adobe.com)
PowerShell vereinfacht das Datenmanagement in Registry.
(Bild: CleverStock - stock.adobe.com)

PowerShell bietet eine robuste Plattform für die Interaktion mit Windows-Registry. Wir geben nachfolgend einige Tipps, wie sich Registry in PowerShell verwalten lässt, zum Beispiel für Skripte oder zur Automatisierung.

Einträge in der Registry erstellen und anpassen

Mit dem Cmdlet „New-Item“ gibt es eine einfache und effektive Methode, um neue Schlüssel innerhalb der Registry zu erstellen. Beispielsweise kann mit „New-Item -Path HKCU:\Software\MeinUnternehmen“ ein neuer Schlüssel unter „HKEY_CURRENT_USER\Software\MeinUnternehmen“ angelegt werden. Dies bildet die Grundlage für weitere Konfigurationen und Anpassungen. Zusätzlich ermöglicht „New-ItemProperty“ es, spezifische Werte innerhalb eines Schlüssels hinzuzufügen:

New-ItemProperty -Path 'HKCU:\Software\MeinUnternehmen' -Name 'Einstellung1' -Value 'Wert1' -PropertyType String

Hier wird ein neuer Wert „Einstellung1“ mit dem Inhalt „Wert1“ dem Schlüssel hinzugefügt.

Die Anpassung und die Aktualisierung bestehender Werte sind mit dem Cmdlet „Set-ItemProperty“ genauso unkompliziert. Mit ihm wird der Wert eines bereits bestehenden Eintrags geändert. Der Befehl „Set-ItemProperty -Path 'HKCU:\Software\MeinUnternehmen' -Name 'Einstellung1' -Value 'NeuerWert'“ kann den Wert von „Einstellung1“ auf „NeuerWert“ aktualisieren.

Für das Abfragen von Informationen über Registry-Schlüssel und -Werte stehen die Cmdlets „Get-Item“ sowie „Get-ItemProperty“ zur Verfügung. Diese Werkzeuge sind essenziell, um Einblicke in die aktuelle Konfiguration der Registry zu erhalten und informierte Entscheidungen über anstehende Anpassungen zu treffen. Zum Entfernen unerwünschter oder veralteter Schlüssel sowie Werte dienen „Remove-Item“ und „Remove-ItemProperty“. Mit ihnen werden spezifische Teile der Registry bereinigt, wodurch sie zur Systemoptimierung beizutragen.

Praxis-Tipp: effektive Registry-Verwaltung mit PowerShell-Laufwerken

Nutzer von PowerShell-Laufwerken haben für die effektive Verwaltung von Windows-Registry eine direkte und einfache Methode. Diese Laufwerke, wie „HKCU:“ für den aktuellen Benutzer und „HKLM:“ für die lokale Maschine, ermöglichen eine intuitive Navigation durch die Registry, vergleichbar mit der Arbeit in Dateiverzeichnissen. Durch einfache Befehle wie „cd HKCU:\Software“ lässt sich schnell zu den gewünschten Registry-Schlüsseln navigieren. Die Möglichkeit, Standard-PowerShell-Cmdlets für Operationen in diesen Laufwerken zu verwenden, vereinfacht das Erstellen, Ändern und Löschen von Registry-Einträgen.

Die Kombination der Cmdlets „Get-ChildItem“, „Where-Object“ und „Set-ItemProperty“ konstruiert ein Skript, das effizient durch die Dienste iteriert sowie spezifische Kriterien anwendet. Dies könnte beispielsweise angewendet werden, um den Starttyp mehrerer Dienste systemweit zu ändern. Ein solches Skript sieht so aus:

$pfad = "HKLM:\\SYSTEM\\CurrentControlSet\\Services"Get-ChildItem -Path $pfad | Where-Object { $_.Property -Contains "Start" } | ForEach-Object { Set-ItemProperty -Path $_.PSPath -Name "Start" -Value 4 }

Dieses Skript durchläuft alle Dienste unter dem angegebenen Pfad, sucht nach jenen mit einer „Start“-Eigenschaft und setzt diese auf 4 (deaktiviert), ohne den Nutzer direkt anzusprechen oder eine Liste zu verwenden.

Für das Überwachen von Änderungen an einem spezifischen Registry-Schlüssel kann PowerShell so konfiguriert werden, dass ein Ereignis registriert und eine Aktion ausgelöst werden, sobald Änderungen entstehen. Dies ist besonders nützlich, um sicherheitsrelevante Überwachungen durchzuführen oder Systemkonfigurationen zu kontrollieren. Hierfür wird das Cmdlet „Register-ObjectEvent“ zusammen mit einem Skriptblock verwendet, der bei der Auslösung des Ereignisses definiert, was geschehen soll. So ist ein solches Skript aufgebaut:

$pfad = "HKCU:\\Software\\MeinUnternehmen"$aktion = { Write-Host "Änderung im Registry-Schlüssel festgestellt"}Register-ObjectEvent -InputObject (Get-Item $pfad) -EventName "Changed" -Action $aktion

Das Backup und die Wiederherstellung von Registry-Schlüsseln können mit PowerShell ebenfalls effizient umgesetzt werden. Für das Exportieren von Schlüsseln in eine Datei wird das externe Kommando „reg export“ genutzt. Um ein Backup eines Schlüssels wie „HKCU:\Software\MeinUnternehmen“ zu erstellen, ist folgender Befehl möglich:

$exportPfad = "C:\\Backup\\RegistryBackup.reg"$registryPfad = "HKCU:\\Software\\MeinUnternehmen"reg export $registryPfad $exportPfad

Umgekehrt importiert das Kommando „reg import, eine .reg-Datei und stellt somit Registry-Einstellungen wieder her. Dies ist besonders hilfreich nach fehlerhaften Änderungen oder zur schnellen Verteilung von Konfigurationen über mehrere Maschinen:

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Data-Storage und -Management

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung
$importPfad = "C:\\Backup\\RegistryBackup.reg"reg import $importPfad

Erweiterte Registry-Management-Szenarien mit PowerShell

Für tiefgehende Anpassungen und Automatisierung von Verwaltungsprozessen bieten PowerShell-Skripte weiterführende Lösungen. Eines davon ist die Automatisierung der Bereinigung veralteter oder nicht mehr benötigter Registry-Einträge. Dieser Vorgang optimiert die Systemleistung und minimiert potenzielle Sicherheitsrisiken.

Ein Beispiel für ein Skript, das spezifische Registry-Schlüssel durchsucht und diese auf Basis bestimmter Kriterien entfernt, sieht folgendermaßen aus:

$zielPfad = "HKCU:\\Software\\AlteAnwendungen"Get-ChildItem -Path $zielPfad -Recurse | Where-Object { $_.LastWriteTime -lt (Get-Date).AddMonths(-6) } | Remove-Item -Force

Dieses Skript identifiziert und entfernt alle Unter-Schlüssel innerhalb des angegebenen Pfades, die seit mehr als sechs Monaten nicht modifiziert wurden. Hierdurch erfolgt eine effektive Bereinigung alter oder unnötiger Einträge.

Eine weitere Möglichkeit ist die Verwendung von PowerShell, um systemweite Einstellungen über Registry-Änderungen auf allen Maschinen innerhalb einer Domäne anzupassen. Durch Kombinieren von PowerShell-Remoting-Funktionen mit Registry-Management-Cmdlets lässt sich ein Skript erstellen, das zentralisierte Änderungen effizient durchführt:

Invoke-Command -ComputerName (Get-ADComputer -Filter *).Name -ScriptBlock { Set-ItemProperty -Path "HKLM:\\System\\CurrentControlSet\\Control\\Session Manager\\Memory Management" -Name "LargeSystemCache" -Value 1} -Credential (Get-Credential)

Dieser Befehl setzt die „LargeSystemCache“-Einstellung auf allen Computern in der Active-Directory-Domäne. Das optimiert die Leistung von Servern, die als Dateiserver agieren.

Aktuelles eBook

Storage-Software als Effizienzbooster

eBook Storage-Software als Effizienzbooster
eBook „Storage-Software als Effizienzbooster“
(Bild: Storage-Insider)

Mit der geeigneten Storage-Software kann sich ein Unternehmen einen Effizienzbooster ins Haus holen oder in der Cloud abonnieren. Dieser Booster steigert nicht nur die Performance der geschäftskritischen Anwendungen, sondern optimiert auch die Kosten der bereits installierten Speichersysteme.

Die Themen im Überblick:

  • Herausforderungen eines modernen Speichersystems
  • Methoden und Technologien effizienter Speichersysteme
  • Effizienter Speicher mit Pure Storage, AWS, Cohesity und Dell

(ID:50038972)