【发布时间】:2011-04-14 17:03:12
【问题描述】:
在我急切地想知道哪些变量是受保护的或常量时,我决定看看哪些是可以被删除的——假设上面提到的那些将被单独留下。我没有意识到这些变量的删除不仅限于本次 ISE 会议的范围,而且不仅是 PowerShell 全局的,而且是系统全局的。我希望有人可以帮助我让 ISE 重新工作。
我的愚蠢:
Remove-Variable *
...导致报告了一堆错误,之后我执行 dir variable: 时只剩下少数 (10-15) 个错误。认为这没什么大不了的,并且重新启动 ISE 会使我恢复正常,我关闭了它 - 我无法再启动它了。
其他症状
从那以后我发现我丢失了诸如环境变量 %windir% 之类的东西 - 这是一个最有趣的转折,阻止您打开高级系统设置(找不到 %windir%\system32\systempropertiesadvanced.exe)来设置您的ENV备份...(是的,我可以直接运行它)
更新:我发现了一个额外的影响/症状:Windows 报告说,在自动更新无法正常工作后,我可能没有正版 Windows。我没有意识到像一些 ENV vars 消失这样简单的事情会杀死它。嗯。
那么 - 任何人都知道如何恢复或重新创建成功运行 ISE 所需的环境?
(是的,我已经尝试删除并重新添加该功能,并结合重新启动。)
【问题讨论】:
-
你一定做了别的事情。删除变量只会影响您当前的 PowerShell 会话,除非您的设置非常不标准。
-
我期待完全相同的事情 - 只是一个会话更改,但在运行命令后, HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment 被减少到只有几个值。我现在注意到 ISE 默认在这台机器上以管理员身份运行 - 而它对我的任何其他机器都没有特权。好奇 - 我没有手动提升它。虽然我猜这可能是差异以及为什么它不受范围限制。感谢您的帮助!