在我用C#编写的powershell cmdlet中,我需要获取调用我的脚本的名称。
我从PSCmdlet派生了我的cmdlet类;在运行时有大量的信息附加到这个类,但我没有看到我在哪里可以获得我正在寻找的信息。
是否可以获取脚本名称?如果是的话,它住在哪里?
答案 0 :(得分:2)
自动变量$ MyInvocation应包含InvocationName属性中脚本的名称。
答案 1 :(得分:0)
谢谢,mjolinor ......让我走上了正确的道路。
MyInvocation.InvocationName
为您提供了在其下调用cmdlet的命令的名称,但调用脚本名称正好靠近...
我在这里找到了我想要的东西(来自PSCmdlet派生类):
var callingScript = MyInvocation.ScriptName;
它包含调用cmdlet的脚本的完整路径。