7 powodów dla których warto uczyć się wiersza poleceń i powershella

ps_cmd_miniaturaNie wiem, czy znacie naszego Bloga, czy trafiliście tu dzisiaj przypadkiem, ale stali czytelnicy wiedzą, że rzadko opisujemy rozwiązania bez choćby wzmianki o CMD lub Powershellu, a cała masa artykułów prawi wyłącznie o administrowaniu z konsoli.

Kilka razy spotkałem na swojej drodze „informatyków” nie znających CMD i PS, co oczywiście jest akceptowalne jeśli osoba stawia w IT pierwsze kroki, ale ja mówię o takich, którzy negują sens używania komend. W szczególności młode pokolenie praktykantów i techników-informatyków nader często krzywi się na wzmiankę o komendach.

Czemu ciągle wciskamy Wam komendy zamiast pokazać na obrazku gdzie trzeba kliknąć?

Czemu warto zaśmiecać nasze szare komórki komendami CMD i PS?

Niektórych rzeczy po prostu się nie da zrobić w GUI

Sprawdzanie łączności miedzy dwoma urządzeniami w sieci (ping-owanie) w interfejsie graficznym jest nieprzewidziane 🙂 Znacie podobne przykłady?
A czy programy okienkowe są zawsze w pełni funkcjonalne? Świetnym przykładem jest Exchange 2007, który najzwyczajniej w świecie wiele dotychczasowych opcji ze środowiska graficznego przeniósł do Powershella. Przed konsolą nie ma ucieczki…

Automatyzacja zadań

spece_IT_robotsTo zagadnienie rozumie się coraz lepiej wraz rosnącą liczbą maszyn jakie mamy pod swoją opieką. Nawet jeśli informatyk bez zadyszki wspiera 10 pecetów w firmie, to przy już 100 przestałby ogarniać temat, nie mówiąc o środowiskach z tysiącami takich maszyn. W wielu firmach skrypty to nawet nie luksus, tylko konieczność.

Nawet w małym środowisku, czy nawet jednym PC skrypty mogą być bardzo przydatne. Kiedyś brałem udział w szkoleniu w którym prowadzący kilka razy zmieniał adres statyczny na dynamiczny – …a wystarczyło napisać sobie 2 proste pliki wsadowe z poleceniem NETSH, które w mgnieniu oka zrobiłyby to za niego.

Praca zdalna

Choć wiele narzędzi administracyjnych (np. Computer Mangement) pozwala łączyć się z komputerami zdalnymi, każdy kto zetknął się z pakietem PSTOOLS, a w szczególności z psexec, pskill, psinfo już nigdy nie będzie chciał tracić czasu na łączenie się w środowisku graficznym

Efektywność

uptime_150Mierzyliście kiedyś czas potrzebny do uruchomienia okienka z listą połączeń sieciowych w Windows 8 lub 2012? Porównajcie to do wpisania ncpa.cpl w powershellu. Nawet banalne wylogowanie trwa znacznie krócej przy korzystaniu z konsoli Powershell. Powiecie, że czepiam się sekund, ale to naprawdę ma sens, jeśli przed komputerem spędzamy wiele godzin 🙂

Ale mam dla Was prawdziwy „Szach i Mat”: migracja dużych ilości danych. Poznajcie Robocopy lub Forfiles i porównajcie efektywność tych narzędzi z explorerem lub innymi menedżerami plików. Choć Total Commander jest genialnym narzędziem, to przy wielu plikach wiersz poleceń będzie bezkonkurencyjny.

Komendy rzadziej się zmieniają niż interfejs graficzny!

windows2012logo_ikonaPrawie wszystkie komendy oraz narzędzia administracyjne (np. ncpa.cpl, gpedit)uruchamia się tak samo od wielu lat, podczas gdy interfejs graficzny poddawany jest różnym eksperymentom. Przy przejściu na Windows 8 i 2012 najmniej ucierpiały osoby używające wiersza poleceń, bo jak wiemy środowisko okienkowe nieźle zrewolucjonizowano (zapewne słyszeliście mniej dyplomatyczne formy tego stwierdzenia). Wniosek? Jaki będzie Windows 9, czy 10 na razie nie wiemy, możemy jednak z dużym prawdopodobieństwem założyć, że komendy pozostaną te same 🙂 A czy dzisiaj, pracując z Windows 7,8,8.1 potrafilibyście bez zająknięcia odnaleźć wszystko w środowisku graficznym Windows XP Home?

Konsola wygląda PRO 🙂

t-shirt supermanPowiecie, że to słaby argument, ale nawet dla nieogolonych nerdów w spranych t-shirtach image to ważna sprawa. Niewielu rzeczy obawiamy się tak, jak „lamerskiego” błądzenia po interfejsie danego systemu (nie zdziwcie się jak za 5 lat ktoś wam podrzuci XPka do naprawienia ) na oczach użytkownika. Konsola jest PRO – nawet jeśli przeglądamy „helpa”, lub komenda zwróci błąd z powodu złej składni – klikanie po menu nie robi takiego wrażenia:) Nie przekonuje Was ta argumentacja? Jeśli nie pani Krysi to może …szefowi będziecie chcieli zaimponować? 🙂

Raportowanie i zrzucanie wyników do pliku

CMD_report2_ikonaBardzo ważną funkcją CMD i PS jest możliwość zrzucania danych do pliku, czego zwykle nie potrafi środowisko graficzne. Wykonywanie skryptu aż prosi się o jakiś raport końcowy, który na przykład powie nam na ilu komputerach program zainstalował się poprawnie, a na ilu trzeba coś „zdebugować”.
Co do raportowania, stałym elementem pracy speca IT jest tzw „capacity planning”, czyli zliczanie czegoś i szukanie czegoś po kryteriach (użytkownicy ze starymi hasłami, czy komputery z Windowsem 2012)
Idealny przykład narzędzi raportowych stanowią DSQUERY i DSGET, które zbieranie informacji o obiektach w domenie czynią szybkim i efektywnym, podczas gdy konsola Active Directory ma ograniczone możliwości raportowe, a wszelkie nakładki zazwyczaj działają topornie..

strong_CMD_150Nie twierdzę, że każde zadanie w systemie Windows powinno się wykonywać z konsoli – byłoby to pewnie niemożliwe (surfowanie po internecie), a już na pewno niezbyt przyjemne. Sednem tej porady jest zachęcenie wszystkich speców IT do rozwijania umiejętności pracy w konsoli CMD lub Powershell, bo dopiero w okienku zaczyna się prawdziwe IT. 🙂

Ł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...

6 komentarzy

  1. Anonim napisał(a):

    Ciekawy artykuł, jednak brak przykładów użycia czyni go mało atrakcynym

    • Łukasz Skalikow napisał(a):

      Dzięki 🙂 A co do przykładów, to kliknij w którykolwiek link w tym artykule. Szczególnie psexec, robocopy, czy dsquery. Tam są dziesiątki opisywanych przeze mnie przykładów.

  2. mateusz napisał(a):

    ncpa.cpl nie „ncap.cpl „

Dodaj komentarz