1

.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 である可能性があります。

ここから何をすべきか?

4

0 に答える 0