0

私は Azure と Powershell を初めて使用します。プライベート IP アドレスに基づいてネットワーク インターフェイスを見つける必要があります。「Get-AzNetworkInterface」コマンドレットを見つけたので、IP を含むエントリのみを返すようにします。IP は「IpConfigurationsText」にのみ存在し、オブジェクト名のみを含む「IpConfigurations」には存在しないことに気付きました。これが正常かどうかはわかりません。返された「IpConfigurationText」は、このような辞書のキーと値のペアを含むリストです (私の限られた python の経験に基づく)

[
 {
   "Name": "xxxx",
   "Id": "xxxx",
   "PrivateIpAddress": "10.1.2.3",
   ...
 }
]

その内容に基づいてフィルタリングしたいと思います。私は次のことを試しましたが、どれも成功しませんでした...

Get-AzNetworkInterface | Where-Object { $_.IpConfigurationsText["PrivateIpAddress"] -contains "10.1.2.3" }
Get-AzNetworkInterface | Where-Object { $_.IpConfigurationsText[0]["PrivateIpAddress"] -eq "10.1.2.3" }

また、辞書のキーと値のペアの代わりに IP のみを出力に表示しようとしましたが、成功しませんでした

Get-AzNetworkInterface | select Name,IpConfigurationsText["PrivateIpAddress"]

私が逃したものを教えてください。

ちなみに、「Out-GridView」を使用して結果を表示およびフィルタリングできることもわかりましたが、出力が大きい場合は出力全体が表示されません。切り捨てられました。また、コピー/貼り付けもできないようです...それについてのアドバイスはありますか?

ありがとう!ディファン

4

1 に答える 1

1

これを試して:

$IP = (Get-AzureRmNetworkInterface -Name $VMName -ResourceGroupName $RGName).IpConfigurations.PrivateIpAddress

インストールする必要があるモジュールがない場合は、次のようにします。

Login-AzureRmAccount
Install-Module AzureRm

より詳しい情報

于 2022-01-20T17:12:00.657 に答える