如何使用 PowerShell 获取 Azure VM 虚拟网络和子网名称?

要检索 Azure VM 虚拟网络和子网名称,我们首先需要检索 Azure

虚拟机网卡信息。要获取Azure VM NIC 信息,我们需要使用Get-AzVM命令,然后我们可以使用NetworkProfile属性来检索NIC 名称,如下所示。

PS C:\> $vm = Get-AzVM -Name TestVM
$vmnic = ($vm.NetworkProfile.NetworkInterfaces.id).Split('/')[-1]

一旦我们将上述命令中的 NIC 名称存储在 $vmnic 变量中,我们就可以使用Get-AzNetworkInterface命令检索 NIC 信息,如下所示。

$vmnicinfo = Get-AzNetworkInterface -Name $vmnic

要获取附加到 VM的虚拟网络名称,请对命令使用以下操作。

(($vmnicinfo.IpConfigurations.subnet.id).Split('/'))[-3]

要获取附加到 VM的子网,请对命令使用以下操作

(($vmnicinfo.IpConfigurations.subnet.id).Split('/'))[-1]

整体脚本如下所示

$vm = Get-AzVM -Name 'VMName'
$vmnic = ($vm.NetworkProfile.NetworkInterfaces.id).Split('/')[-1]
$vmnicinfo = Get-AzNetworkInterface -Name $vmnic
Write-Output "Virtual Network: : $((($vmnicinfo.IpConfigurations.subnet.id).Split('/'))[-3])"
Write-Output "Subnet: $((($vmnicinfo.IpConfigurations.subnet.id).Split('/'))[-1])"