PowerShell od początku cz. 6
17.06.19r.
Efektywne wyszukiwanie informacji o cmdletach w PowerShell za pomocą polecenia Get-Command. Dowiedz się, jak wykorzystać to narzędzie do filtracji poleceń po nazwie, typie, modułach, a także jak eksplorować różne atrybuty polecenia za pomocą formatowania i wyświetlania list właściwości.
Poprzednio zapoznaliśmy się z podstawami wykorzystania pomocy w
PowerShell.
W tej części zajmiemy się wyszukiwaniem informacji na temat cmdlet.
W tym celu będziemy używać polecenia
Get-Command, które zwraca informacje na temat polecenia lub poleceń. Podobnie jak w przypadku
Get-Help akceptowane są wyrażenia wieloznaczne.
Na przykład
Get-Command *path* wyświetli informacje na temat funkcji, cmdlet i aplikacji zawierających ciąg znaków path gdziekolwiek w nazwie.
Pamiętajmy, że informacje dotyczyć będą wyłącznie zainstalowanych modułów.
Domyślnie zobaczymy informacje na temat typu (np. Function,
Cmdlet, Application), nazwy, numeru wersji oraz modułu, w którym został zdefiniowany element.
W jednej z poprzednich części wspomniałem, że cmdlet składa się z czasownika (verb) oraz oddzielonego od niego myślnikiem rzeczownika (noun). Dzięki temu możemy poszukać wszystkich poleceń z określonym czasownikiem, np. Get; Get-Command -Verb Get. W tym przypadku Verb jest nazwą parametru, a Get jego wartością.
Gdybyśmy chcieli zobaczyć wszystkie polecenia z modułu Storage wystarczy, że napiszemy:
Get-Command -Module Storage
Get-Command oprócz parametrów Noun i Module przyjmuje jeszcze wiele innych. Pełna listę można znaleźć pod adresem:
Czy można łatwo wyświetlić listę wszystkich parametrów dla danego polecenia? Na przykład żeby uzyskać tą informację dla Flush-Volume wystarczy wprowadzić:
(Get-Command -Name Flush-Volume).parameters
W powyższym poleceniu operator „.” pozwala na wyświetlenie właściwości obiektu. Operatorom będzie poświęcona jedna z następnych części naszego cyklu. W innej z kolei zajmiemy się między innymi obiektami.
Teraz wróćmy na chwilę do początku tej części. Bardzo często wykonanie polecenia (w tym również Get-Command) nie powoduje wyświetlenia wszystkich kolumn, a tylko domyślnie wybranych. Jak spowodować w takim razie, żeby wyświetlony został pełen zestaw informacji, czyli tak naprawdę wszystkie właściwości. Można tego dokonać wykorzystując pipeline (szczegółowo zajmiemy się tym pojęciem w jednej z kolejnych części)
Get-Command -Name Get-Command|Format-List -Property *
W powyższym poleceniu określam, że jestem zainteresowany poleceniem Get-Command (Get-Command -Name Get-Command). Żeby wszystkie informacje zmieściły się na ekranie i były łatwiejsze do odczytu rezultaty pokazuję nie w tabeli, a w postaci listy (Format-List). Na koniec podaję, że interesują mnie wszystkie właściwości (to one są wyświetlane w poszczególnych kolumnach)
Po przeczytaniu tej i poprzedniej części wiemy jak posługiwać się pomocą dla PowerShell. Uzbrojeni w tą wiedzę, możemy zacząć wykorzystywać go w różnego rodzaju zadaniach.
Zapraszam do lektury kolejnych części.
---------------------------------------
Autor:
Adam Rynarzewski - MCT, MCSE