Czy kiedykolwiek próbowałeś napisać kod PowerShell i utknąłeś? Nie martw się więcej! Jednym z najlepszych sposobów, aby stać się dobrym w PowerShell, jest zrozumienie podstaw. Znajomość kilku podstawowych poleceń PowerShell może uczynić Cię profesjonalistą i efektywniej zautomatyzować zadania administracyjne.
W tym samouczku poznasz podstawowe polecenia cmdlet PowerShell, które musisz znać, aby Twoje środowisko PowerShell było ciekawsze.
Wymagania
Ten samouczek będzie praktyczną demonstracją, ale nie ma wielu wymagań wstępnych. Jeśli chcesz kontynuować, każdy system (Windows lub Linux) z PowerShell 5.1 lub nowszym będzie działał. Chociaż polecenia są wyświetlane przy użyciu programu Windows PowerShell, poniższe przykłady działają w wieloplatformowym programie PowerShell 7+.
Get-Help
Niezależnie od tego, czy uruchamiasz kod, czy polecenia w środowisku wiersza poleceń, cmdlet Get-Help jest przydatny. Zacznijmy ten samouczek od poznania sposobu działania polecenia cmdlet Get-Help.
Polecenie cmdlet Get-Help oferuje informacje potrzebne do skutecznego korzystania z dowolnego polecenia bez otrzymywania błędów. Działa jako dokumentacja dla każdego polecenia PowerShell.
Otwórz PowerShell jako administrator i uruchom poniższe polecenie Get-Help, aby wyświetlić szczegółowe (-Detailed) informacje o poleceniu, takie jak polecenie cmdlet Get-ExecutionPolicy.
Zamiast tylko szczegółowych informacji, być może chcesz wyświetlić pełne informacje o cmdlecie. Jeśli tak, zamiast tego dodaj parametr -Full w poleceniu Get-Help.
Być może nadal potrzebujesz więcej przykładów, aby uniknąć błędów podczas uruchamiania polecenia. W takim przypadku dodaj parametr -Examples, aby zobaczyć przykłady pisania polecenia. Uruchom poniższe polecenie Get-Help, aby uzyskać przykłady (-Examples) korzystania z polecenia cmdlet Get-Process (wyświetl listę procesów).
Get-Process
Czy pamiętasz Menedżera zadań Windows, który wyświetla wszystkie twoje procesy, usługi, aplikacje i to wszystko? Polecenie cmdlet Get-Process to podstawowe, ale niezbędne polecenie cmdlet, które zapewnia dostęp do wszystkich procesów komputera w kilku krokach bez uruchamiania Menedżera zadań.
Get-History
Może zaistnieć potrzeba sprawdzenia ostatnich poleceń, na przykład sprawdzenia, czy ostatnio wykonane polecenie jest poprawne lub czy faktycznie zostało wykonane polecenie. Ale czy PowerShell ma historię poleceń? Tak! Polecenie cmdlet Get-History zwraca obiekt wszystkich ostatnich poleceń w bieżącej sesji programu PowerShell.
Get-Service
Podobnie jak cmdlet Get-Process, PowerShell umożliwia również przeglądanie wszystkich usług uruchomionych w systemie. Polecenie cmdlet Get-Service umożliwia wyświetlanie wszystkich usług, które mogą być serwerem bazy danych lub aplikacją, która automatycznie kontroluje jasność ekranu komputera.
Uruchom poniższe polecenie, aby uzyskać listę wszystkich usług w systemie w formacie tabeli. Za pomocą tego polecenia możesz wyświetlić również zatrzymane usługi.
Uruchom poniższe polecenie Get-Service, przekazując pierwszą literę i gwiazdkę (A*) usług, które chcesz wyświetlić. Dodanie znaku wieloznacznego pozwala odfiltrować wszystkie usługi, które zaczynają się na literę „A”.
Start-Job
PowerShell udostępnia cmdlet do uruchamiania zadań w tle podczas sesji. Polecenie cmdlet Start-Job zapewnia środowisko PowerShell do uruchamiania kodu lub poleceń jako zadania w tle bez interakcji użytkownika.
Uruchom poniższe polecenie Start-Job, aby uruchomić zadanie w tle dla polecenia cmdlet Get-Command. Uruchomienie zadania w tle uruchamia polecenie cmdlet Get-Command bez wyświetlania danych wyjściowych w wierszu polecenia.
Set-Location
Czasami trzeba zmienić lokacje (ścieżkę katalogu), na przykład uruchamiać skryptu lub programu z lokalizacji. Ale jak zmienić katalogi? Polecenie cmdlet Set-Location pomoże ci w tym. Polecenie cmdlet Set-Location ustawia bieżący katalog na katalog wskazany w poleceniu.
Uruchom poniższy kod, aby ustawić bieżący katalog roboczy na C:\Users\hp\Desktop. Zmień hp na właściwą nazwę użytkownika komputera.
Test-Path
PowerShell może wyświetlić błąd, jeśli próbujesz uzyskać dostęp do pliku, który nie istnieje. Jak tego uniknąć? Polecenie cmdlet Test-Path umożliwia sprawdzenie, czy ścieżka istnieje, czy nie.
Uruchom poniższe polecenie Test-Path, wskaż ścieżkę, którą chcesz testować. W tym przykładzie polecenie sprawdza, czy istnieje ścieżka C:\Users\hp\Desktop\NewFolder.
Poniżej możesz zobaczyć, że polecenie zwróciło wartość True, ponieważ ścieżka istnieje. W przeciwnym razie otrzymasz wynik False.
ConvertTo-HTML
Jeśli wolisz uporządkowany formularz danych, przekonwertuj dane do formatu HTML za pomocą polecenia cmdlet ConvertTo-Html. Zasadniczo polecenie pobiera plik wyjściowy, który chcesz przekonwertować, i nazwę pliku, w którym chcesz go zapisać.
Uruchom poniższe polecenie, aby zebrać wynik polecenia Get-Command w pamięci i przekonwertuj (ConvertTo-Html) na plik HTML o nazwie Command.html.
1 |
Get-Command | ConvertTo-Html > Commands.html |
Export-CSV
Jeśli uważasz, że raport w formacie CSV byłby lepszy niż HTML, użyj polecenia cmdlet Export-CSV. Podobnie jak w przypadku polecenia cmdlet ConvertTo-Html, polecenie cmdlet Export-CSV umożliwia eksportowanie danych do pliku CSV.
Uruchom poniższe polecenie, aby zebrać listę poleceń programu PowerShell (Get-Command) i wyeksportuj listę jako plik CSV (Export-CSV) o nazwie Commands.csv.
Otwórz plik Commands.csv w Excel. Nieźle, prawda?
Get-Command
Ostatnim poleceniem PowerShell na liście jest cmdlet Get-Command. Polecenie cmdlet Get-Command zasadniczo zawiera listę wszystkich dostępnych poleceń PowerShell, które można uruchomić w formacie tabeli. Ale jak widziałeś w poprzednich przykładach, wiesz, że to nie wszystko, co może zrobić Get-Command.
Być może chcesz wybiórczo wyświetlić listę poleceń cmdlet lub aliasów. Jeśli tak, dodaj parametr -CommandType do polecenia cmdlet Get-Command, aby odfiltrować dane wyjściowe według określonego typu polecenia. Wartością parametru -CommandType może być Alias, Cmdlet lub Function.
Uruchom poniższe polecenie Get-Command, aby wyświetlić tylko polecenia cmdlet (-CommandType cmdlet) o nazwach zaczynających się od „G” (-Name G*).
Innym sposobem filtrowania danych wyjściowych Get-Command jest przesyłanie ich do polecenia cmdlet Select-Object. Jak wiesz, obiekt zwrócony przez polecenie cmdlet Get-Command ma format tabeli. W tej tabeli nazwy kolumn reprezentują właściwości, które można wybrać z obiektu.
Uruchom poniższe polecenie Get-Command, aby zebrać listę wszystkich poleceń programu PowerShell i przefiltrować ekran, aby wyświetlić właściwość definicji każdego polecenia (Select-Object -Property Definition).
Podsumowanie
PowerShell jest narzędziem, poprzez który można zarządzać wszelkimi aspetkami systemu Windows oraz konfiguracją infrastruktury w Microsoft Azure. Dlatego warto znać PowerShell’a, aby nudne oraz powtarzalne konfiguracje możliwe były do wykonania automatycznie.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).