获取与Azure VM关联的DNS服务器IP地址

时间:2017-11-14 18:37:04

标签: powershell azure dns

我有一个服务器列表,我需要从中获取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?

希望我没有错过任何明显的事情。

提前致谢:)

1 个答案:

答案 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然后检查它。

希望这会有所帮助:)