从C#PowerShell cmdlet返回退出代码
我正在用C#编写PowerShell cmdlet,此cmdlet由我无法控制的父进程调用。如果进程的退出代码为3010,则父进程具有适当的机制来处理cmdlet的持续重新启动。这里的问题是,鉴于cmdlet的入口点是:从C#PowerShell cmdlet返回退出代码,c#,powershell,cmdlets,C#,Powershell,Cmdlets,我正在用C#编写PowerShell cmdlet,此cmdlet由我无法控制的父进程调用。如果进程的退出代码为3010,则父进程具有适当的机制来处理cmdlet的持续重新启动。这里的问题是,鉴于cmdlet的入口点是: protected override void ProcessRecord() { ... } 我已经了解到,当研究$LASTEXITCODEPS变量时,cmdlet不会生成退出代码。一般来说,我对PowerShell还比较陌生,所以我不确定我是否采用了正确的方法。有人有办法
protected override void ProcessRecord() { ... }
我已经了解到,当研究$LASTEXITCODE
PS变量时,cmdlet不会生成退出代码。一般来说,我对PowerShell还比较陌生,所以我不确定我是否采用了正确的方法。有人有办法让我完成我所描述的吗
cmdlet由PS脚本加载和调用,如
Import-Module "C:\testing\test.dll"
Run-MyCmdlet
您能否显示代码,您的cmdlet调用的准确程度?现在我有更多的手机可以使用,请进行编辑。父进程如何调用此脚本?是
powershell-File Script.ps1
还是其他什么?不幸的是,我没有了解父进程如何调用运行脚本的窗口,但我可以想象是这样的。您可以尝试以下操作:this.Host.SetShouldExit(3010)
(假设您的cmdlet继承自PSCmdlet
)。是否可以显示代码,您的cmdlet调用的准确程度?现在我有了更多的手机可供使用,请进行编辑。父进程如何调用此脚本?是powershell-File Script.ps1
还是其他什么?不幸的是,我没有父进程如何调用运行脚本的窗口,但我可以想象是这样的。您可以尝试以下操作:this.Host.SetShouldExit(3010)
(假设您的cmdlet继承自PSCmdlet
)。