PowerShell有一个名为$ShellId
的内置变量。它在#Requires
documentation中提到,它是RunspaceConfiguration
上的属性。但我找不到任何关于它应该做什么的文件。我可以在#Requires
语句中指定它的事实表明它有一些预期目的,但我找不到。
$ShellId
的目的是什么?在什么情况下我会将它作为我的脚本的依赖?
答案 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的标识符。