我正在尝试获取特定VM的私有IP。我有这个代码正在运行
$vms = get-azurermvm -ResourceGroupName abc
$nics = get-azurermnetworkinterface -ResourceGroupName abc| where VirtualMachine -NE $null #skip Nics with no VM
foreach($nic in $nics)
{
$vm = $vms | where-object -Property Id -EQ $nic.VirtualMachine.id
$prv = $nic.IpConfigurations | select-object -ExpandProperty PrivateIpAddress
Write-Output "$($vm.Name) : $prv"
}
我的虚拟机名称为es-client-node1
,es-client-node2
,es-master-node1
,es-data-node1
& es-data-node1
。我想得到客户端节点的IP地址或VM的名称与es-client-node*
匹配,类似于datanode&主节点进入不同的变量
任何想法如何在powershell中做到这一点?
答案 0 :(得分:5)
要使用PowerShell获取私有IP,您可以使用此命令 -
$IP = (Get-AzureRmNetworkInterface -Name $VMName -ResourceGroupName $RGName).IpConfigurations.PrivateIpAddress
我希望这适合你想要实现的目标。