PowerShell od początku cz. 4

26.10.17r.


Poznaj podstawy korzystania z poleceń (cmdlet) w PowerShell. Omówimy strukturę cmdlet, składającą się z czasownika i rzeczownika, oraz sposób, w jaki można korzystać z wbudowanej pomocy, aby łatwiej zrozumieć ich zastosowanie i parametry. Przyjrzymy się również różnicom w działaniu podobnych czasowników takich jak Get, Read i Receive.

W poprzedniej części naszych rozważań na temat PowerShell omówiliśmy działanie PowerShell ISE.
Najwyższy czas żebyśmy zaczęli omawiać polecenia (cmdlet) PowerShell.
 
Na początek wiadomość jednocześnie dobra i zła. PowerShell to tysiące poleceń. Niemożliwe jest ich zapamiętanie. Tym bardziej, że wiele ma dużo różnego rodzaju dodatkowych parametrów. To była ta zła część. A dobra – mamy pomoc, z której można korzystać, a olbrzymia ilość cmdlet powoduje, że PowerShell jest technologią coraz bardziej uniwersalną w różnego rodzaju zastosowaniach.

Cmdlet to dwa słowa rozdzielone myślnikiem. Najpierw czasownik, mówiący co chcemy zrobić, a potem rzeczownik, określający z czym chcemy to zrobić.

Najczęściej używane w cmdlet czasowniki to:
• New – tworzenie nowego zasobu (plik, użytkownik…)
• Set – zmiana istniejącego zasobu lub opcjonalnie jego utworzenie, jeżeli nie istnieje
• Get – pobranie zasobu
• Read – odczytanie informacji z zasobu
• Write – zapisanie informacji w zasobie
• Receive – odebranie wysłanych informacji
• Send – wysłanie informacji do miejsca docelowego
• Add – dodanie zasobu do kontenera
• Remove – usunięcie zasobu z kontenera
Listę zatwierdzonych w tej technologii czasowników można znaleźć na stronie
Approved Verbs for Windows PowerShell Commands:
 
Czasem różnica pomiędzy zastosowaniem poszczególnych czasowników nie musi być oczywista, na przykład Get, Read oraz Receive. Get to pobranie całego obiektu takiego jak powiedzmy plik, Read z kolei to odczytanie zawartości obiektu, czyli na przykład zawartości pliku w postaci tekstu, a Receive to odczytanie czegoś, co zostało uprzednio wysłane, czyli można się spodziewać, że zostanie on  poprzedzony wykonaniem operacji takich jak Connect bądź Send.

Ale oczywiście dopiero po dołączeniu rzeczownika uzyskujemy cmdlet
 

W powyższym przykładzie polecenie Get-Service pobiera wszystkie usługi z lokalnego komputera. Polecenia mogą dodatkowo zawierać parametry modyfikujące ich działanie
 

Jak widać, wprowadzenie parametru -Name do polecenia Get-Service zmodyfikowało jego działanie i pobrany został tylko serwis alg. Nie zawsze konieczne jest podawanie nazwy parametru, czasem wystarczy jego wartość. Którego parametru dotyczy wartość jest określone przez kolejność na liście.
 

W tym przypadku posłużyłem się tylko nazwa usługi nie definiując nazwy parametru. Przy okazji proszę zwrócić uwagę, że w powyższych przykładach nazwa serwisu raz jest pisana małymi, a raz dużymi literami? Od tego jak ta wartość została napisana w poleceniu, zależy w jaki sposób zostanie wyświetlona. PowerShell nie jest językiem czułym na wielkość liter. Chociaż… Istnieją sytuacje, w których wielkość liter ma znaczenie. Na przykład operator -eq który nie uwzględnia wielkości liter oraz -ceq który bierze to pod uwagę.
 

O operatorach będziemy rozmawiać w jednej z następnych części.
 
Parametr – Name dla polecenia Get-Service jest parametrem opcjonalnym. Oznacza to, że jego definiowanie nie jest obowiązkowe. Polecenie Get-Service działało bez błędu również w przypadku braku parametru -Name, pobierając wszystkie serwisy.
 
Czasem jednak parametry są obowiązkowe. Spróbujmy jak zadziała polecenie Get-Item
 
 
Jak widać PowerShell napomina nas, że należy podać wartość obowiązkowego parametru Path[0]. Nawiasy kwadratowe po nazwie parametru mówią nam, że można tutaj podać wiele wartości. Wprowadźmy wartość C:\ jako wartość Path[0], a potem naciśnijmy Enter rezygnując z wprowadzania kolejnej wartości
 

Przy okazji. Co oznaczają litery w kolumnie mode zwróconej przez nasze polecenie? Możliwe wartości są tutaj następujące:
d - Directory
a - Archive
r - Read-only
h - Hidden
s - System
l - Reparse point, symlink, etc
 
Specjalnym rodzajem parametrów są przełączniki (switch). Są to parametry które akceptują wartości true albo false. Na przykład polecenie Get-ChildItem C:\ -Recurse zwróci elementy w folderze C:\ oraz w podfolderach.


Teraz, gdy znamy już strukturę cmdlet należy znaleźć informacje na ich temat. Tym zajmiemy się w następnej części.


---------------------------------------
Autor:
Adam Rynarzewski - MCT, MCSE 

« powrót



Podziel się:

     
Copyright © 2003-2024 SOFTRONIC. Wszelkie prawa zastrzeżone
NASZE BIURA
Warszawa
Aleja Jana Pawła II 25 00-854 Warszawa tel.: +48 226280121 tel.: +48 228856296
Poznań
ul. J.H. Dąbrowskiego 79A 60-529 Poznań tel.: +48 618658840 tel.: +48 618658841