Good bye netsh – cz.1 NetAdapter

Windows Server 2012 nadchodzi wielkimi krokami, a wraz z nim nadchodzą pewne zmiany. Nowa odsłona systemu, podobnie jak jego poprzednik posiada również tzw. wersje Core, czyli pracę tylko i wyłącznie w trybie tekstowym. Jednakże praca na starszych wersjach systemu czyli Windows Server 2008 w tym trybie nie należała do najprzyjemniejszych a przynajmniej do momentu instalacji PowerShell’a.

Sama konsola w pierwszej odsłonie Windows Server 2008 w ogóle nie była wspierana, natomiast w wersji R2 nie była domyślnie instalowana wraz z systemem. Windows Server 2012 Core wprowadza tutaj kilka zmian. Domyślnie zaraz po instalacji systemu i pierwszym logowaniu posiadamy dostęp do PowerShell’a i to już w wersji 3.0. Dodatkowo sama liczba dostępnych modułów jest też znacząco większa, jak m.in. zarządzanie siecią. W poprzednim podejściu do konfiguracji sieci z poziomu linii komend wykorzystywaliśmy głównie zestaw narzędzi z netsh na czele. Ewentualnie pisaliśmy własne rozwiązania w oparciu o skrypty PowerShell’a. Obecnie podejście to dość mocno się zmienia.

Dziś skupimy się na konfiguracji samych interfejsów sieciowych. Dla Windows Server 2012 w wersji Core, a konkretnie dla PowerShell’a 3.0 powstał moduł NetAdapter. Sprawdźmy jakie daje on nam możliwości:

Get-Command -Module NetAdapter

Jedną z pierwszych czynności jakie powinniśmy wykonać podczas konfigurowania sieci jest sprawdzenie jakie posiadamy dostępne interfejsy. Dlatego przy użyciu w/w komendy szukamy stosownego cmdletu, czyli:

Get-NetAdapter

Sam cmdlet zwraca niewielką liczbę informacji ale za to jedne z najważniejszych, tzn. nazwę interfejsu jego ID co jest dość przydatne w późniejszej konfiguracji, adres MAC czy status i typ połączenia. Jednakże nie są to jedyne możliwości tego cmdletu. Jeżeli wejdziemy głębiej w strukturę zwracanego obiektu możemy znaleźć m.in. informacje o sterownikach wykorzystanych przez kartę.

Starym odpowiednikiem powyższej informacji był:

netsh int show int

Jednakże zwracał on dość uboższe informacje.

Moduł NetAdapter pozwala nie tylko na przeglądanie informacji o naszych interfejsach, ale również na zarządzanie nimi. Możemy np. włączać lub wyłączać odpowiedni interfejsy w zależności od naszych potrzeb.

Disable-NetAdapter -InterfaceAlias Ethernet
Enable-NetAdapter -InterfaceAlias Ethernet

Czy nawet dokonać szybkiego restartu np. po zmianie konfiguracji.

Restart-NetAdapter -Name Ethernet

Analogicznie dla netsh:

netsh int set int Name="Ethernet" Admin="Disabled"
netsh int set int Name="Ethernet" Admin="Enabled" 

Podobnie jeśli posiadamy wiele kart sieciowych możemy pozmieniać nazwy poszczególnych interfejsów, np. wg ich przeznaczenia, tak by lepiej sobie zorganizować pracę. Wykonujemy to analogicznie jak np. zmiana nazwy komputera:

Rename-NetAdapter -Name Ethernet -NewName BackupAdapter

Z bardziej zaawansowanych operacji możemy np. wykonywać modyfikacje w konfiguracji samego interfejsu. Na przykład jeśli musieliśmy wyłączyć parametr TCP Checksum Offload w przeszłości wiązało się to z modyfikowaniem wpisów rejestru. Tym razem jednak można dokonać tych samych modyfikacji przy użyciu naszego modułu wręcz w sposób przezroczysty dla administrator. Wykonujemy tylko jedną komendę PowerShella:

Set-NetAdapterAdvancedProperty -Name Ethernet -DisplayName "TCP Checksum Offload (IPv4)" -DisplayValue "Disabled"

I widzimy, iż parametr ten został wyłączony.

Są to tylko najprostsze z możliwych przykładów, ale chodzi mi tylko o zaprezentowanie nowego podejścia do konfiguracji sieci. Wszystkie cmdlety są zbudowane w ten sam intuicyjny sposób, jak zresztą wszystkie inne rozwiązania dostępne z poziomu PowerShell’a, dlatego możemy odstawić część starych narzędzi linii komend.

Źródła:

http://technet.microsoft.com/en-us/library/jj134956.aspx

Advertisements

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s