此代码在Powershell命令行中运行,但在从脚本运行时会生成错误:
$key = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced'
Set-ItemProperty $key Hidden 1
当我从脚本运行它时,出现以下错误:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer : The module 'HKEY_CURRENT_USER' could not be
loaded. For more information, run 'Import-Module HKEY_CURRENT_USER'.
At C:\Users\mybitch\Desktop\VSS-Customize-Desktop.ps1:19 char:6
+ $key=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (HKEY_CURRENT_US...ersion\Explorer:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CouldNotAutoLoadModule
这是一个简单的任务......为什么Powershell会尝试导入HKEY_CURRENT_USER
作为模块?为什么行为与Powershell命令行有如此不同?
答案 0 :(得分:5)
错误消息背叛了问题。在你的脚本中,显然你是这样做的:
$key = HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer
这是一项无效的作业。您应按照您的描述进行操作:
$key = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced'
答案 1 :(得分:0)
确保在脚本中加载了用户配置单元,例如,如果从任务计划程序运行它,则需要它来加载配置单元以使其具有您想要的效果。