顯然,我的Google-fu在尋找透徹而易懂的教程時,很難找到如何在Powershell腳本中使用Windows註冊表(而不是在PS外殼中交互式地)。註冊表使用「key-name-value」結構但以某種方式訪問「與文件系統目錄相同」的事實只是簡單地使我感到困惑。如何使用Powershell來使用註冊表?
假設我有一個註冊表是:
HKLM
KeyA
NameA1=ValueA1
KeyB
NameB1=ValueB1
KeyC
NameC1=ValueC1
NameC2=ValueC2
NameC3=ValueC3
KeyCA
NameCA1=ValueCA1
KeyCB
NameCB1=ValueCB1
什麼做的最正確的方法*以下內容:
- 檢查是否存在
KeyA
? - 檢查
NameB1
是否存在? - 考慮到我不知道該項目的名稱(只有密鑰的路徑),獲取密鑰中第一個/唯一項目的名稱和數值部分(例如,
NameC1
和ValueC1
)?- 目前,我粗略地用
Get-ItemProperty
獲得@{name=value}
並應用一些字符串分割。
- 目前,我粗略地用
- (更一般地說:)在
KeyC
(所以NameC1, NameC2, NameC3
)中的所有名稱進行迭代,因爲可能有零個或多個項目? - 對
KeyC
(soKeyCA, KeyCB
)中的所有子項進行迭代,因爲可能有零個或多個項目? - 重命名密鑰(例如,
NameB1
至NameB2
);或者創建一個具有相同類型和值的新密鑰,並刪除舊密鑰? - 更改一個值(說,
ValueC3
到ValueC5
),因爲我知道關鍵和名稱?
我知道我可以使用Get-ChildItem做一些事情,Get-ItemProperty給別人使用,但是我不明白這一點,我正在摸索着運氣。我如何最好地將這些應用於我列出的需求?
*(相關,但題外話:什麼是相當於「Python化」爲PowerShell的?)
與我在這裏的其他問題的措辭不同,我確實期待一些反彈;目前爲-1,這似乎是這種情況。我明白並希望,如果你不贊成,你會與我溝通,因爲單靠這個號碼是沒有幫助的。 – KlaymenDK