什么是ShellId?我为什么需要它?

时间:2017-04-25 23:07:17

标签: powershell

PowerShell有一个名为$ShellId的内置变量。它在#Requires documentation中提到,它是RunspaceConfiguration上的属性。但我找不到任何关于它应该做什么的文件。我可以在#Requires语句中指定它的事实表明它有一些预期目的,但我找不到。

$ShellId的目的是什么?在什么情况下我会将它作为我的脚本的依赖?

1 个答案:

答案 0 :(得分:1)

首先,我希望您了解The Shell and The Host之间的区别。

无论我们在ISE或PSConsole中运行什么,它们都是主机。

#Requires –ShellId Microsoft.PowerShell --- 这使用默认的PowerShell Shell。

当您测试 $ shellid 时,控制台和ISE都返回Microsoft.PowerShell。

您可以指定本地shell,如:

#requires –ShellId MyLocalShell

如果它是一个独立的shell而不管控制台和哪个inturns在后端使用powershell引擎,那么我们基本上需要shellId。主要是在Runspaces期间。

$ shellId 包含当前shell的标识符。