我有一个问题,PowerShell 将不再运行我的 Microsoft.Powershell_profile.ps1/Profile.ps1 脚本,说明它不能“点源”文件。这是在我在我的机器上运行注册表清理器和系统优化器之后开始的。现在,我无法弄清楚哪些设置已更改、添加或撤销。
注意事项:
- 由于尝试“点源”,控制台始终默认为“ConstrainedLanguage”
- 我尝试将 -ExecutionPolicy 设置为“Unrestricted”和“RemoteSigned”无效
- 版本 5 和 6 中都存在问题
- 如果我在 VS Code 中运行“PowerShell 集成控制台”,而不是在终端窗口中,它运行良好,显示“FullLanguage”
- 配置文件的内容无关紧要 - 如果我使用空文件,它仍然不会运行。
- 将“Microsoft.Powershell_profile.ps1”放在“\documents”文件夹中不会产生“点源”错误,但它也无法识别配置文件脚本中的任何命令。
我尝试过的事情:
- 通过 $ExecutionContext.SessionState.LanguageMode = 0 设置为“FullLanguage”会导致“无法设置属性。仅在此语言模式下的核心类型上支持属性设置。”
- 在“HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\”的注册表中将“__PSLockdownPolicy”属性设置为 0 对 v5 没有任何作用,并且会导致 v6 崩溃
- 在 $home、"\documents" 和 $pshome(位置取决于版本)之间移动配置文件无效(上述例外)
- 调整“Microsoft.Powershell_profile.ps1”和“Profile.ps1”之间的名称(通常调整以匹配目标受众(例如“所有用户”),但我正在尝试变化以希望成功)
- 卸载并重新安装不同的 5.x 和 6.x 版本无效
- 运行“Powershell -noprofile”不会加载配置文件,所以没有错误但仍然在“ConstrainedLanguage”中运行
- 已验证 AppLocker 未运行/没有适当的规则
- 已验证受控文件夹访问已关闭
任何帮助,将不胜感激。