Запуск сценария powershell, сохраненного на другом сервере
Привет.
У меня возникли проблемы с запуском сценария powershell, сохраненного на другом сервере.
Мне нужно выполнить скрипт PowerShell в C#.
Сервер 1-это место, где сохраняется программа C#
Сервер 2-это место, где сохраняется сценарий powershell.
Вот мой метод c#
где переменная
serviceList
это параметр/аргумент, который должен быть передан сценарию powershell.переменная
psPath
будет содержать строку типа "\\[serveripaddress]\g$\adminscripts\dotalltool_scripts\stopservice.ps1public string runScriptPS(string serviceList, string operation) { string psFileName = operation == "Stop" ? "stopservice.ps1" : operation == "Start" ? "startservice.ps1" : "restartservice.ps1"; string server = hdnServerSelected.Value; string psPath = @"\\" + server + @"\g$\AdminScripts\dotalltool_scripts\" + psFileName; string paramSapArray = (char)34 + serviceList + (char)34; Runspace runspace = RunspaceFactory.CreateRunspace(); runspace.Open(); RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace); Pipeline pipeline = runspace.CreatePipeline(); Command psCmd = new Command(psPath); CommandParameter sapParam = new CommandParameter("SAPArray", paramSapArray); psCmd.Parameters.Add(sapParam); pipeline.Commands.Add(psCmd); Collection<PSObject> results = pipeline.Invoke("Set-ExecutionPolicy Unrestricted"); StringBuilder sb = new StringBuilder(); foreach (PSObject obj in results) { sb.AppendLine(obj.ToString()); } string a = sb.ToString(); return sb.ToString(); }
Вот ошибка, которую я получаю
File \\serveripaddress\g$\AdminScripts\dotalltool_scripts\stopservice.ps1 cannot be loaded. The file \\serveripaddress\g$\AdminScripts\dotalltool_scripts\stopservice.ps1 is not digitally signed. You cannot run this script on the current system. For more information about running scripts and setting execution policy, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170.]
Что я уже пробовал:
Я уже указал политику исполнения на конвейере.Взывать()