2009-08-05 30 views

回答

8

你可以看看$Host变量。名称将在控制台中为“ConsoleHost”,ISE中为“Windows Powershell ISE主机”。虽然这可能有点片面测试,因为你依赖于用户可读的字符串。

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

3

$ shellid也是,但是更好的选择是为每个主机使用单独的配置文件: Microsoft.PowerShell_Profile.ps1和Microsoft.PowerShellISE_Profile.ps1。相应的文件将针对特定主机运行。要在所有主机上运行某些东西,至少在这里使用通用配置文件Profile.ps1

+0

'$ ShellId'在控制台和ISE中都会生成“Microsoft.Powershell”。 – Joey 2009-08-05 23:05:59

+0

嗯,我习惯于处理sql 2008这是SQL 2008主机。这些主机之间的shellid是不同的使用单独的配置文件仍然是一个可能的解决方案。 – 2009-08-06 02:27:38