web-dev-qa-db-ja.com

レジストリキーの値を読み取るにはどうすればよいですか?

PowerShellでレジストリキーの値を読み取る方法を知っている人はいますか? CMDでの同等のリクエストは、画像で確認できます。

equivalent in CMD

5
Joachim

Get-ChildItemは使用するものであり、簡単なものは次のようになります。

Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion'

その他の例: https://msdn.Microsoft.com/en-us/powershell/scripting/getting-started/cookbooks/working-with-registry-keys

特定のキー値を取得する場合:

$val = (Get-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName').ComputerName

そして、適切に設定/編集する方法 https://blogs.technet.Microsoft.com/heyscriptingguy/2015/04/02/update-or-add-registry-key-value-with-powershell/

4
Andy

Get-ItemPropertyValue

レジストリ操作には、以下を使用します。

  • Get-ItemPropertyおよびGet-ItemPropertyValueは、レジストリ値とデータを読み取ります
  • Get-Itemは、レジストリキーとサブキーを取得します(レジストリ値とデータを読み取ることはできません)
  • Get-ChildItemキーとハイブ内のサブキーを一覧表示します
  • 必要に応じて、New-PSDriveを使用してレジストリドライブを作成します(デフォルトではHKCUとHKLMのみが存在します)。マウントせずに長いフォームを使用することもできます(詳細は以下を参照)

詳細については、「 レジストリプロバイダー 」を参照してください。

HKEY_USERSレジストリルートキーを使用している開始点として例を使用して、MenuBar色を検索します、あなたが持っていたキーが私のシステムで利用できなかったので。

CMD

reg query "HKEY_USERS\.DEFAULT\Control Panel\Colors" /v MenuBar

パワーシェル

Get-ItemPropertyValueの使用:

PS C:\> Get-ItemPropertyValue 'Registry::HKEY_USERS\.DEFAULT\Control Panel\Colors' -Name MenuBar
240 240 240

Get-ItemPropertyの使用:

PS C:\> (Get-ItemProperty 'Registry::HKEY_USERS\.DEFAULT\Control Panel\Colors').MenuBar
240 240 240

New-PSDriveを使用してHKEY_USERS[〜#〜] 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:\>

ドキュメンテーション

レジストリプロバイダー から:

レジストリは、キー、サブキー、およびエントリに分かれています。レジストリ構造の詳細については、「 レジストリの構造 」を参照してください。

Registryドライブでは、各キーはコンテナです。キーには、任意の数のキーを含めることができます。親キーを持つレジストリキーは、サブキーと呼ばれます。 Get-ChildItemを使用してレジストリキーを表示し、Set-Locationを使用してキーパスに移動できます。

レジストリ値は、レジストリキーの属性です。 Registryドライブでは、Item Propertiesと呼ばれます。レジストリキーは、子キーとアイテムプロパティの両方を持つことができます。

...

各レジストリキーはサブキーを持つこともできます。レジストリキーでGet-Itemを使用すると、サブキーは表示されません。 Get-ChildItemコマンドレットは、各サブキーのプロパティを含む、「スプーラー」キーの子アイテムを表示します。 Get-ChildItemを使用すると、親キーのプロパティは表示されません。

Get-Item から:

このコマンドは、Microsoft.PowerShellレジストリキーの内容を表示します。このコマンドレットをPowerShellレジストリプロバイダーで使用してレジストリキーとサブキーを取得できますが、Get-ItemPropertyコマンドレットを使用してレジストリ値とデータを取得する必要があります。

3
Doug Richardson

このフォーマットは、非常によく似ていますが、次のように使用することもできます。

$username = Get-ItemProperty -path "HKCU:\Volatile Environment"

オブジェクトを作成します。プロパティは以下を使用して呼び出すことができます:

$username.username
1
Luke Peters