我試圖從Powershell的註冊表項中讀取值。這很簡單,但是,一個特定的註冊表鍵給我帶來麻煩。檢索與Powershell的註冊表值時出錯
如果我運行以下操作,我無法獲得「$ setting」(默認值)的值。
C:\Program Files\PowerGUI> $setting = Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf"
C:\Program Files\PowerGUI> $setting
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\
CurrentVersion\IniFileMapping\Autorun.inf
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\
CurrentVersion\IniFileMapping
PSChildName : Autorun.inf
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
(default) : @SYS:DoesNotExist
通常,我會做$ setting.Attribute或$ setting。(默認)。但是,這會導致以下錯誤:
C:\Program Files\PowerGUI> $setting.(default)
The term 'default' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.
At :line:1 char:17
+ $setting.(default <<<<)
如何獲取「(默認)」屬性的值?
在此先感謝。
要添加到這一點,在原始代碼中的()指示PowerShell來對待文本(在這種情況下, 「默認」)作爲單獨的命令。當你的屬性具有不尋常的字符時,你需要引用(並且有時使用$())像JaredPar所示的值,以便PowerShell不會將該值解釋爲表達式。其他需要注意的字符是$。 :''(可能還有更多,但這是我所能記得的) – JasonMArcher 2009-04-28 20:38:42