2
我從Visual Studio創建PowerShell cmdlet,但無法找到如何從我的C#文件中調用cmdlet,或者甚至有可能嗎?我毫無困難地逐個運行我的cmdlet,但我想設置一個cmdlet以在續集中運行多個cmdlet。如何從Visual Studio中的C#調用PoweShell cmdlet
謝謝
我從Visual Studio創建PowerShell cmdlet,但無法找到如何從我的C#文件中調用cmdlet,或者甚至有可能嗎?我毫無困難地逐個運行我的cmdlet,但我想設置一個cmdlet以在續集中運行多個cmdlet。如何從Visual Studio中的C#調用PoweShell cmdlet
謝謝
是的,你可以從你的C#代碼調用cmdlet。
你需要這兩個命名空間:
using System.Management.Automation;
using System.Management.Automation.Runspaces;
打開運行空間:
Runspace runSpace = RunspaceFactory.CreateRunspace();
runSpace.Open();
創建一個管道:
Pipeline pipeline = runSpace.CreatePipeline();
創建命令:
Command cmd= new Command("APowerShellCommand");
您可以添加參數:
cmd.Parameters.Add("Property", "value");
將它添加到管道:
pipeline.Commands.Add(cmd);
運行命令(S):
Collection output = pipeline.Invoke();
foreach (PSObject psObject in output)
{
....do stuff with psObject (output to console, etc)
}
這是否回答你的問題?
不應該pipeline.Commands.Add(getProcess);成爲pipeline.Commands.Add(cmd); - 否則看起來很不錯的答案。 –
@simonatrcl是的,謝謝。編輯。 – tnw
教我一些東西,無論如何!乾杯 - –