1 #############################脚本功能及说明#################### 2 #该脚本用来在本地服务器上配置DNS服务器IP 3 #创建时间:2014-10-22 4 5 #########################定义函数############################# 6 #定义函数:配置DNS 7 #ConnectionID为网卡ID;$dnsservers为要配置的DNS服务器的IP列表 8 function DNSConfig($ConnectionID,[array]$dnsservers) 9 { 10 #判断当前系统是2003(5),还是2008,在设置DNS服务器的时候所使用的命令不同 11 If ((gwmi win32_operatingsystem).version.split(".")[0] -eq 5) 12 { 13 netsh.exe interface ip set dns "$ConnectionID" static $dnsservers[0] primary 14 $dnsservers[1..$dnsservers.count] | % { netsh.exe interface ip add dns "$ConnectionID" $_ } 15 } 16 Else 17 { 18 netsh.exe interface ip set dnsservers "$ConnectionID" static $dnsservers[0] primary validate=no 19 $dnsservers[1..$dnsservers.count] | % { netsh.exe interface ip add dnsservers "$ConnectionID" $_ validate=no } 20 } 21 } 22 23 ################脚本开始###################################################################### 24 $index = (gwmi Win32_NetworkAdapterConfiguration |?{ $_.DefaultIPGateway -ne $null}).Index 25 [array]$ip = (gwmi Win32_NetworkAdapterConfiguration -filter "index = $index").IPAddress 26 $ConnectionID = (gwmi win32_networkadapter -filter "index = $index").NetConnectionID 27 #根据IP属于IDC设置DNS 28 $ip2 = $ip[0].split("\.")[0,1] -join "." 29 If ($ip2 -eq "10.4") 30 { 31 $dnsservers="10.4.2.220","10.5.2.220","192.168.251.210" 32 dnsconfig $ConnectionID $dnsservers 33 } 34 Elseif ($ip2 -eq "10.5") 35 { 36 $dnsservers="10.5.2.220","192.168.251.210","10.4.2.220" 37 dnsconfig $ConnectionID $dnsservers 38 } 39 Else 40 { 41 $dnsservers="192.168.251.210","10.4.2.220","10.5.2.220" 42 dnsconfig $ConnectionID $dnsservers 43 } 44 45 #查看本地DNS服务器列表 46 $dnss=gwmi win32_networkadapter -filter "NetConnectionStatus = 2"|foreach {(gwmi Win32_NetworkAdapterConfiguration -filter "index = $($_.index)").DNSServerSearchOrder} 47 $dnss