我正在尝试在.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。
有什么想法我应该从这里做什么?