Samouczek PowerShell dla początkujących
⚡ Inteligentne podsumowanie
PowerShell Scripting to obiektowy silnik automatyzacji oparty na platformie .NET. Łączy polecenia cmdlet, skrypty i język skryptowy, aby pomóc administratorom IT w automatyzacji. Windows, zarządzaj usługami i łącz zdalne maszyny z poziomu jednego wiersza poleceń.

Czym jest PowerShell?
Windows PowerShell to obiektowy silnik automatyzacji i język skryptowy. Jest przeznaczony dla specjalistów IT i administratorów systemów, którzy muszą kontrolować i automatyzować administrację. Windows i innych aplikacji. PowerShell rozszerza koncepcje poznane w Windows Wiersz poleceń i Windows Skrypt hosta z nowymi obiektami, poleceniami cmdlet i wydajnym potokiem.
Łączy w sobie elastyczność skryptów, szybkość wiersza poleceń i wszechstronność graficznego narzędzia administracyjnego. Dzięki niemu administratorzy mogą sprawnie rozwiązywać problemy i eliminować godziny pracy ręcznej. Ten samouczek omawia podstawy niezbędne do nauki programu PowerShell od podstaw.
Dlaczego warto używać programu PowerShell?
Najważniejsze powody korzystania z programu PowerShell to:
- Zapewnia dobrze zintegrowaną obsługę wiersza poleceń dla systemu operacyjnego.
- Zapewnia pełny dostęp do każdego typu w środowisku .NET.
- Zaufali nam administratorzy systemów w przedsiębiorstwach.
- Umożliwia manipulowanie komponentami serwera i stacji roboczej za pomocą kilku linijek.
- Skierowany do administratorów systemów i charakteryzujący się przejrzystą składnią czasownikowo-rzeczownikową.
- Bezpieczniejsze niż bieganie VBScript lub innych starszych języków skryptowych.
Historia PowerShella
PowerShell 1.0 został wydany po raz pierwszy w 2006 roku. Obecnie PowerShell ma wersję 7.2 i nowsze. Wraz z pojawianiem się kolejnych wersji, jego możliwości i środowiska hostingowe znacznie się rozrastały.
Historia wersji programu PowerShell:
- PowerShell1.0 — wspierał lokalną administrację Windows Serwer 2003.
- PowerShell2.0 — zintegrowane z Windows 7 i Windows Server 2008 R2. Dodano funkcje zdalnego dostępu, transakcji, zadań w tle, zdarzeń i debugowania.
- PowerShell3.0 — wysłane z Windows 8 i Windows Serwer 2012 jako część Windows Framework zarządzania. Dodano zaplanowane zadania, łączność sesyjną i automatyczne ładowanie modułów.
- PowerShell4.0 — wysłane z Windows 8.1 i Windows Server 2012 R2. Dodano konfigurację pożądanego stanu, ulepszone debugowanie i diagnostykę sieci.
- PowerShell5.0 — część Windows Management Framework 5. Dodano zdalne debugowanie, definicje klas i wyliczenia .NET.
- PowerShell7.2 — oparty na .NET 6.0. Dodaje nowych operatorów, dynamiczne widoki błędów i automatyczne powiadomienia o wersjach.
Funkcje programu PowerShell
- Zdalna obsługa programu PowerShell: wywoływać skrypty i polecenia cmdlet na komputerze zdalnym.
- Praca w tle: uruchamiaj skrypty lub potoki asynchronicznie na komputerze lokalnym lub wielu komputerach zdalnych.
- transakcje: pozwól apletom poleceń i deweloperom wykonywać grupowane operacje, które można zatwierdzać lub wycofywać razem.
- WKKW: słuchać, przekazywać dalej i reagować na zdarzenia związane z zarządzaniem i systemem.
- Sieciowy transfer plików: natywne wsparcie dla priorytetowego, asynchronicznego i ograniczonego transferu plików między maszynami poprzez usługę inteligentnego transferu w tle (BITS).
Jak uruchomić program PowerShell
PowerShell jest preinstalowany w każdej najnowszej wersji Windows. Uruchom go w następujący sposób.
Krok 1) Wyszukaj PowerShell w Windows, następnie wybierz i kliknij.
Krok 2) Otworzy się okno programu PowerShell.
Polecenie cmdlet a polecenie
A polecenie cmdlet (wymawiane „command-let”) to lekkie polecenie używane w środowisku PowerShell. PowerShell wywołuje polecenia cmdlet w wierszu poleceń, a własne można tworzyć za pomocą interfejsów API PowerShell. Polecenia cmdlet różnią się od tradycyjnych poleceń powłoki w następujący sposób:
- Polecenia cmdlet są . NET Framework obiekty klasy; nie mogą być wykonywane jako samodzielne pliki wykonywalne.
- Polecenia cmdlet można napisać przy użyciu zaledwie kilkunastu linii kodu.
- Analizą składniową, formatowaniem danych wyjściowych i prezentacją błędów zajmuje się środowisko wykonawcze, a nie samo polecenie cmdlet.
- Polecenia cmdlet działają na obiektach, dzięki czemu zarówno strumienie tekstowe, jak i obiekty mogą przepływać przez potoki.
- Polecenia cmdlet są oparte na rekordach i przetwarzają pojedynczy obiekt na raz.
Większość funkcji programu PowerShell jest dostarczana za pomocą poleceń cmdlet, które zawsze używają wzorca nazewnictwa czasownik-rzeczownik (zawsze w liczbie pojedynczej). Polecenia cmdlet zwracają obiekty, a nie tekst. scenariusz — różni się od polecenia cmdlet — jest serią poleceń przechowywanych w pliku tekstowym z .ps1 rozbudowa.
Do popularnych czasowników, których będziesz używać podczas nauki programu PowerShell, należą:
- Get — odzyskać coś.
- Rozpocznij — uruchomić coś.
- wyczerpane — wyprowadzić coś.
- Stop — zatrzymać coś, co działa.
- Zestaw — zdefiniować coś.
- Nowości — stworzyć coś.
Ważne polecenia programu PowerShell
Sprowadź pomoc: wyświetl pomoc dotyczącą poleceń i tematów programu PowerShell.
Przykład: wyświetl pomoc dla Format-Table dowództwo.
Get-Help Format-Table
Pobierz polecenie: uzyskać informacje o czymkolwiek, co można przywołać.
Przykład: generowanie listy poleceń cmdlet i funkcji zainstalowanych na komputerze.
Get-Command
Uzyskaj usługę: wyszukuje wszystkie usługi na komputerze.
Przykład: pobierz każdą usługę, której nazwa zaczyna się od „vm”.
Get-Service "vm*"
Zostań członkiem: pokaż co można zrobić z obiektem.
Przykład: lista członków usług maszyn wirtualnych zwróconych przez polecenie Get-Service.
Get-Service "vm*" | Get-Member
Inne przydatne polecenia cmdlet:
Get-Module— pokaż zainstalowane pakiety poleceń.Get-Content— odczytać plik i przetworzyć jego zawartość.Get-*symbol wieloznaczny — wypisz wszystkie polecenia cmdlet, które zaczynają się od „Get-“.
Przykład: utwórz folder.
New-Item -Path 'X:\Guru99' -ItemType Directory
Wyjście:
Typy danych programu PowerShell
PowerShell obsługuje standardowe typy danych .NET, dzięki czemu można przechowywać dowolne wartości w zmiennej w sposób uporządkowany.
Zmienne specjalne
PowerShell udostępnia szereg wbudowanych zmiennych specjalnych. Poniżej wymieniono te najbardziej przydatne.
| Zmienna specjalna | OPIS |
|---|---|
| $Błąd | Tablica obiektów błędów reprezentująca najnowsze błędy. |
| $Host | Wyświetla nazwę bieżącej aplikacji hostującej. |
| $Profil | Przechowuje pełną ścieżkę profilu użytkownika dla domyślnej powłoki. |
| $PID | Przechowuje identyfikator procesu. |
| $PSUIkultura | Zawiera nazwę bieżącej kultury interfejsu użytkownika. |
| $NULL | Zawiera wartość pustą lub null. |
| $Fałsz | Zawiera wartość logiczną FALSE. |
| $Prawda | Zawiera wartość logiczną TRUE. |
Skrypty PowerShell
Skrypty programu PowerShell są przechowywane w .ps1 Pliki. Domyślnie nie można uruchomić skryptu, klikając go dwukrotnie — to zabezpieczenie chroni system przed przypadkowym uszkodzeniem. Aby uruchomić skrypt, kliknij go prawym przyciskiem myszy i wybierz „Uruchom za pomocą programu PowerShell”.
Polityka wykonywania kontroluje, które skrypty mogą być uruchamiane. Zobacz bieżącą politykę za pomocą Get-ExecutionPolicyMożliwe wartości obejmują:
- ograniczony — żadne skrypty nie są dozwolone. To jest ustawienie domyślne.
- Wszystkie podpisane — uruchamiane są tylko skrypty podpisane przez zaufanego programistę, a każdy z nich wymaga potwierdzenia.
- RemoteSigned — uruchamiane są Twoje własne skrypty, a także podpisane skrypty z zaufanych źródeł.
- Nieograniczony — można uruchomić dowolny skrypt (należy używać oszczędnie).
Kroki zmiany zasad wykonywania:
Krok 1) Otwórz podwyższony poziom uprawnień programu PowerShell, klikając prawym przyciskiem myszy program PowerShell i wybierając Uruchom jako administrator.
Krok 2) Uruchom poniższe polecenia.
Get-ExecutionPolicySet-ExecutionPolicy Unrestricted- Wchodzę
Ypo wyświetleniu monitu o potwierdzenie. Get-ExecutionPolicy
Pierwszy skrypt PowerShell
Otwórz Notatnik i wpisz:
Write-Host "Hello, Guru99!"
Zapisz plik za pomocą .ps1 rozszerzenie — na przykład, FirstScript.ps1.
W programie PowerShell uruchom skrypt za pomocą:
& "X:\FirstScript.ps1"
Co to jest PowerShell ISE?
Windows Zintegrowane środowisko skryptowe programu PowerShell (ISE) to domyślny edytor programu PowerShell. W ISE możesz uruchamiać polecenia, pisać testy i debugować skrypty w graficznym środowisku okienkowym. Obsługuje edycję wielowierszową, kolorowanie składni, uzupełnianie za pomocą klawisza Tab, wykonywanie selektywne i wiele innych.
PowerShell ISE oferuje również panel konsoli, który umożliwia bezpośrednie uruchamianie poleceń, a panele boczne wyświetlają kod źródłowy skryptów i wszelkie narzędzia podłączone do ISE. Można otworzyć wiele okien skryptów jednocześnie — przydatne podczas debugowania skryptów zależnych od funkcji zdefiniowanych w innych skryptach lub modułach.
Utwórz ponownie wcześniejszy skrypt w ISE:
- Wklej kod do edytora.
- Zapisz skrypt.
- Naciśnij F5, aby uruchomić.
- Obserwuj dane wyjściowe w panelu konsoli.
Próbka 2: poniższy skrypt wyświetla wolne pamięć wirtualna na maszynie.
Get-WmiObject -Class Win32_OperatingSystem -ComputerName localhost |
Select-Object -Property CSName, FreeVirtualMemory
PowerShell Concepts
Poniższe koncepcje stanowią podstawowe pojęcie codziennej pracy z programem PowerShell.
| Pojęcie | OPIS |
|---|---|
| polecenia cmdlet | Wbudowane polecenia napisane w językach .NET, takich jak VB czy C#. Programiści rozszerzają zestaw, ładując lub pisząc przystawki programu PowerShell. |
| Funkcje | Polecenia napisane w samym języku PowerShell, bez potrzeby korzystania ze środowiska IDE, takiego jak visual Studio. |
| Skrypty | Pliki tekstowe na dysku z .ps1 rozbudowa. |
| Zastosowania | Istniejący Windows programy wywoływane z powłoki. |
| Co jeśli | Polecenie cmdlet, aby nie wykonywało się, ale opisuje, co się stanie, jeśli to nastąpi. |
| Potwierdzać | Polecenie powoduje wyświetlenie monitu przez polecenie cmdlet przed wykonaniem. |
| Gadatliwy | Zapewnia wyższy poziom szczegółowości operacyjnej. |
| Debug | Polecenie cmdlet powoduje wysłanie informacji debugowania. |
| BłądAkcja | Definiuje działanie polecenia cmdlet w przypadku błędu. Dozwolone wartości: continue, stop, silentlycontinue, inquire. |
| Zmienna błędu | Nazywa zmienną przechowującą informacje o błędzie. |
| Zmienna zewnętrzna | Polecenie cmdletu, aby zapisał dane wyjściowe w określonej zmiennej. |
| wyczerpaneBuffer | Przechowuje określoną liczbę obiektów przed ich wysłaniem do potoku. |
Zalety korzystania ze skryptów programu PowerShell
- Skrypty programu PowerShell są wydajne i zwięzłe — można wiele osiągnąć zaledwie kilkoma linijkami tekstu.
- Zmienne deklaruje się za pomocą
$<variable>składnia. - Zmienne mogą przechowywać dane wyjściowe poleceń, obiekty i wartości pierwotne.
- Typ zmiennej nie musi być określony jawnie.
PowerShell kontra wiersz poleceń
| PowerShell | Wiersz polecenia |
|---|---|
| Głęboko zintegrowany z WindowsOferuje interaktywną linię poleceń i pełny język skryptowy. | Domyślny interfejs wiersza poleceń dostarczany przez MicrosoftProsta aplikacja Win32, która komunikuje się z innymi obiektami Win32. |
| Używa poleceń cmdlet, które można wywoływać interaktywnie lub za pomocą skryptów automatyzacji. | Brak poleceń cmdlet. |
| Traktuje dane wyjściowe jako obiekty, dzięki czemu można je przekazać do innego polecenia cmdlet poprzez potok. | Wynikiem jest zwykły strumień tekstu, a nie obiekty. |
| Zaawansowany pod względem funkcji, możliwości i architektury wewnętrznej. | Podstawowa powłoka, przystosowana do starszych zadań wsadowych. |
Zastosowania programu PowerShell
PowerShell stał się standardowym wyborem administratorów IT, ponieważ radykalnie zmniejsza nakład pracy w dużych sieciach korporacyjnych. Wyobraź sobie zarządzanie ponad czterystoma serwerami i wdrażanie nowego rozwiązania bezpieczeństwa, które opiera się na konkretnej usłudze działającej na każdym hoście.
Ręczne logowanie się do każdego serwera jest powolne i podatne na błędy. Pojedynczy skrypt programu PowerShell może w ciągu kilku minut przejrzeć każdy serwer, zgłosić, które hosty już korzystają z usługi, a nawet włączyć ją na pozostałych. Skrypt rejestruje intencję raz i niezawodnie stosuje ją w całej infrastrukturze.
















