如何从运行时的PowerShell脚本中确定它运行的主机?

时间:2009-08-05 21:44:26

标签: powershell

我试着弄清楚我的脚本是在PowerShell.exe中运行还是在ISE中运行。如果我在PowerShell.exe中运行,那么我想更改控制台窗口的大小,但如果不这样做,我不想影响ISE。

2 个答案:

答案 0 :(得分:8)

您可以查看$Host变量。该名称将在控制台中为“ConsoleHost”,在ISE中为“Windows Powershell ISE Host”。虽然这可能有点不耐烦,因为你依赖于用户可读的字符串。

另一种方法可能是查看ISE中似乎始终为0的$Host.UI.RawUI.BufferSize.Height。控制台窗口不常见的东西。

答案 1 :(得分:3)

$ shellid也是,但更好的选择是为每个主机使用单独的配置文件: Microsoft.PowerShell_Profile.ps1和Microsoft.PowerShellISE_Profile.ps1。将为特定主机运行相应的文件。要在所有主机中运行某些内容,请使用通用的Profile.ps1