14

PowerShell からレジストリ キーの値を取得する方法は次のとおりです。

Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion CommonFilesDir

ただし、そのコマンドは、私が通常必要としないいくつかの追加のプロパティを返します。

CommonFilesDir : C:\Program Files\Common Files
PSPath         : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
PSParentPath   : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
PSChildName    : CurrentVersion
PSDrive        : HKLM
PSProvider     : Microsoft.PowerShell.Core\Registry

この場合は文字列である実際の値が必要です。それを行うには、より冗長なものを使用する必要があります。

$commonFilesDir = (Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion CommonFilesDir).CommonFilesDir

独自のエイリアスを記述する以外に、プロパティ名を 2 回記述せずに文字列を取得する方法はありますか?

次のコマンドを実行できますが、PSObject が返されます。

Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion | Select CommonFilesDir
4

4 に答える 4

4

これも同様に不格好ですが、引っ掻く必要があるかゆみがある場合は、繰り返しはありません。

(gi HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion).GetValue("CommonFilesDir")

(個人的には使用します$env:commonprogramfilesが、それは重要ではありません。)

于 2013-05-01T20:12:02.777 に答える
3

どうですか:

Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion | `
    Select CommonFilesDir
于 2013-05-01T12:40:54.213 に答える