清除ISE Powershell环境/调试方法

时间:2013-04-30 15:07:39

标签: debugging powershell powershell-v3.0 powershell-ise

在ISE中编写powershell脚本时,我有类似的东西(我用 F5 执行):

Function DoSomethingNow
{
    "What am I doing?"
}

DoSomethingNow

问题是,如果我重命名或删除DoSomethingNow,它仍可在会话中使用。这会引起混淆,因为我的脚本将继续工作,而在缺少函数的情况下我会发现错误。

我只能假设我需要在每轮调试后清除会话,但是看起来这只能通过重新启动ISE(因此重新启动powershell会话)来实现。

因此我问:

  • 是否可以清除会话以使DoSomethingNow不再在范围内?
  • 重复调试和执行PowerShell脚本的“正确”方法是什么?
  • 也许我没有以正确的方式使用ISE?

我很欣赏被指向正确的方向。

1 个答案:

答案 0 :(得分:3)

您可以使用Remove-ItemFunction PSDrive

“删除”该功能

Remove-Item Function:\DoSomethingNow

如果您将其添加到脚本的末尾&删除每个功能(仅在调试情况下,我希望),每次都会重新开始。您可以对别名和&环境变量,如果你要设置它们。

您可能还想查看$Error.Clear()以清除$Error对象中的所有条目,以及Remove-Variable(您可能会猜到这个条目的作用)。