为什么以管理员身份运行PowerShell ISE时无法设置断点?

15

由于无法使PowerGUI正常工作,我已经退回到使用PowerShell ISE。但是,如果我以管理员身份运行它,它将不允许我设置任何断点。

如果我以普通用户身份启动(我的登录是管理员的成员),一切都很好,但因为我需要编写一些需要完全管理员权限的脚本任务,所以这不行。

我已将脚本保存为一个正确的文件(即不是“untitled1.ps1”),但仍然没有用。

我正在运行Windows 7 x64 Ultimate。

奇怪的是,在我的Windows 2008 R2开发框中似乎没有这个问题(我作为管理员登录,然后运行PS ISE“作为管理员”,断点被设置并命中)。

有什么想法吗?

6个回答

24

我也遇到了同样的问题,将文件保存到物理位置可以启用所有调试功能。


6

看起来PowerShell在文件夹和文件名中使用方括号时存在问题。

如果正在调试的脚本位于名称中带有[]的文件夹中,PowerGUI和PowerShell ISE都无法触发断点。


1
现在看来很合理。整个“*.[ch]”语法是我很少使用的,但文件名中的方括号也给我带来了很多麻烦。 - Keith Hill
6
如果你还没有将文件保存,那么切换断点功能将不可用。 - chad.mellor

0
即使在以管理员身份运行PowerShell ISE时,我仍然遇到了同样的问题。将脚本保存到物理目录中使我能够进行调试。

0

我注意到你正在运行x64。有没有可能你正在运行x64 ISE,但在x86上仅将执行策略设置为非受限(反之亦然)。


PowerShell存在方括号问题。 - Kev

0

遇到了相同的问题,因为我使用其他编辑器更改了ps1文件。在使用PowerShell ISE打开文件并点击“保存”后,问题得到解决。


0

我正在使用Visual Studio Code,而在我的情况下,我缺少了PowerShell扩展。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接