Wie lese ich Werte von Registrierungsschlüsseln?
Weiß jemand, wie man Registrierungsschlüsselwerte in PowerShell ausliest? Die entsprechende Anfrage in CMD ist auf dem Bild zu sehen.
3 answers
Get-ChildItem ist das zu verwendende, und ein Quickie wäre:
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion'
Weitere Beispiele hier: https://msdn.microsoft.com/en-us/powershell/scripting/getting-started/cookbooks/working-with-registry-keys
Wenn Sie einen bestimmten Schlüsselwert erhalten möchten:
$val = (Get-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName').ComputerName
Und wie man entsprechend setzt/editiert https://blogs.technet.microsoft.com/heyscriptingguy/2015/04/02/update-or-add-registry-key-value-with-powershell/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-08-24 10:53:37
Get-ItemPropertyValue
Verwenden Sie für Registrierungsvorgänge:
-
Get-ItemProperty
undGet-ItemPropertyValue
zum Lesen von Registrierungswerten und Daten -
Get-Item
zum Abrufen von Registrierungsschlüsseln und Unterschlüsseln (jedoch nicht zum Lesen von Registrierungswerten und-daten) -
Get-ChildItem
um Unterschlüssel innerhalb von Schlüsseln und Bienenstöcken aufzulisten - Verwenden Sie optional
New-PSDrive
, um Registrierungslaufwerke zu erstellen (standardmäßig sind nur HKCU und HKLM vorhanden). Hinweis Sie können auch lange Form ohne Montage verwenden (weitere Details unten)
Weitere Informationen finden Sie unter Registrierungsanbieter.
Beispiel
Wenn ich Ihr Beispiel als Ausgangspunkt verwende, bei dem der Registrierungsstammschlüssel HKEY_USERS verwendet wird, suche ich nach der Farbe Menüleiste, da der Schlüssel, den Sie hatten, auf meinem System nicht verfügbar war.
CMD
reg query "HKEY_USERS\.DEFAULT\Control Panel\Colors" /v MenuBar
PowerShell
Mit Get-ItemPropertyValue
:
PS C:\> Get-ItemPropertyValue 'Registry::HKEY_USERS\.DEFAULT\Control Panel\Colors' -Name MenuBar
240 240 240
Mit Get-ItemProperty
:
PS C:\> (Get-ItemProperty 'Registry::HKEY_USERS\.DEFAULT\Control Panel\Colors').MenuBar
240 240 240
Verwenden von New-PSDrive
zum Mounten von HKEY_USERS als HKU:
PS C:\> New-PSDrive -PSProvider Registry -Root HKEY_USERS -Name HKU
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
HKU Registry HKEY_USERS
PS C:\> Get-ItemPropertyValue 'HKU:\.DEFAULT\Control Panel\Colors' -Name MenuBar
240 240 240
PS C:\>
Dokumentation
Die Registrierung ist in Schlüssel, Unterschlüssel und Einträge unterteilt. Für mehr informationen zur Registrierungsstruktur finden Sie unter Struktur der Registrierung.
In einem Registry Laufwerk ist jeder Schlüssel ein Container. Ein Schlüssel kann jede enthalten anzahl der Schlüssel. Ein Registrierungsschlüssel, der einen übergeordneten Schlüssel hat, heißt a unterschlüssel. Sie können
Get-ChildItem
verwenden, um Registrierungsschlüssel anzuzeigen undSet-Location
um zu einem Schlüsselpfad zu navigieren.Registrierungswerte sind Attribute eines Registrierungsschlüssels. In der Registrierung daher werden sie Item Properties genannt. Ein Registrierungsschlüssel kann beides haben untergeordnete Schlüssel und Elementeigenschaften.
...
Jeder Registrierungsschlüssel kann auch Unterschlüssel haben. Wenn Sie Get-Item für einen Registrierungsschlüssel verwenden, werden die Unterschlüssel nicht angezeigt. Das Cmdlet
Get-ChildItem
zeigt Ihnen untergeordnete Elemente des Schlüssels "Spooler", einschließlich der Eigenschaften jedes Unterschlüssels. Die Eigenschaften der übergeordneten Schlüssel werden bei Verwendung vonGet-ChildItem
nicht angezeigt.
Von Get-Item:
Dieser Befehl zeigt den Inhalt der Datei an.PowerShell-Registrierungsschlüssel. Sie können dieses Cmdlet mit dem PowerShell-Registrierungsanbieter verwenden, um Registrierungsschlüssel und Unterschlüssel abzurufen, aber Sie müssen das Cmdlet
Get-ItemProperty
verwenden, um die Registrierungswerte und-daten abzurufen.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-09-19 04:10:40
Dieses Format, während sehr ähnlich kann auch verwendet werden:
$username = Get-ItemProperty -path "HKCU:\Volatile Environment"
, das ein Objekt erstellt. Die Eigenschaften können aufgerufen werden mit:
$username.username
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-09-07 19:12:46