New-Item -Path "HKCR:\Directory\Background\shell\customname" -Force
我一直在為 HKCU 和 KHLM 做同樣的事情,但是當我嘗試 HKCR 時,我在 PowerShell 中遇到錯誤。我應該如何為 HKEY_CLASSES_ROOT 做這件事?
我搜索了解決方案,但找不到任何解決方案。
uj5u.com熱心網友回復:
如您自己的答案所示,定義根為的自定義驅動器絕對是一種選擇,尤其是對于重復使用。HKEY_CLASSES_ROOT
Ad hoc,您也可以直接將Registry:: 提供程式前綴與本機注冊表路徑一起使用:
New-Item -Path 'Registry::HKEY_CLASSES_ROOT\Directory\Background\shell\customname' -Force
筆記:
前綴的
Registry一部分是提供者名稱,如Get-PSProvider的輸出所示。假設可以注冊多個具有相同名稱的提供程式,在這種情況下,您可以在名稱前面加上實作模塊名稱以消除歧義;在注冊表提供程式的情況下,此模塊限定前綴是
Microsoft.PowerShell.Core\Registry::[1]但是,可以公平地假設沒有第三方提供程式會選擇與 PowerShell 附帶的提供程式沖突的名稱,因此Registry::(或registry::,大小寫不沒關系),應該做。請注意,模塊限定的提供程式名稱確實顯示在
.PSPath提供程式項(例如由Get-Item和報告)的屬性的前綴中Get-ChildItem,例如:PS> (Get-Item HKCU:\Console).PSPath Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Console
[1] 注意Core名稱部分不指PowerShell(Core)版;它只是表示任一版本的核心模塊。
uj5u.com熱心網友回復:
好吧,我自己想通了,
檢查Get-PSDrive
并看到 Windows/PowerShell 默認情況下唯一可用的注冊表別名是
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
所以,我在此之后所做的是為其添加一個HKEY_CLASSES_ROOT名為的新別名HKCR
New-PSDrive -Name "HKCR" -PSProvider Registry -Root "HKEY_CLASSES_ROOT"
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/528431.html
