How to Change Your IP Address in Windows Using PowerShell

You may know how to change the IP address via the GUI. It's pretty simple. Just go to Control Panel > Network and Internet, select the IPv4 properties and change the IP address. The whole process takes about a minute. But what if you have to do this on multiple systems and repeat all these steps several times? Then it becomes really annoying. With PowerShell, you can easily do this tedious task.

PowerShell may sound difficult and you may be hesitant to work with it, but it has some unique features.

With PowerShell, you can gather information, change system settings and automate almost everything in Windows. It is more powerful than Cmd and offers more flexibility. Tasks done with PowerShell can not only automate but also save you time.

To open PowerShell, type PowerShell in the search bar of your Windows 10 computer and then press Ctrl+Shift+Enter to launch it with administrator privileges.

To see the current IP configuration, type Get-NetIPAddress in PowerShell

Get-NetIPAddress

Get-NetIPAddress gives IP address information with prefix length and address family.

Get current IP address in PowerShell

Get-NetIPConfiguration

Alternatively, you can type Get-NetIPConfiguration to get some advanced details. It gives IP address information along with its default gateway, DNS information, and Interface index.

From Get-NetIPConfiguration Result, note down the index number of the adapter for which you want to change IP address.

Use Get-NetIPConfiguration on Windows

To specifically get the Interface index, type

Get-NetAdapter

in PowerShell:

PowerShell Get-NetAdapter command

Set a new IP address using PowerShell

All of the above commands are used to view current configurations. To set a new IP address, execute below command. Replace xxx.xxx.xxx.xxx with your own IP address.

New-NetIPAddress -InterfaceIndex “IndexNo” -IPAddress xxx.xxx.xxx.xxx -PrefixLength 24 -DefaultGateway xxx.xxx.xxx.xxx

Suppose we have the following required configurations:

  • IndexNo: 8
  • IPAddress: 192.168.1.38
  • PrefixLength: 24
  • DefaultGateway : 192.168.1.1

Replace the command parameters with your own addresses.

Note that the prefix length specifies the subnet mask of IP address.

Set IP address using PowerShell

Set a New DNS Servers Address

Up till now, we have configured IP address, subnet mask, and Default-gateway successfully. Now one thing is missing which is the DNS server address. to set a new DNS server address, type the command with the below syntax.

Set-DnsClientServerAddress -InterfaceIndex "IndexNo" -ServerAddresses "xxx.xxx.xxx.xxx , xxx.xxx.xxx.xxx"

Replace xxx.xxx.xxx.xxx with your required primary and secondary DNS server addresses.

Set DNS server address using PowerShell If you want to remove the IP address with PowerShell, use the following command

Remove-NetIPAddress -IPAddress "xxx.xxx.xxx.xxx"

Remove IP address using PowerShell

As you can see, it is relatively straightforward to configure TCP/IP through PowerShell. The techniques that I have shown you tend to be most useful when you need to configure multiple machines.