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.

äquivalent in CMD

Author: DavidPostill, 2016-08-24

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/

 6
Author: Andy,
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 und Get-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

Von Registrierungsanbieter:

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 und Set-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 von Get-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.

 4
Author: Doug Richardson,
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
 1
Author: Luke Peters,
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