【发布时间】:2018-12-30 15:10:10
【问题描述】:
$net = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true -ComputerName . |
Select-Object -Property [a-z]* -ExcludeProperty IPX*,WINS* |
Where-Object {$_.DNSServerSearchOrder -like "10.*"}
$num = $net.DNSServerSearchOrder
$num.Length
for ($i=0; $i -lt $num.Length; $i++) {
if(Test-Connection $num[$i] -Count 1 -ErrorAction silentlycontinue) {
} else {
$net.SetDNSServerSearchOrder[$i]"<correct IP>"
}
}
我不确定上面的代码是否让我进入了写入路径。我正在尝试为大约 13000 多台服务器构建代码,我们需要检查服务器上配置的 DNS 是否正确。
为此,我使用了一个测试服务器,我试图在其中放置一些代码,这些代码将首先转到已启用的 NIC,然后检查 DNS 是否已配置。在for 循环中,我正在迭代直到DNS 数组的长度。如果对 DNS 条目进行 ping 测试,我在 for 循环内部已经对齐。如果 DNS ping 它不必执行任何其他操作,则需要删除所有 DNS 并仅将辅助 DNS 设置为主 DNS 工作正常。有什么建议吗?
【问题讨论】:
-
旁注:使用
Get-WmiObject -ComputerName .毫无意义。默认情况下,该 cmdlet 将查询本地计算机。 -
谢谢 Ansgar 是的,我正在测试机器上测试。
标签: powershell dns powershell-2.0