Powershell从私有IP获取Azure VM名称

roy*_*roy 3 cloud powershell azure azure-virtual-machine devops

我想从IP地址获取一个Azure虚拟机名称,我尝试了以下操作以从IP获取NIC名称,并找到了该NIC连接到哪个VM。

Get-AzureRmNetworkInterface | ForEach { $Interface = $_.Name; $IPs = $_ | Get-AzureRmNetworkInterfaceIpConfig | Select PrivateIPAddress; Write-Host $Interface $IPs.PrivateIPAddress }

是否有更好的方法直接使用VM私有获取VM名称?

Jas*_* Ye 5

是否有更好的方法直接使用VM私有获取VM名称?

您的意思是使用VM的专用IP地址来获取VM的名称吗?如果我对它的理解正确,我们可以使用此PowerShell获得VM的名称:

PS C:> get-azurermvm

ResourceGroupName  Name Location      VmSize OsType     NIC ProvisioningState
-----------------  ---- --------      ------ ------     --- -----------------
RGNAME            jason   eastus Standard_A1  Linux jason66         Succeeded

PS C:\> $a = ((Get-AzureRmNetworkInterface | ?{$_.IpConfigurations.PrivateIpAddress -eq '10.0.0.4'}).VirtualMachine).ID
PS C:\> $vmname = ($a -split '/') | select -Last 1
PS C:\> $vmname
jason
Run Code Online (Sandbox Code Playgroud)