我正在尝试远程执行传入object参数的powershell脚本。我已成功设法完成此操作,但现在我想启动脚本,断开远程会话并让powershell脚本继续在远程计算机上执行。不幸的是我无法做到这一点。
到目前为止,这是我的代码,这成功运行了远程PowerShell脚本,但是如果我处理了我的会话,那么powershell脚本也会停止执行:
PowerShell ps = PowerShell.Create();
ps.Runspace = _runspace;
ps.AddCommand(scriptPath);
if (scriptParameters != null)
{
foreach (var parameter in scriptParameters)
{
ps.AddParameter(parameter.Key, parameter.Value);
}
}
ps.Invoke();
即使断开远程会话,我怎样才能启动.ps1脚本并使其保持运行?
答案 0 :(得分:0)
您只能使用Powershell 3+执行此操作。我还没有测试过它,但我想连接的两端都需要支持断开连接的会话。
在.Net中,您使用Runspace.Disconnect
Method。
Powershell等效值为Disconnect-PSSession
。