powershellC #에서 스크립트 를 실행하려고합니다 .
우선은 설정 ExecutionPolicy을 Unrestricted하고 스크립트가 지금부터 실행됩니다 PowerShell ISE.
이제 이것은 C # 내 코드입니다.
class Program
{
private static PowerShell ps;
static void Main(string[] args)
{
ps = PowerShell.Create();
string ps1File = Path.Combine(Environment.CurrentDirectory, "script.ps1");
ExecuteScript(ps1File);
Console.ReadLine();
}
static void ExecuteScript(string script)
{
try
{
ps.AddScript(script);
Collection<PSObject> results = ps.Invoke();
Console.WriteLine("Output:");
foreach (var psObject in results)
{
Console.WriteLine(psObject);
}
Console.WriteLine("Non-terminating errors:");
foreach (ErrorRecord err in ps.Streams.Error)
{
Console.WriteLine(err.ToString());
}
}
catch (RuntimeException ex)
{
Console.WriteLine("Terminating error:");
Console.WriteLine(ex.Message);
}
}
}
출력은 다음과 같습니다.
이 시스템에서 스크립트 실행이 비활성화되어 있으므로 ps1을로드 할 수 없습니다. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=135170 에서 about_Execution_Policies를 참조하십시오 .