如何在PowerShell中正确引用HKEY_CLASSES_ROOT(HKCR)?
解决PowerShell中操作HKEY_CLASSES_ROOT(HKCR)的问题
HKEY_CLASSES_ROOT(HKCR)并非独立的注册表 hive,它是HKLM\Software\Classes(机器全局设置)与HKCU\Software\Classes(当前用户专属设置)的合并视图。直接操作HKCR路径时,PowerShell默认尝试写入机器级的HKLM分支,这需要管理员权限,这也是你执行命令报错的核心原因。
以下是两种可行的解决方法:
方法1:以管理员权限运行PowerShell执行原命令
右键点击PowerShell,选择「以管理员身份运行」,再执行你的命令:New-Item -Path "HKCR:\Directory\Background\shell\customname" -Force该操作会在机器级的注册表分支创建项,对所有用户生效。
方法2:直接写入当前用户专属路径(无需管理员权限)
若只需对当前用户生效,直接操作HKCU下的对应路径即可:New-Item -Path "HKCU:\Software\Classes\Directory\Background\shell\customname" -Force这个修改不会影响其他用户,也不需要提升权限。
验证操作结果
执行完命令后,可通过以下命令确认项是否创建成功:
Get-Item -Path "HKCR:\Directory\Background\shell\customname"
或者直接打开注册表编辑器(regedit),导航到对应路径查看。
内容的提问来源于stack exchange,提问作者user20225877
相关产品推荐
相关产品推荐

