ESC

Start typing to search across invoices, services, domains, tickets, and more...

Search... Ctrl+K
Network & IP

How to Add Multiple IP Addresses on Windows Server: GUI, netsh and PowerShell

6 steps 8 min read 5 views 0
On this page

Running several websites, mail services or proxies on one Windows server often requires binding multiple IPs to a single NIC. This guide explains three ways to add multiple IP addresses on Windows Server 2016/2019/2022: the Advanced TCP/IP settings dialog, netsh, and bulk addition with PowerShell New-NetIPAddress.

Confirm the assigned IPs, subnet mask and gateway in the client area first: log in → My Products & Services → select the server → Manage; open a ticket if you cannot find them. Examples below use the adapter name Ethernet and the range 203.0.113.0/24.

Step 1: Identify the Adapter Name and Current IP Configuration

Open PowerShell as Administrator and list the adapter alias (InterfaceAlias) and existing addresses:

Get-NetAdapter
Get-NetIPConfiguration

If the adapter uses DHCP, switch it to a static IP first; extra addresses cannot be added to a DHCP-configured interface.

Step 2: Add an IP via Advanced TCP/IP Settings (GUI)

Best when you only need a few extra IPs:

  1. Press Win+R, type ncpa.cpl to open Network Connections;
  2. Right-click the main adapter → Properties → double-click Internet Protocol Version 4 (TCP/IPv4);
  3. Make sure "Use the following IP address" is selected, then click Advanced;
  4. On the IP Settings tab, click Add under IP addresses and enter the new IP and mask;
  5. Click OK to save. Additional IPs do not need a gateway.

Step 3: Add IP Addresses with netsh

netsh works on every version and fits nicely into batch scripts. Run in an elevated Command Prompt:

netsh interface ipv4 add address "Ethernet" 203.0.113.10 255.255.255.0

To add 203.0.113.11 through 203.0.113.20 (interactive cmd; use %%i instead of %i inside a .bat file):

for /L %i in (11,1,20) do netsh interface ipv4 add address "Ethernet" 203.0.113.%i 255.255.255.0

Step 4: Bulk Add IPs with PowerShell New-NetIPAddress

PowerShell is more flexible and lets you set SkipAsSource so extra IPs are not chosen as the default outbound address:

New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 203.0.113.10 -PrefixLength 24 -SkipAsSource $true

Add a whole range in one go:

11..20 | ForEach-Object {
    New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "203.0.113.$_" -PrefixLength 24 -SkipAsSource $true
}
Never pass -DefaultGateway for additional IPs. Duplicate default gateways break routing and can disconnect Remote Desktop.

Step 5: Verify the Multiple IPs Are Active

List all bound IPv4 addresses and test from outside:

Get-NetIPAddress -InterfaceAlias "Ethernet" -AddressFamily IPv4 | Format-Table IPAddress,PrefixLength,SkipAsSource
ipconfig /all

Ping the new IP from another machine. If it fails, check that Windows Firewall allows ICMP echo (inbound rule "File and Printer Sharing (Echo Request)").

Step 6: Remove Unneeded IP Addresses

Remove-NetIPAddress -IPAddress 203.0.113.10 -Confirm:$false
netsh interface ipv4 delete address "Ethernet" 203.0.113.11

FAQ

My server's outbound IP changed after adding IPs.

Windows may pick a new address as the source. Set SkipAsSource on the extra IPs: Set-NetIPAddress -IPAddress 203.0.113.10 -SkipAsSource $true.

I get "The object already exists".

The IP is already bound or left over in the registry. Check with Get-NetIPAddress and remove it with Remove-NetIPAddress before adding again.

Remote Desktop no longer connects.

Log in through the VNC console in the client area, check whether the primary IP or gateway was changed by mistake, and restore it.

Still stuck? Open a ticket with IMIDC 24/7 technical support.

Was this answer helpful?

Related Tutorials