从C#执行cmdlet Get-ClusterGroup

时间:2014-08-20 19:29:34

标签: c# cmdlet

您好我正在尝试从C#4.0执行Get-ClusterGroup cmdlet。我使用了以下代码

InitialSessionState iss = InitialSessionState.CreateDefault();
iss.ImportPSModule(new string[] { "failoverclusters"});

Runspace myRunSpace = RunspaceFactory.CreateRunspace(iss);
myRunSpace.Open();

Pipeline pipeLine = myRunSpace.CreatePipeline();

Command myCommand = new Command("Get-ClusterGroup");
pipeLine.Commands.Add(myCommand);

Console.WriteLine("Invoking Command");
Collection commandResult = pipeLine.Invoke();

foreach (PSObject resultObject in commandResult)
{
Console.WriteLine(resultObject.ToString());
}
myRunSpace.Close();

但是收到以下错误

术语“Get-ClusterGroup”无法识别为cmdlet函数的名称, 脚本文件或可操作程序。检查名称的拼写,或路径 包括在内,验证路径是否正确,然后重试。

如果有人能告诉我我错过逻辑的地方或我的代码中的问题在哪里会很棒

1 个答案:

答案 0 :(得分:0)

Get-ClusterGroup是Powershell Commandlet,而不是.exe文件。您可以使用System.Management.Automation.PowerShell类从.NET调用Powershell命令,如MSDN中所述:http://msdn.microsoft.com/en-us/library/system.management.automation.powershell(v=vs.85).aspx