
This script doesn’t need much explanation, you need change DNS IP on multiple machnes (Usually Servers, as clients get DNS IP from DHCP) and you need to do it fast. This is how you do it.
1 2 3 4 5 6 7 8 9 10 11 12 13 | $computer = get-content .\servers.txt foreach ($comp in $computer){ try{ $a = (Get-WmiObject -Class Win32_NetworkAdapterConfiguration -ComputerName $comp -ErrorAction Stop | Where-Object {$_.ipenabled -eq "true"}).InterfaceIndex Invoke-Command -ComputerName $comp -ScriptBlock {param( $b) netsh interface ip add dns name=$b ip1 } -args $a -ErrorAction Stop Invoke-Command -ComputerName $comp -ScriptBlock { param( $b) netsh interface ip add dns name=$b ip2 index=2} -args $a -ErrorAction Stop } catch { Write-Output "Failed $comp" | Out-File .\error.txt -Append } } |
Needles to mention, DNS is just an example, you could use it to modify other interface properties as well.
Leave a Reply