In diesem Artikel erfahren Sie, wie Sie PowerShell verwenden können, um einen Registry-Wert abzurufen und Einträge in einer Registry mit verschiedenen Methoden abzufragen.
Legen wir los!
Voraussetzungen
Alle Beispiele in diesem Artikel werden mit PowerShell 7.1 durchgeführt, was zum Zeitpunkt der Veröffentlichung des Artikels die neueste Version ist. Sie können auch Windows PowerShell 5.1 verwenden, wenn Sie möchten. Sie sollten auch über grundlegendes Verständnis von PowerShell-Laufwerken verfügen.
Einige Beispiele funktionieren möglicherweise nicht ohne Administratorrechte.
Abrufen von Registry-Schlüsseln und -Werten mit Get-ChildItem
Eine der einfachsten Möglichkeiten, um Registry-Schlüssel und -Werte zu finden, besteht darin, das Get-ChildItem
-Cmdlet zu verwenden. Dies ermöglicht es PowerShell, einen Registry-Wert und mehr durch Aufzählen von Elementen in PowerShell-Laufwerken zu erhalten. In diesem Fall ist das PowerShell-Laufwerk das HKLM-Laufwerk, das durch Ausführen von Get-PSDrive
gefunden wird.
Führen Sie den folgenden Befehl in einer PowerShell-Konsole aus.
Auf dem folgenden Screenshot sehen Sie:
- Den vollständigen Pfad des WindowsUpdate-Registry-Schlüssels
- Den Schlüssel AU
- Die Liste der Registry-Einträge im AU-Schlüssel mit den entsprechenden Werten

Ein schneller Punkt bezüglich des obigen Screenshots. Sie werden möglicherweise feststellen, dass die Ausgabe etwas irreführend ist. Normalerweise repräsentiert die Ausgabe der PowerShell-Konsole Eigenschaften eines Objekts. Get-ChildItem
verhält sich in diesem Fall jedoch anders, da dieses Objekt technisch gesehen keine Eigenschaften hat. Zusätzliche Befehle werden im Hintergrund ausgeführt, um das von Ihnen gesehene Anzeigeformat zu erstellen.
Verwandt: Wie man eine ausstehende Neustartprüfung in der Windows-Registrierung durchführt
Abrufen von Registrierungswerten mit Get-ItemProperty
Fahren wir mit demselben Registrierungsschlüssel wie zuvor fort und verwenden diesmal das Cmdlet Get-ItemProperty
, um die Ausgabe lesbarer zu gestalten.
Die Verwendung von Get-ItemProperty
ist am besten geeignet, um einen Eintragswert zu erhalten, der Schlüssel und deren Werte in der Registrierung abruft. Führen Sie den folgenden Befehl aus:
Im folgenden Screenshot sehen Sie eine Liste der Schlüssel und Werte:
- Für den Registrierungscontainer AU
- PowerShell-bezogene Eigenschaften, die alle mit PS beginnen

Alternativ können Sie auch den Registrierungseintragspfad angeben, um die gleiche Ausgabe etwas schneller unter Verwendung von .NET zu erhalten. Der folgende Befehl verwendet die .NET Registry-Klasse in PowerShell, um einen Registrierungswert abzurufen:
Abrufen von Registrierungswerten mit Get-ItemPropertyValue
Jetzt ist es an der Zeit, sich die Schlüsselwerte anzusehen. Verwenden Sie das Get-ItemPropertyValue
-Cmdlet mit demselben Registrierungscontainer wie zuvor, um den Wert für den Schlüssel NoAutoUpdate
zu überprüfen. Führen Sie den folgenden PowerShell-Befehl aus:
Mit Get-ItemPropertyValue
erhalten Sie eine prägnantere Ausgabe, die nur den Wert und nicht alle anderen Informationen enthält, die Sie zuvor gesehen haben.

Abfragen der Registrierung ohne PS-Laufwerke
In diesem Tutorial haben Sie bisher PS-Laufwerke verwendet, um mit der Registrierung zu arbeiten. Auf diese Weise ist nicht die einzige Möglichkeit; Sie können auch .NET verwenden und Registrierungsinformationen über .NET-Klassen abrufen!
Zum Beispiel müssen Sie möglicherweise PowerShell verwenden, um einen Registrierungswert von HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\ : AutoUpate auf einem Remote-Computer abzurufen.
Dies können Sie mit .NET tun, indem Sie:
- Die Verbindung zur Registrierung auf dem Remote-Computer öffnen.
2. Den spezifischen Registrierungsschlüssel öffnen, den Sie suchen.
3. Die GetValue()
-Methode verwenden, um den Wert des Registrierungswerts innerhalb des Registrierungsschlüssels abzufragen.
Die Verwendung von .NET anstelle von PowerShell-Laufwerken ist etwas schneller und eine einfache Möglichkeit, eine Verbindung herzustellen und PowerShell zum Abfragen von Registrierungsschlüsseln und -werten auf Remote-Computern zu verwenden.
Testen von Registrierungswerten mit Test-Path
Manchmal müssen Sie nur überprüfen, ob ein Registrierungswert vorhanden ist. Dies können Sie mit dem Test-Path
-Cmdlet tun.
Fahren Sie mit dem WindowsUpdate-Container fort und testen Sie, ob der AU-Container vorhanden ist, indem Sie den folgenden PowerShell-Befehl ausführen:
Wenn das Ergebnis True ist, existiert der Schlüssel oder Container. Aber was ist, wenn Sie einen Wert oder Eintrag testen müssen? Erstellen wir eine benutzerdefinierte Funktion für diesen Test:
Mit der benutzerdefinierten Funktion geben Sie einen Pfad und den Namen des Schlüssels oder Containers sowie den Wert, den Sie suchen, ein, und die benutzerdefinierte Funktion gibt True oder False (3) zurück, wie im folgenden Screenshot gezeigt:

Weitere Schritte
Beachten Sie, dass Sie in PowerShell die Befehle Get-ChildItem
, Get-ItemProperty
und Get-ItemPropertyValue
verwenden können, um einen Registry-Wert und Schlüssel abzurufen. Was können Sie noch tun?
Wenn Sie mehr über die Arbeit mit der Registrierung in PowerShell erfahren möchten, schauen Sie sich den Artikel von Microsoft Docs mit dem Titel „Arbeiten mit Registrierungsschlüsseln“ an. Sie finden auch eine großartige Demonstration zum Festlegen von Registrierungswerten im ATA-Blogbeitrag Verwendung von Active Setup: Wie man einen Registrierungswert in allen Benutzerzweigen festlegt.
Source:
https://adamtheautomator.com/powershell-to-get-a-registry-value/