Netsh - zarządzanie sieciową konfiguracją

tech • 316 słów • 2 minuty czytania

Biorąc laptopa na zajęcia na uniwerku wkurza mnie ciągłe zmienianie ustawień sieci, głównie adresów IP, aby podłączyć się do sieci. Dlatego postanowiłem poszukać, ewentualnie napisać prosty programik do szybkiej i wygodnej zmiany ustawień sieciowych z kilku zapisanych konfiguracji.

Jednym z ciekawszych programów, jaki znalazłem to Shock IP Changer. Gdybym miał sam napisać swoją wersję to pewnie wyglądałby podobnie ;)

Sądząc po zachowaniu programu, prawdopodobnie do zmian konfiguracji sieci wykorzystuje on narzędzie wiersza poleceń - netsh. Według systemowej pomocy:

Netsh to narzędzie do obsługi skryptów uruchamiane w wierszu polecenia, które zezwala na lokalne lub zdalne wyświetlanie lub modyfikowanie konfiguracji sieciowej uruchomionego komputera. Narzędzie Netsh zapewnia również funkcję skryptów, która umożliwia uruchamianie na określonym komputerze grupy poleceń w trybie wsadowym. Za pomocą narzędzia Netsh można również zapisać skrypt konfiguracyjny w pliku tekstowym w celu utworzenia archiwum lub ułatwienia konfiguracji innych serwerów.

Więcej informacji można również znaleźć w microsoftowej dokumentacji Netsh.

Tak, więc pozostałem przy shellowej zmianie ustawień sieciowych. Mógłbym wykorzystać skrypty czy ładowanie ustawień z plików wykorzystując netsh, ale zadowoliłem się prostym wsadowym plikiem dla każdej konfiguracji. Wystarczy odpalić odpowiedniego bat’a i po chwili mam sieć skonfigurowaną pod konkretną sytuację ;)

Przykładowy bat z ustawieniami domyślnymi dla domowego LAN-u:

@ECHO OFF
REM Konfiguracja IP interfejsu dla "PoˆĄczenie lokalne"
REM dla domowego LANu

netsh interface ip set address name="PoˆĄczenie lokalne" source=static addr=192.168.0.2 mask=255.255.255.0
netsh interface ip set address name="PoˆĄczenie lokalne" gateway=192.168.0.1 gwmetric=0
netsh interface ip set dns name="PoˆĄczenie lokalne" source=static addr=192.168.0.1 register=PRIMARY
netsh interface ip set wins name="PoˆĄczenie lokalne" source=static addr=none

W sumie można byłoby napisać jednego bat’a z jakimś menu do wyboru konfiguracji ;)

Inną alternatywą w stosunku do plików wsadowych jest skrypt, czy to w VBScript, czy innym języku obsługiwanym przez konsolę PowerShell 2.0, która od jakiegoś czasu staje się coraz popularniejszym windowsowym shellem i przybywa ciekawych i przydatnych skryptów. A wiele z nich, w różnych językach, można znaleźć w microsoftowym repozytorium: The Script Center Script Repository.

Komentarze (3)

pirosan avatar
pirosan
20080310-130827-pirosan

malus:* wlasnie tego potrzebowalem XD

anjszulc avatar
anjszulc
20091230-105416-anjszulc

No dobra ale jesli mam windowsa PL i musze wpisac “Połączenie lokalne” a cmd mi krzyczy ze nie ma polaczenia “Po**czenie lokalne” gdzie ** to krzaczki :(
co z tym zrobic :(

Malcom avatar
Malcom
20091230-110333-malcom

Bo musi to być w odpowiednim kodowaniu, takim jaki używa wiersz poleceń.

Najprościej będzie zrobić zrzut bieżącej konfiguracji do pliku (netsh dump), a następnie z niego wyciągnąć “poprawną” nazwę. Można też zmienić nazwę połączenia na jakąś prostą bez PL znaków ;)

Dodaj komentarz

/dozwolony markdown/

/nie zostanie opublikowany/