powershell - 从 CSV 文件设置网络接口(interface)卡的 Azure DN 设置

标签 powershell azure scripting dns

我正在尝试为 Azure 上的网络接口(interface)卡设置 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]: 

最佳答案

您应该使用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
}

关于powershell - 从 CSV 文件设置网络接口(interface)卡的 Azure DN 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47414226/

相关文章:

asp.net - 安装 MvcScaffolding 包时出现 NuGet 执行策略错误

node.js - "Hello-World"node.js/express 在本地工作,但不在 Azure Web App 上工作

python - 在 Maya 中使用 Python 引用结果

linux - BASH 变量与字符串的比较总是失败

Azure 自动化 Runbook 无法完成且没有错误

powershell - Azure Web 应用程序 FTP 550 访问被拒绝

powershell - 使用多行命令参数批量启动 PowerShell

angularjs - foreach 循环的 Angular 链接 promise

node.js - Azure Function Service Bus - 托管标识 - 服务总线帐户连接字符串

html - 将 XElement 转换为 HTML 字符串