2015-01-28 6 views
0

Я пытаюсь удаленно выполнить сценарий powershell, передаваемый в параметре объекта. Мне удалось это сделать, но теперь я хотел бы просто запустить скрипт, отключить мой удаленный сеанс и продолжить выполнение сценария powershell на удаленном компьютере. К сожалению, я не смог этого сделать.Удаленный запуск сценария Powershell из C# Management.Automation.Runspaces

Вот мой код до сих пор, это успешно работает сценарий удаленного 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

Вы можете сделать это только с помощью Powershell 3+. Я не тестировал его, но думаю, обе стороны соединения должны поддерживать отключенные сеансы.

В .Net вы должны использовать Runspace.Disconnect Method.

Эквивалент Powershell будет Disconnect-PSSession.

 Смежные вопросы

  • Нет связанных вопросов^_^