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.


Podobne Tematy:

  • Tomasz Sagittarius

    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.

    • Rutek

      :)

    • Łukasz Piątkowski

      witam Przyłączam się do prośby kolegi

      • Hejka, z czym masz konkretnie problem w skrypcie?
        Plik CSV wczytuj się poleceniem import-csv, potem używamy pętli foreach. Pokaż co masz, to „z-debug-ujemy” :)

    • Jasne, że jest możliwe. I jak tam Ci poszło ze skryptem? Udało się go napisać? Jak chcesz możemy go wrzucić na stronkę dla potomnych :)