Nastavení siťových profilů (IP adresy) skriptem z příkazové řádky
Pokud se s notebookem přesunujete mezí více lokalitami (stačí pokud si pracovní notebook nosíte domů), jistě jste se setkali s nutností změnit na každé lokalitě IP adresu – v zaměstnání si notebook bere adresu obvykle z DHCP serveru, doma nastavujete statickou IP adresu (pokud nemáte router).
Existuje více způsobů jak situaci řešit – lze použít funkčního, ale nepříliš pohodlného, ručního přepsání adres lze použít celou řadu komerčních nebo volně šířitelných nastrojů – např. Net Profiles, IP Switcher, NetSetMan či software dodávaný výrobcem notebooku (IBM Acess…), existuje i jednoduchý způsob přepínat síťové profily pomocí skriptu.
Od Windows verze 2000 a vyšší nabízí Microsoft možnost použítí nástroje Network Shell, který je možné vyvolat systémovým příkazem NETSH. Detailní použití nástroje NETSH popisuje TechNet.
Nabízím vám řešení pomocí jednoduchého dávkového souboru, který je možné spouštět např. po spuštění PC a lze si v něm vytvořit neomezené množství profilů síťových adaptérů v PC.
Hlavní částí skriptu je soubor setip.cmd:
@echo off title Nastaveni sitoveho profilu setlocalset OK=N :again set /p choice=Stiskem klavesy zvolte profil [1] - Doma (staticka IP), [2] - Prace (DHCP): if /i [%choice%]==[END] endlocal&goto end if [%choice%]==[] goto again if [%choice%]==[1] goto 1 if [%choice%]==[2] goto 2 set /p xxx=Spatna volba, stisknete libovolnou klavesu pro ukonceni. endlocal goto end :1 echo Probiha konfigurace sitoveho adapteru na statickou adresu v profilu DOMA... @netsh exec doma.txt set /p see=NASTAVEN profil DOMA, klavesa [9] - kontrola nastaveni, [ENTER] - konec if [%see%]==[9] goto zobraz echo Konec konfigurace goto end :2 echo Probiha konfigurace sitoveho adapteru na DHCP adresu v profilu PRACE... @netsh exec prace.txt set /p see=NASTAVEN profil PRACE, klavesa [9] - kontrola nastaveni, [ENTER] - konec if [%see%]==[9] goto zobraz echo Konec konfigurace goto end :zobraz @netsh int ip show configpause :end @echo oncls
V tomto vzorovém souboru jsou použity dva síťové profily – statický síťový profil DOMA a dynamický profil PRACE, který používá DHCP server.
Soubor doma.txt:
# ------------------------------------------------------- # Konfigurace staticke IP adresy pro sitovy adapter "LAN" # ------------------------------------------------------- pushd interface ip # konfiguruju adapter na adresu 192.168.2.50, masku 255.255.255.0, # branu 192.168.2.1s DNS 192.168.2.1 # konfigurace IP adresy pro sitovy adapter "LAN" set address name="LAN" source=static addr=192.168.2.50 mask=255.255.255.0 # konfigurace brany pro sitovy adapter "LAN" set address name="LAN" gateway=192.168.2.1 gwmetric=0 # konfigurace DNS adresy pro sitovy adapter "LAN" set dns name="LAN" source=static addr=192.168.2.1 register=primary popd # konec konfigurace adaptéru
Soubor prace.txt:
# ------------------------------------------------------- # Konfigurace DHCP IP adresy pro sitovy adapter "LAN" # ------------------------------------------------------- pushd interface ip # konfigurace IP adresy pro sitovy adapter "LAN" # konfigurace ip,masky a gw set address name="LAN" source=dhcp #konfigurace dns set dns name="LAN" source=dhcp register=primary #konfigurace wins set wins name="LAN" source=dhcp popd # konec konfigurace adaptéru
Pokud si skripty projdete, je zřejmé, že po výběru síťového profilu v souboru setip.cmd proběhne volání netsh s parametry umístěnými v souboru nazevprofilu.txt. Po změně konfigurace je možné stiskem klávesy [9] ověřit nastavení a aplikaci zavřít.
