1

我正在尝试在.net中使用powershell获取nlb clusternode的HostPriority

using (RunspaceInvoke invoker = new RunspaceInvoke())
{
    invoker.Invoke("Import-Module NetworkLoadBalancingClusters");
    foreach (PSObject result in invoker.Invoke("Get-NlbClusterNode -NodeName $env:COMPUTERNAME"))
    Console.WriteLine(result.Members["HostID"].Value.ToString());
}

这不返回任何内容。

我遍历返回的所有成员,PSObject与通过运行 powershell cmdlet 获得的任何内容相比,没有什么相同的。

我还尝试Get_Item了以下返回类型为Microsoft.NetworkLoadBalancingClusters.PowerShell.Node.

using (RunspaceInvoke invoker = new RunspaceInvoke())
{
    invoker.Invoke("Import-Module NetworkLoadBalancingClusters");
    foreach (PSObject result in invoker.Invoke("Get-NlbClusterNode -NodeName $env:COMPUTERNAME"))
    Console.WriteLine(result.Methods["get_item"].Invoke(0).GetType().ToString());
}

但我不能真正转换到节点,因为我无法Microsoft.NetworkLoadBalancingClusters.PowerShell.dll在 powershell 目录中引用,可能是它是一个 64 位 dll。

有什么想法我应该从这里做什么?

4

0 回答 0