PowerTip: Use PowerShell to Set Primary and Secondary DNS Server Addresses

Doctor Scripto

Dr Scripto

Summary: Use Windows PowerShell to set the primary and secondary DNS server addresses for a client.

Hey, Scripting Guy! Question  I recently changed the IP address scheme for an entire subnet. How can I use Windows PowerShell to set the
           primary and secondary DNS server addresses for the client workstations?

Hey, Scripting Guy! Answer  Use the Set-DNSClientServerAddress cmdlet, and specify the primary and the secondary DNS servers as
           an array, for example:

Set-DNSClientServerAddress –interfaceIndex 12 –ServerAddresses (“”,””)

Doctor Scripto
Dr Scripto

Scripter, PowerShell, vbScript, BAT, CMD

Follow Dr Scripto   


Leave a comment

    • Avatar
      Pieterjan Rossaert

      DNS servers are interface-dependent. With the InterfaceIndex, you can define for which interface you change the DNS settings. Alternatively, you can define the interface with -InterfaceAlias. Both values are retrievable with the command Get-NetIPInterface.

    • Avatar
      Mike Thompson

      Hi I was just playing with this and I am not sure if your are still having an issue. If you use -interfacealias Ethernet*

      Set-DnsClientServerAddress -interfacealias Ethernet* -serveraddresses (“,”)

      This should change all wired connections DNS servers. I had to do this so I can set the secondary DNS for Static IP addresses in a SCCM task sequence