none
オブジェクト プロパティーにある XML 値の内容で、オブジェクトの絞り込みをしたい RRS feed

  • 質問

  • PowerShell 初心者です。

    Get-AzCloudService で取得できるオブジェクトの Configuration プロパティーは string で内容は XML です。

    その XML の内容を見て、絞り込みを行いたいのですが、うまくいきません。

    内容を確認するために、先頭のオブジェクトの絞り込みに使用する対象文字列を取得することは、以下のように何とかできました。

    ([xml](Get-AzCloudService).Configuration[0]).ServiceConfiguration.NetworkConfiguration.AddressAssignments.ReservedIPs.ReservedIP.name

    本当は [0] を指定せずに、ServiceConfiguration 以下の XML のパスを指定した name 属性の値で Get-AzCloudService のオブジェクトを絞り込みたいのです。ここで [0] を指定せずにうまく XML のパスにアクセスすることができていません。

    これ↓ではうまくいきませんが、最終的にやりたいことは以下のようなことです。つまり、IP アドレスの名前で絞り込みをしたい、ということです。

    Get-AzCloudService | Where-Object [XML]Congifuration.ServiceConfiguration.NetworkConfiguration.AddressAssignments.ReservedIPs.ReservedIP.name -eq "指定の名前"
    おそらく、PowerShell の基礎的な部分の知識が欠けているのかもしれません。よろしくお願いします。




    2023年3月14日 1:10

回答

  • 自己回答です。

    Get-AzCloudService | Where-Object {([xml]$_.Configuration).ServiceConfiguration.NetworkConfiguration.AddressAssignments.ReservedIPs.ReservedIP.name -eq "指定の名前" }
    でできました。

    • 回答としてマーク おがちゃ 2023年3月14日 6:46
    2023年3月14日 6:44