netsh - Scripts to change IP settings
was a time when I plugged my Laptop into three different networks,
with different IP address spaces, per day. It did not take a long
time until I got upset adopting my IP address settings DNS,
Subnetmask and Gateway three times a day manually - thanks to clicky
Netsh is the solution to this problem. It is a command line tool
which is available on a default Windows XP and 2000 installation and
therefore no additional third party software will be needed. To "automatically"
adopt my IP settings I wrote some small batch files which simply use
netsh to change the IP configuration.
If you find a mistake or have suggestions for improvement feel free to
setting the IP address, Subnetmask and Gateway
This single line of code sets the IP address, Subnetmask and
Gateway of a specific network adapter on any windows machine. It can
eigther be executed inside a command line or from a batch script.
netsh interface ip set address "LAN" static
192.168.1.99 255.255.255.0 192.168.1.1 1
In this specific case the name of the network adapter is 'LAN-Connection',
the IP address to be set is 192.168.1.99, the subnetmask is
255.255.255.0 and the default gateway should be set to 192.168.1.1.
The name of the network interface can be looked up using the
Don't forget the trailing 1!
setting the DNS server
To set the DNS servers which
should be used the following command is used:
netsh interface ip set dns name="LAN" source=static addr=192.168.100.11 register=primary
> netsh interface ip add dns name="LAN" addr=126.96.36.199 index=2
The first line sets the primary nameserver and the second line sets
the secondary nameserver. If ther is only one nameserver available
the second line can be skipped.
In some networks administrators are friendly and offer a DHCP (Dynamic
Host Configuration Protocol) Service which sets all IP settings
automatically. However to make use of this service the network
adapter has to be configured to listen to this protocol. Of course
this can also be done with the help of netsh.
netsh interface ip set address "LAN" dhcp
> netsh interface ip set dns name="LAN" dhcp
The first line is used to configure the IP address, subnetmask
and gateway automatically with the help of DHCP. However the DNS
servers are still not updated. Therfore the second line updates also
the DNS settings.
putting it all together
To have a fully functional
network configuration you either have to use DHCP or you have to set
all configuration information manually. A sample script for a DHCP
environment can be downloaded here and
another sample script for a static configuration can be found
The use of these scripts makes
especially sense when multiple adapters, for instance a LAN and a
wireless interface, have to be configured. However it can also make
life easier when you have to switch between different configurations