为网络接口卡

时间:2017-11-21 13:26:08

标签: powershell azure scripting dns

我正在尝试为Azure上的网络接口卡设置DNS设置。我有一个CSV文件,其中包含服务器名称,NIC,dnsip1,dnsip2

我认为会是这样的。

Import-CSV C:\temp\test.csv -Header rgName,NIC,DNSIP1,DNSIP2 | Foreach-Object { 
$n = Get-AzureRmNetworkInterface -Name $_.nic -ResourceGroupName $_.rgname $n.DnsSettings.DnsServers = '$_.DNSIP1','$_.DNSIP2' 
}

我可以使用$ n变量并继续在循环中重新分配它,我已经尝试了这个并且不断收到提示

cmdlet ForEach-Object at command pipeline position 1
Supply values for the following parameters:
Process[0]: 

1 个答案:

答案 0 :(得分:1)

您应该使用Set-AzureRmNetworkInterface来设置DNS设置。以下脚本应该适合您。

$csv="d:\nic.csv"
$NICS=Import-Csv $csv
ForEach ($kvp in $NICS){
    $nic = Get-AzureRmNetworkInterface -ResourceGroupName $kvp.rgName -Name $kvp.NIC
    $nic.DnsSettings.DnsServers.Add($kvp.DNSIP1)
    $nic.DnsSettings.DnsServers.Add($kvp.DNSIP2)
    $nic | Set-AzureRmNetworkInterface
}