Samo poznanie podstawowych komend PowerShella nie na wiele się zda, jeżeli nie będzie się ich stosowało w praktyce. Za pomocą Wiersza poleceń zwykle diagnozuje się problemy związane z siecią zatem dobrze zacząć od ich nowocześniejszych odpowiedników.
Ping
Polecenie ping służy do badania stanu połączenia internetowego, możliwości komunikacji z komputerem zdalnym. Zostało ono zastąpione komendą Test-NetConnection o następujących możliwościach użycia.
Test-NetConnection
– Polecenie bez argumentów odpyta internetbeacon.msedge.net, co jest idealne do sprawdzenia czy internet działa, a nie chce się pingować serwerów wp.pl.Test-NetConnection techniczny.net
– Sprawdzenie czy serwer techniczny.net odpowiada na pingi oraz wyświetlenie podstawowych informacji takich jak jego adres IP i średni czas odpowiedzi.Test-NetConnection -ComputerName techniczny.net -InformationLevel Detailed
– Identyczne zachowanie jak przy powyższej komendzie, ale zwróconych zostanie więcej informacji.
Telnet (sprawdzenie czy konkretny port jest otwarty)
Od pewnego czasu klient telnet nie jest domyślnie instalowany w systemie, a jednym z jego zastosowań jest sprawdzanie czy konkretny port jest otwarty i czy jakiś program na nim nasłuchuje. Jego PowerShellowym odpowiednikiem jest… Test-NetConnection.
Test-NetConnection techniczny.net -RemotePort 25
– Sprawdzenie czy techniczny.net nasłuchuje na porcie 25.Test-NetConnection techniczny.net -CommonTCPPort HTTP
– Można też użyć parametru który przechowuje zdefiniowane wartości dla: HTTP, RDP, SMB, WINRM (Windows Remote Management).
Tracert
Użycie polecenia tracert wyświetli drogę pakietów do docelowego komputera wraz z adresami IP węzłów przez które przechodzą. Korzystając z PowerShella można skorzystać z… Test-NetConnection.
Test-NetConnection techniczny.net -TraceRoute
– Wyświetlenie adresów IP wszystkich węzłów między komputerem a serwerem techniczny.net.Test-NetConnection techniczny.net -TraceRoute | Select -ExpandProperty TraceRoute | % { Resolve-DnsName $_ -type PT
R -ErrorAction SilentlyContinue }
– Identyczne zachowanie jak powyżej, ale zamiast adresów IP zostaną wypisane ich nazwy domenowe.
Ipconfig
Polecenie ipconfig, służące do wyświetlenia ustawień kart sieciowych, zastąpiono komendą Get-NetIPConfiguration.
Get-NetIPConfiguration
– Wypisanie podstawowych ustawień wszystkich interfejsów sieciowych.Get-NetIPConfiguration | Sort InterfaceIndex
– Zachowanie komendy jest takie samo jak w poprzednim przypadku, ale interfejsy zostaną posortowane według indeksu. Aby posortować je według nazwy zamiastInterfaceIndex
wystarczy użyćInterfaceAlias
.Get-NetIPConfiguration -Detailed
– Wyświetli więcej szczegółów.
Netstat
Netstat – wypisujący aktualne połączenia TCP/IP został przemianowany na Get-NetTCPConnection i może być użyty na następujące sposoby:
Get-NetTCPConnection
– Poda wszystkie połączenia wraz z ich lokalnym i zdalnym adresem oraz portem i statusem.Get-NetTCPConnection | ? State -eq Listen
– Wyświetli wyłącznie te ze statusem Listen.
Nslookup
Nslookup to teraz Resolve-DnsName. Służy do uzyskania adresu IP wskazanej domeny, ale prócz tego ma kilka innych możliwości:
Resolve-DnsName techniczny.net
– Sprawdzenie adresu IP dla domeny techniczny.net.Resolve-DnsName techniczny.net -Server 208.67.220.220
– Identyczne zachowanie jak w powyższym przykladzie, ale odpytany bedzie serwer 208.67.220.220 (OpenDNS).Resolve-DnsName techniczny.net -Server 208.67.220.220 -Type NS
– Oprócz odpytania konkretnego serwera DNS wyświetlone zostaną wyłącznie rekordy NS.
Niektórzy mogą zastanawiać się po co mieliby się uczyć nowych komend PowerShella, o niekiedy absurdalnie skomplikowanej składni, robiących to samo, a czasami mniej od tych dostępnych z poziomu konsoli. W rzeczywistości jednak nazewnictwo poszczególnych komend i ich parametry są dużo lepiej przygotowane, a używając klawisza tabulacji do podpowiadania konkretne polecenia można wpisać i wywołać bardzo szybko. Ponadto PowerShell pokazuje pazur przy pracy ze skryptami w których dostępnych jest wiele bajerów, a przy tym składnia jest nieco przejrzystsza niż w plikach wsadowych czy bashu.
DZIĘKUJĘ! :-)
Dla osoby nie mającej pojęcia o internecie a pragnącej się czegoś dowiedzieć, treść jest bardzo zrozumiała.
Nazwy, co prawda, niewiele mi mówią. Ale prawdziwe przyswajanie wiedzy rozpocznie się w momencie „wklepywania” poleceń.
Nie będę pisał żadnych skryptów. czy „czegoś tam”. Chcę się nauczyć podstawowego „Powerka” do obsługi laptopa. Po co mam szukać dodatkowych aplikacji, którymi zawirusowałem system, skoro mogę wszystkie (powiedzmy: prawie wszystkie) „cuda-niewidy” zrobić bezpośrednimi poleceniami. Tak w każdym razie przeczytałem na różnych stronach… forach… blogach. Cieńki jestem w poruszaniu się tam.
PPROSZĘ mi odpowiedzieć, o ile to możliwe, bo nie wiem, czy ten blog jeszcze funkcjonuje?…
W końcówce tekstu jest – cyt. „…robiących to samo, a czasami mniej od tych dostępnych z poziomu konsoli.”
Zatem – w moim przypadku – CZY LEPIEJ KORZYSTAĆ Z KONSOLI CZY Z POWERSHELLA ? Na temat „Powerka” czytałem dużo słów zachwytu, jaki to jest wspaniały, a teraz taki mały dyskomforcik psychiczny mnie trafił.
Pozdrawiam serdecznie
Najlepiej stosować polecenia konsolowe w przypadku gdy oferują więcej niż ich odpowiedniki PowerShellowe bądź ich użycie jest wygodniejsze. Trzeba jednak mieć na uwadze, że PS prawdopodobnie w, dość odległej jednak, przyszłości będzie produktem rozwijanym.