Windows Powershell

Windows PowerShell – nazewnictwo cmdletów

Podczas projektowania Windows PowerShell Microsoft postanowił zastosować dość prostą konwencję nazw komend, które będą łatwe do zapamiętania i będą obrazować możliwie najbardziej szczegółowo efekt, który osiągniemy po wykonaniu takiego polecenia.

Praca z każdym narzędziem skryptowym sprawia, że musimy nauczyć się specyficznego dla niego zbioru komend, które są wykorzystywane przez system operacyjny. i tak na przykład w Windowsie aby zrestartować usługę używamy polecenia net, aby zrobić to na zdalnym komputerze używamy już sc, ponieważ net działa tylko lokalnie. Wyświetlenie listy uruchomionych procesów na lokalnej maszynie zapewnia nam polecenie tasklist a taskkill zabija nieprawidłowe procesy. Każde z tych poleceń ma swoje parametry, których musimy się nauczyć i pamiętać, które polecenie może być użyte w którym miejscu.

Windows PowerShell definiuje zupełnie inne podejście do skryptowania i budowania komend. Każde z poleceń Windows PowerShell ma podobną budowę, która jednocześnie pozwala bardzo szybko i jednoznacznie znaleźć interesujące nas polecenie. Pozwoliłem sobie popełnić małą tablelkę porównującą sposób wylistowania i zatrzymania procesu i usługi w zwykłym CMD oraz w PowerShell.

Polecenie CMD PowerShell
Wylistuj procesy tasklist Get-Process
Zatrzymaj proces taskkill Stop-Process
Uruchom usługę net start Start-Service
Zatrzymaj usługę net stop Stop-Service

Co daje nam taka standaryzacja poleceń? Przede wszystkim zmniejszenie ilości różnych poleceń do zapamiętania, przyśpieszenie procesu szukania nowych poleceń oraz ujednolicenie komend i ich parametrów.

Składnia „Czasownik-rzeczownik”

PowerShell używa konwencji nazewnictwa „czasownik-rzeczownik”, gdzie każdy cmdlet i polecenie składa się z standardowego czasownika oddzielonego myślnikiem od rzeczownika, który zależy od konkretnej czynności, którą chcemy wykonać. Czasowniki są w PowerShellu nie zawsze zawsze pokrywają się z definicją językową tej części mowy, ale wyrażają konkretne akcje w Windows PowerShell. Rzeczowniki natomiast odpowiadają rzeczownikom w każdym języku i opisują konkretne typy obiektów potrzebne do administracji systemem.

Jak wcześniej można było już zauważyć na przykładzie Get-Process i Stop-Process, słowa kluczowe układają się w logiczną całość i można się łatwo domyśleć, co dana komenda dostarcza. Na przykład komenda Stop-Computer wyłącza komputer.

Jak mogę sprawdzić listę dostępnych komend?

No cóż, najprościej użyć komendy, której nie będę wyjaśniał jakoś szczególnie – sami odgadnijcie: Get-Command. Jako parametry możemy wyciągnąć tylko te, które mają tylko określony czasownik lub rzeczownik, używając odpowiednio parametrów -Verb nazwaparametru lub -Noun nazwaparametru, To drugie rozwiązanie jest nawet lepsze bo dzięki niemu poznamy od razu wszystkie składniki tego komponentu i wykonać odpowiednie akcje.

Przykład komendy PowerShell Get-Command

Przykład komendy PowerShell Get-Command

Przykład komendy PowerShell Get-Command

Przykład komendy PowerShell Get-Command

Standardowe parametry cmdletów

Projektowanie systemu skryptowego od zera dało Microsoftowi szansę na stworzenie uniwersalnego narzędzia, którego nauka dla administratorów miała być czystą przyjemnością, jednocześnie dając olbrzymie możliwości. Zadbano także o tych administratorów, którzy wolą mieć jak najkrótsze skrypty i dla sporej ilości poleceń istnieją ich skrócone wersje.
Ustandaryzowano również metodę wprowadzania parametrów i stworzono zbiór kilku standardowych, które mogą pomóc nam ocenić ryzyko ich wykonania, sprawdzić co nie działa lub przy dłuższych skryptach przekazać jakieś informacje.
Do standardowych parametrów możemy zaliczyć WhatIf, Confirm, ErrorAction, ErrorVariable, OutVariable, OutBuffer, Verbos, Debug, Warn.

Pomoc dla cmdletu.

Każdy z cmdletów możemy także zapytać o jego funkcję dopisując do nazwy parametr -?, lub wpisując Get-Help nazwacmdletu
PowerShell Get-Command -?

PowerShell Get-Command -?

Sugerowane parametry

Cmdlety PowerShell’a opierają się w dużej mierze na parametrach im przekazywanym. W skryptach nie ma co prawda stosowania zmiennych o określonych nazwach ale są zalecenia dotyczące używania niektórych z nich. Na przykład parametr określający nazwę komputera powinien nazywać się ComputerName, zamiast hosta, node’a, serwera czy systemu.

Ta strona używa ciasteczek Więcej informacji

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Zamknij