1

我有一个问题,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 未运行/没有适当的规则
  • 已验证受控文件夹访问已关闭

任何帮助,将不胜感激。

4

0 回答 0