Вы можете запустить сценарий PowerShell на удаленном компьютере, используя аргумент Invoke-Command при запуске сценария в интерпретаторе. Но для достижения аналогичной функциональности в C # мы используем что-то под названием RunSpace из System.Management.Automation.dll.

Во-первых, нам нужно создать объект WSManConnectionInfo, используя учетные данные для подключения к удаленному компьютеру. Только что созданный объект connectionInfo должен быть отправлен в качестве параметра при создании пространства выполнения. С помощью runspace.Open () создается новое соединение с удаленным компьютером.

В приведенной выше сути запускаемый сценарий фактически присутствует на машине, на которой выполняется код C #. Чтобы запустить скрипт ps на удаленном компьютере, мы можем использовать

ps.AddScript(scriptLocation);

Мы можем передать аргументы скрипту, используя

ps.AddArgument(@"Argument1");

Для запуска скрипта необходимо добавить ссылку на System.Management.Automation.