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

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 (“”,””)


Comments are closed. Login to edit/delete your existing comments

  • Max

    What is the significance of the InterfaceIndex?  How can you know which one to chose? In my case, for example, the index interface I want is 7. 

    • 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.

    • 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