Here is a simple batch file that changes an IP address and hostname, and primary DNS suffix.
There is a simple menu system so that a user can select a site and a device. The script then changes the IP address in accordance with these selections.
If you want this to appear on everyone's desktop then copy it to c:\users\public\desktop
@ECHO OFF
:check_Permissions
echo Administrative permissions required. Detecting permissions...
cacls "%systemroot%\system32\config\system" 1>nul 2>&1
if %errorLevel% == 0 (
echo Success: Administrative rights OK!
) else (
echo Failure: Current permissions inadequate.
echo.
echo To run this batch file right-click and select
echo "Run as administrator".
echo.
pause
exit /b 1
)
:MENU
CLS
ECHO ============= IP CHANGE TOOL =============
ECHO This script changes the IP address and hostname
ECHO of the laptop to match the site and DEVICE.
ECHO.
ECHO --------------- Site ----------------
ECHO 1. Sydney 3. Brisbane
ECHO 2. Canberra
ECHO -------------------------------------
ECHO.
SET SITE=
SET /P SITE=Please enter a number:
ECHO.
ECHO -------------- Device -----------------
ECHO 1. Laptop
ECHO 2. Domain Server
ECHO ----------------------------------------
SET DEVICE=
SET /P DEVICE=Please enter a number:
IF '%SITE%'=='1' IF '%DEVICE%'=='1' (
echo Changing IP address and hostname to Sydney 10.0.1.10 Laptop
powershell rename-computer -NewName LAPTOP
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name 'NV Domain' -Value sydney.example.com
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name 'Domain' -Value sydney.example.com
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name SyncDomainWithMembership -Value 0
netsh interface ipv4 set address name=Ethernet static 10.0.1.10 255.255.255.0 10.0.1.1
)
IF '%SITE%'=='1' IF '%DEVICE%'=='2' (
echo Changing IP address and hostname to Sydney 10.0.1.20 Laptop
powershell rename-computer -NewName SERVER
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name 'NV Domain' -Value sydney.example.com
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name 'Domain' -Value sydney.example.com
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name SyncDomainWithMembership -Value 0
netsh interface ipv4 set address name=Ethernet static 10.0.1.20 255.255.255.0 10.0.1.1
)
IF '%SITE%'=='2' IF '%DEVICE%'=='1' (
echo Changing IP address and hostname to Canberra 10.0.2.10 Laptop
powershell rename-computer -NewName LAPTOP
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name 'NV Domain' -Value Canberra.example.com
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name 'Domain' -Value Canberra.example.com
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name SyncDomainWithMembership -Value 0
netsh interface ipv4 set address name=Ethernet static 10.0.2.10 255.255.255.0 10.0.2.1
)
IF '%SITE%'=='2' IF '%DEVICE%'=='2' (
echo Changing IP address and hostname to Canberra 10.0.2.20 Laptop
powershell rename-computer -NewName SERVER
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name 'NV Domain' -Value Canberra.example.com
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name 'Domain' -Value Canberra.example.com
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name SyncDomainWithMembership -Value 0
netsh interface ipv4 set address name=Ethernet static 10.0.2.20 255.255.255.0 10.0.2.1
)
IF '%SITE%'=='3' IF '%DEVICE%'=='1' (
echo Changing IP address and hostname to Brisbane 10.0.3.10 Laptop
powershell rename-computer -NewName LAPTOP
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name 'NV Domain' -Value Brisbane.example.com
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name 'Domain' -Value Brisbane.example.com
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name SyncDomainWithMembership -Value 0 netsh interface ipv4 set address name=Ethernet static 10.0.3.10 255.255.255.0 10.0.3.1
)
IF '%SITE%'=='3' IF '%DEVICE%'=='2' (
echo Changing IP address and hostname to Brisbane 10.0.3.20 Laptop
powershell rename-computer -NewName SERVER
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name 'NV Domain' -Value Brisbane.example.com
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name 'Domain' -Value Brisbane.example.com
powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name SyncDomainWithMembership -Value 0 netsh interface ipv4 set address name=Ethernet static 10.0.3.20 255.255.255.0 10.0.3.1
)
:Quit
echo Finished. Please check for errors above.
PAUSE>NUL
EXIT