.net で powershell を使用して nlb クラスターノードの 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 コマンドレットを実行して取得したものと同じものはありません。
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 である可能性があります。
ここから何をすべきか?