我有一个服务器列表,我需要从中获取DNS服务器IP设置,这些服务器位于Azure中。我认为这很简单,可以获取nic并查询nic的属性以隔离分配给它的dns ip。
我用过:
$rg = main-rg
Get-AzureRmNetworkInterface -ResourceGroupName $rg | ForEach { $Interface = $_.Name; $IPs = $_ |`
Get-AzureRmNetworkInterfaceIpConfig | Select PrivateIPAddress; Write-Host $Interface $IPs.PrivateIPAddress }
获取privateIPaddress
,但这适用于单个资源组。我需要将它放入foreach
循环吗?
也许喜欢:
$rg = get-content c:\temp\list-of-res-grps.txt
foreach ($rgs in $rg)
{
Get-AzureRmNetworkInterface -ResourceGroupName $rg | ForEach { $Interface = $_.Name; $IPs = $_ |`
Get-AzureRmNetworkInterfaceIpConfig | Select PrivateIPAddress; Write-Host $Interface $IPs.PrivateIPAddress }
}
获取我使用的nics的名称,它也给出了主机名。
get-azurermvm | out-file c:\temp\servers.txt
有没有办法查询DNS的dns服务器IP地址?或者我是否需要深入挖掘Get-AzureRmNetworkInterfaceIpConfig
cmdlet?
希望我没有错过任何明显的事情。
提前致谢:)
答案 0 :(得分:1)
在Azure中,如果您尚未更改DNS,则默认私有DNS为168.63.129.16
。
1 。如果您通过Azure虚拟网络更改DNS设置,我们可以使用此命令列出DNS服务器:
PS C:\Users\jason> $a = Get-AzureRmVirtualNetwork -Name 'jasonvm-vnet' -ResourceGroupName jasonvm
PS C:\Users\jason> $a.DhcpOptions
DnsServers
----------
{8.8.8.8}
PS C:\Users\jason>
2 。如果您使用Azure PowerShell更改DNS设置,请执行以下操作:
$nic = Get-AzureRmNetworkInterface -ResourceGroupName "ResourceGroup1" -Name "NetworkInterface1"
$nic.DnsSettings.DnsServers.Add("9.9.9.9")
我们可以使用此命令列出DNS服务器:
PS C:\Users\jason> $d = Get-AzureRmNetworkInterface -Name jasonvms790 -ResourceGroupName jasonvm
PS C:\Users\jason> $d.DnsSettings.DnsServers
9.9.9.9
3 。如果您更改Azure VM中的DNS设置,我们 无法使用PowerShell来获取它。我们应该登录这个VM然后检查它。
希望这会有所帮助:)