Powershell i ustawienia sieciowe (IP,maska,brama,DNS) w Windows 8.1 i Serwer 2012 R2

Jakiś czas temu podpowiedziałem Wam jak w Windowsie można modyfikować ustawienia sieciowe (IP stałe i dynamiczne, serwer DNS, bramę) poleceniem netsh. Sztuczka, poza zastosowaniem w konsoli, pozwala również na stworzenie sobie skryptu .bat, który szybko i sprawnie podmieni Wam ustawienia karty, gdy przepinacie komputer pomiędzy siecią kablową, a wifi, albo pomiędzy vlanami. Ręczne wpisywanie tych wartości we właściwościach połączenia jest stratą czasu i naraża nas na drobne pomyłki będące powodem dodatkowych frustracji – zresztą nasi czytelnicy zapewne wiedzą jakie zalety ma administrowanie Windowsami z konsoli. Wiecie pewnie, że obok CMD lubię też Powershella, więc dla zachowania równowagi w przyrodzie ugryziemy to samo zagadnienie, tym razem w niebieskiej konsoli.

Jeszcze słowem wstępu, użyjemy cmdletów z Powershell 4.0 które zadziałają niestety tylko na systemach od Windows 8.1 i Serwer 2012 R2. Konsola PS musi być uruchomiona jako Administrator. W starszych systemach zachęcam do używania wspomnianego polecenia netsh.

 

Ustawienie statycznego adresu IP, bramy i maski

Użyjemy jednego cmdletu New-NetIPAddress, w którym podamy wszystkie wartości. Nietrudno zgadnąć, co jest czym 🙂

New-NetIPAddress -IPAddress 192.168.1.3 -InterfaceAlias „Nazwa Interfejsu Sieciowego” -DefaultGateway 192.168.1.1 -AddressFamily IPv4 -PrefixLength 24

Po kliknięciu ENTER ujrzymy podsumowanie ustawień karty:
powershell-new-netipaddress

Ustawienie adresu dynamicznego (DHCP):

Set-NetIPInterface -InterfaceAlias „Nazwa Interfejsu Sieciowego” -DHCP Enabled

Ustawienie adresów DNS. Wykorzystamy cmdlet „Set-DnsClientServerAddress”. Możemy podać jeden, lub kilka adresów po przecinku:

Stały DNS:

Set-DnsClientServerAddress -InterfaceAlias „Nazwa Interfejsu Sieciowego” -ServerAddresses „192.168.1.111”,”192.168.1.112″

DNS dynamiczny, z DHCP:

Set-DnsClientServerAddress -InterfaceAlias „Nazwa Interfejsu Sieciowego” -ResetServerAddresses

I to w zasadzie wszytko co chciałem Wam dzisiaj przekazać. Jeśli macie jakieś ciekawe pytania lub sugestie, piszcie śmiało.

Łukasz Skalikow

Obecnie Manager IT. Przez lata byłem Inżynierem systemów. Jestem entuzjastą i specem od vSphere, Windows serwer, GPO. Od zawsze byłem zwolennikiem wiersza poleceń i automatyzacji. Obecnie, ze względu na pracę, rodzinę i wyjazdy służbowe, dużo mniej udzielam się na blogu, ale mam nadzieję, że pośród kilkuset porad opublikowanych na spece.it, wiele osób znajdzie dla siebie coś przydatnego :)

Przeczytaj także...

5 komentarzy

  1. Tomasz Sagittarius pisze:

    Witam.
    Potrzebuję pomocy w napisaniu skryptu, który zmieniałby ustawienia sieciowe (IP,M,B,DNSy) zdalnie na komputerach w domenie. Wcześniej zaczytałby nazwy komputerów i nową adresację z pliku. Czy jest w ogóle to możliwe? Bardzo proszę o pomoc.

Dodaj komentarz