明确的powershell会议

Bro*_*ing 16 powershell

是否有一个命令行开关清除我添加的当前powershell会话变量?

我正在使用Add-Type命令行开关,我收到错误"无法添加类型.类型名称已存在."

Kei*_*ill 7

遗憾的是,您无法卸载已加载到默认AppDomain中的.NET程序集,这是Add-Type的作用.您可以重命名类型或命名空间,但在某些时候您只需要退出并重新启动PowerShell.

这不是PowerShell限制,因为它是.NET/CLR限制.您可以将.NET程序集加载到单独的AppDomain中,以后可以卸载,但是您必须自己编写代码,并且它会对您计划在单独的AppDomain中使用的类型施加限制.也就是说,这些类型需要通过.NET Remoting工作,因此它们必须从MarshByRefObject派生,或者它们必须是可序列化的(这适用于其属性引用的所有对象,依此类推在对象图上).

  • 但有没有命令重置您的PowerShell会话? (4认同)

Bob*_*lds 6

可能的"解决方法":打开PowerShell窗口,然后运行脚本输入 powershell .\yourScriptHere.ps1

这将启动一个新的PowerShell实例,该实例将在您的脚本退出时退出.如果要在新实例中"播放",则将调用更改为,powershell -NoExit .\yourScriptHere.ps1并且在脚本完成时新实例不会退出.exit当您需要重新启动时输入并按"向上箭头"键以获取上一个命令.所有脚本输出都将出现在同一窗口中.启动新PowerShell实例的开销很低 - 在我的笔记本电脑上显示不到1秒.