Samouczek PowerShell dla początkujących: Naucz się skryptów PowerShell

Zacznijmy uczyć się Powershell Lessons. Najpierw dowiemy się:

Czym jest PowerShell?

Windows PowerShell to zorientowany obiektowo silnik automatyzacji i język skryptowy. Jest przeznaczony głównie dla specjalistów IT i administratorów systemów w celu kontroli i automatyzacji administrowania Windows OS i inne aplikacje. Zapewnia nowe, fascynujące koncepcje, które rozszerzają zdobytą wiedzę i skrypty, które stworzyłeś w ramach Windows Wiersz poleceń i Windows Środowiska hosta skryptów.

Łączy elastyczność skryptowania, szybkość wiersza poleceń i moc narzędzia administracyjnego opartego na GUI. Pozwala na wydajne rozwiązywanie problemów, pomagając administratorowi systemu wyeliminować przyszłe godziny pracy ręcznej. Przejdziemy przez wszystkie ważne aspekty, które powinieneś znać, aby nauczyć się PowerShell.

To kompletny przewodnik po podstawach tworzenia skryptów Powershell… zaczynajmy!

Dlaczego warto używać Powershell?

Oto kilka ważnych powodów używania Powershell:

  • Powershell oferuje dobrze zintegrowane środowisko wiersza poleceń dla systemu operacyjnego
  • PowerShell umożliwia pełny dostęp do wszystkich typów w środowisku .NET
  • Zaufali administratorzy systemu.
  • PowerShell to prosty sposób manipulowania komponentami serwera i stacji roboczej
  • Jest skierowany do administratorów systemu, tworząc łatwiejszą składnię
  • PowerShell jest bezpieczniejszy niż uruchamianie VBScript lub inne języki skryptowe

Historia PowerShella

Pierwsza wersja PowerShell 1.0 została wydana w 2006 roku. Obecnie PowerShell ma wersję 7.2. W miarę upływu roku i wersji możliwości programu PowerShell i środowiska hostingowe znacznie rosły.

Zobaczmy historię wersji programu PowerShell:

  • PowerShell w wersji 1 wspierał lokalną administrację Windows serwer 2003
  • PowerShell 2.0 został zintegrowany z Windows 7 i Windows Serwer 2008 R2. Ta wersja obsługuje komunikację zdalną i zwiększa możliwości programu PowerShell, takie jak transakcje, zadania w tle, zdarzenia, debugowanie itp.
  • PowerShell 3.0 został wydany jako wewnętrzna część pakietu Windows ramy zarządzania. Został zainstalowany Windows 8 i Windows Server 2012. Możesz dodawać i planować zadania, łączność sesji, automatyczne ładowanie modułów itp.
  • Dostarczono program PowerShell 4.0 Windows 8.1 i Windows Serwer 2012 R2. W tej wersji dodano obsługę konfiguracji pożądanego stanu, ulepszone debugowanie i diagnostykę sieci.
  • PowerShell 5.0 został wydany jako wewnętrzna część Windows framework zarządzania 5. Funkcje oferowane w tej wersji obejmują zdalne debugowanie, definicje klas, wyliczenia .NET itp.
  • PowerShell 7.2 został wydany. Jest zbudowany na .NET 6.0. Ta wersja oferuje nowych operatorów, uproszczony i dynamiczny widok błędów, automatyczne powiadomienia o nowej wersji itp.

W dalszej części tego samouczka dotyczącego skryptów Powershell dowiemy się o funkcjach Powershell.

Funkcje Powershella

  • PowerShell Remoting: PowerShell umożliwia wywoływanie skryptów i poleceń cmdlet na komputerze zdalnym.
  • Zadania w tle:Pomaga Ci wywoływać skrypty lub potoki asynchronicznie. Możesz uruchamiać swoje zadania na komputerze lokalnym lub na wielu zdalnie obsługiwanych komputerach.
  • Transakcje: Włącz polecenie cmdlet i umożliwia programistom działanie
  • Wieczór: To polecenie ułatwia słuchanie, przekazywanie i reagowanie na zdarzenia związane z zarządzaniem i systemem.
  • Sieciowy transfer plików: Powershell oferuje natywną obsługę priorytetowego, asynchronicznego i ograniczonego transferu plików między maszynami z wykorzystaniem technologii BITS (Background Intelligent Transfer Service).

Jak uruchomić PowerShell

Teraz w tym samouczku dotyczącym skryptu Powershell dowiemy się, jak uruchomić PowerShell Windows OS.

PowerShell jest preinstalowany we wszystkich najnowszych wersjach Windows. Musimy w tym celu uruchomić PowerShell, wykonując podane kroki:

Krok 1) Wyszukaj PowerShell w Windows. Wybierz i kliknij

Uruchom PowerShella

Krok 2) Zostanie otwarte okno Power Shell

Uruchom PowerShella

Polecenie cmdlet programu PowerShell

Polecenie cmdlet zwane także poleceniem let to lekkie polecenie używane w podstawowym środowisku Windows PowerShell. Program PowerShell wywołuje te polecenia cmdlet w wierszu poleceń. Możesz tworzyć i wywoływać polecenia cmdlet przy użyciu interfejsu APIS programu PowerShell.

Polecenie cmdlet a polecenie

Polecenia cmdlet różnią się od poleceń w innych środowiskach powłoki poleceń w następujący sposób:

  • Polecenia cmdlet są . NET Framework obiekty klasy Nie można tego wykonać osobno
  • Polecenia cmdlet mogą składać się z zaledwie kilkunastu wierszy kodu
  • Polecenia cmdlet nie obsługują analizowania, formatowania danych wyjściowych i prezentacji błędów
  • Proces poleceń cmdlet działa na obiektach. Dlatego strumień tekstu i obiekty nie mogą być przekazywane jako dane wyjściowe do potokowania
  • Polecenia cmdlet są oparte na rekordach, dlatego przetwarzają pojedynczy obiekt na raz

Większość funkcji programu PowerShell pochodzi z poleceń cmdlet, które są zawsze w formacie czasownik-rzeczownik, a nie w liczbie mnogiej. Co więcej, polecenie cmdlet zwraca obiekty, a nie tekst. Polecenie cmdlet to seria poleceń składająca się z więcej niż jednej linii, przechowywana w pliku tekstowym z rozszerzeniem .ps1.

Polecenie cmdlet zawsze składa się z czasownika i rzeczownika oddzielonych łącznikiem. Niektóre z czasowników używanych do nauki PowerShell to:

  • Get - Wziąć coś
  • Start — Aby coś uruchomić
  • wyczerpane — Aby coś wyprowadzić
  • Stop — Aby zatrzymać coś, co działa
  • Zestaw — Aby coś zdefiniować
  • Nowości — Aby coś stworzyć

polecenia PowerShell

Poniżej znajduje się lista ważnych poleceń programu PowerShell:

Sprowadź pomoc: Pomoc dotycząca poleceń i tematów programu PowerShell

Przykład: Wyświetla pomoc dotyczącą polecenia Format-Table

Get-Help Format-Table

Polecenie cmdlet a polecenie

Pobierz polecenie: Uzyskaj informacje o wszystkim, co można wywołać

Przykład skryptu Powershell: Aby wygenerować listę poleceń cmdlet, funkcji zainstalowanych na twoim komputerze

Get-Command

Polecenie cmdlet a polecenie

Uzyskaj usługę: Znajduje wszystkie polecenia cmdlet zawierające słowo „usługa”.

Przykład: pobierz wszystkie usługi zaczynające się od „vm”

Get-Service "vm*"

Polecenie cmdlet a polecenie

Pobierz członka: Pokaż, co można zrobić z przedmiotem

Przykład: Pobierz członków procesów vm.

Get-Service "vm*" | Get-Member

Polecenie cmdlet a polecenie

Inne polecenia:

  • Get Module Pokazuje pakiety poleceń
  • Pobierz zawartość To polecenie cmdlet może pobrać plik, przetworzyć jego zawartość i coś z nim zrobić
  • Get- get Znajduje wszystkie polecenia cmdlet zaczynające się od słowa „get-

Przykład: Utwórz folder

New-Item -Path 'X:\Guru99' -ItemType Directory

Wyjście:

Polecenie cmdlet a polecenie

Typy danych PowerShell

Typy danych PowerShell
Typy danych PowerShell

Zmienne specjalne

Zmienna specjalna Opis
$Błąd Tablica obiektów błędów, które wyświetlają najnowsze błędy
$Host Wyświetl nazwę bieżącej aplikacji hostingowej
$Profil Przechowuje całą ścieżkę profilu użytkownika dla domyślnej powłoki
$PID Przechowuje identyfikator procesu
$PSUIkultura Zawiera nazwę aktualnej kultury interfejsu użytkownika.
$NULL Zawiera wartość pustą lub NULL.
$Fałsz Zawiera wartość FAŁSZ
$Prawda Zawiera wartość PRAWDA

Skrypty PowerShell

Skrypty Powershell są przechowywane w pliku .ps1. Domyślnie nie można uruchomić skryptu, klikając dwukrotnie plik. Chroni to system przed przypadkowym uszkodzeniem. Aby wykonać skrypt:

Krok 1: kliknij go prawym przyciskiem myszy i kliknij „Uruchom z PowerShell”.

Skrypty PowerShell

Ponadto istnieje polityka ograniczająca wykonywanie skryptów. Możesz zobaczyć tę politykę, uruchamiając komendę Get-ExecutionPolicy.

Otrzymasz jeden z następujących wyników:

  • ograniczony— Żadne skrypty nie są dozwolone. Jest to ustawienie domyślne, więc wyświetli się po pierwszym uruchomieniu polecenia.
  • Wszystkie podpisane— Możesz uruchamiać skrypty podpisane przez zaufanego programistę. Za pomocą tego ustawienia skrypt poprosi o potwierdzenie, że chcesz go uruchomić przed wykonaniem.
  • RemoteSigned— Możesz uruchomić swoje skrypty lub skrypty podpisane przez zaufanego programistę.
  • Nieograniczony— Możesz uruchomić dowolny skrypt, który chcesz uruchomić

Kroki zmiany zasad wykonywania

Krok 1) Otwórz podniesiony monit programu PowerShell. Kliknij prawym przyciskiem myszy PowerShell i „Uruchom jako administrator”

Skrypty PowerShell

Krok 2) Wprowadź następujące polecenia

  1. Get-ExecutionPolicy
  2. Ustaw zasady wykonywania bez ograniczeń
  3. Wpisz Y w wierszu poleceń
  4. Get-ExecutionPolicy

Skrypty PowerShell

Pierwszy skrypt PowerShell

W notatniku wpisz następujące polecenie

Write-Host "Hello, Guru99!"

Skrypty programu PowerShell mają rozszerzenie ps1. Zapisz plik jako FirstScript.ps1

Pierwszy skrypt PowerShell

W Powershell wywołaj skrypt za pomocą polecenia

& "X:\FirstScript.ps1"

Pierwszy skrypt PowerShell

Co to jest PowerShell ISE?

Kurs Windows Zintegrowane środowisko skryptowe programu PowerShell (ISE) jest domyślnym edytorem Windows PowerShell. W tym ISE możesz uruchamiać polecenia, testować moduł piszący i debugować skrypty w środowisku GUI opartym na oknie. Możesz edytować wielowierszowo, kolorować składnię, uzupełniać tabulatory, wykonywać selektywne i wiele innych rzeczy.

Windows PowerShell ISE umożliwia również uruchamianie poleceń w panelu konsoli. Jednak obsługuje również panele, których można używać do jednoczesnego przeglądania kodu źródłowego skryptu i innych narzędzi, które można podłączyć do ISE.

Możesz nawet otworzyć wiele okien skryptów jednocześnie. Jest to szczególnie przydatne, gdy debugujesz skrypt, który używa funkcji zdefiniowanych w innych skryptach lub modułach.

PowerShell ISE

PowerShell ISE

Ten sam skrypt, który utworzyliśmy w notatniku, można utworzyć w ISE

  1. Wklej kod do edytora
  2. Zapisz skrypt
  3. Użyj klawisza F5, aby uruchomić skrypt
  4. Obserwuj dane wyjściowe w konsoli

PowerShell ISE

Próbka 2:

Poniższy kod zapewni Ci darmową Pamięć wirtualna w Twojej maszynie

Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost |
Select-Object -Property CSName,FreeVirtualMemory 

PowerShell ISE

PowerShell Concepts

W tym samouczku dla początkujących dotyczącym programu PowerShell poznamy ważne koncepcje programu PowerShell:

polecenia cmdlet Polecenia cmdlet to polecenia budowania napisane w językach .net, takich jak VB lub C#. Umożliwia programistom rozszerzanie zestawu poleceń cmdlet poprzez ładowanie i zapisywanie przystawek programu PowerShell.
Funkcje Funkcje to polecenia napisane w języku PowerShell. Można go rozwijać bez użycia innego IDE visual Studio i deweloperzy.
Skrypty Skrypty to pliki tekstowe na dysku z rozszerzeniem .ps1
Zastosowania Aplikacje to istniejące programy systemu Windows.
Co jeśli Informuje polecenie cmdlet, aby nie wykonywało, ale informowało, co by się stało, gdyby polecenie cmdlet zostało uruchomione.
Potwierdzać Poinstruuj polecenie cmdlet, aby wyświetlało monit przed wykonaniem polecenia.
Gadatliwy Zapewnia wyższy poziom szczegółowości.
Debug Instruuje polecenie cmdlet, aby udostępniło informacje debugowania.
BłądAkcja Instruuje polecenie cmdlet, aby wykonało określoną akcję w przypadku wystąpienia błędu. Dozwolone działania są kontynuowane, zatrzymują się, cicho – kontynuują i pytają.
Zmienna błędu Określa zmienną przechowującą informacje o błędzie.
Zmienna zewnętrzna Nakazuje cmdletowi użycie określonej zmiennej do przechowywania informacji wyjściowych
wyczerpaneBuffer Instruuje polecenie cmdlet, aby przechowywało określoną liczbę obiektów przed wywołaniem następnego polecenia cmdlet w potoku.

Zalety korzystania ze skryptu PowerShell

  • Skrypty PowerShell są naprawdę potężne i mogą zrobić wiele rzeczy w mniejszej liczbie wierszy.
  • Zmienne deklaruje się w postaci $
  • Zmienne mogą służyć do przechowywania danych wyjściowych poleceń, obiektów i wartości.
  • Nie ma potrzeby określania „typu” zmiennej.

PowerShell kontra PowerShell Wiersz polecenia

PowerShell Wiersz polecenia
PowerShell głęboko integruje się z Windows system operacyjny. Oferuje interaktywny interfejs wiersza poleceń i język skryptowy. Wiersz poleceń to domyślny interfejs wiersza poleceń udostępniany przez Microsoft. Jest to prosta aplikacja win32, która może wchodzić w interakcję i rozmawiać z dowolnymi obiektami win32 w pliku Windows system operacyjny.
PowerShell używa tak zwanych poleceń cmdlet. Można go wywołać w środowisku wykonawczym lub w skryptach automatyzacji. Brak takich funkcji dostępnych w wierszu poleceń.
PowerShell traktuje je jako obiekty. Dzięki temu dane wyjściowe można przekazać jako dane wejściowe do innych poleceń cmdlet za pośrednictwem potoku. Wiersz poleceń, a nawet powłoka *nix, dane wyjściowe generowane przez polecenie cmdlet to nie tylko strumień tekstu, ale zbiór obiektów.
PowerShell jest bardzo zaawansowany pod względem funkcji, możliwości i wewnętrznego funkcjonowania. Wiersz poleceń jest bardzo prosty.

Zastosowania Powershella

Dzisiaj PowerShell stał się idealnym wyborem dla administratorów IT, ponieważ ułatwia zarządzanie i wysiłek w dużych sieciach korporacyjnych. Na przykład załóżmy, że zarządzasz dużą siecią, która zawiera ponad czterysta serwerów. Teraz chcesz wdrożyć nowe rozwiązanie bezpieczeństwa. To rozwiązanie bezpieczeństwa zależy od określonej usługi, która musi działać na tych serwerach.

Z pewnością możesz zalogować się na każdy serwer i sprawdzić, czy usługa jest zainstalowana i uruchomiona, czy nie. Jednak z pewnością wiąże się to z wieloma błędami ludzkimi, ponieważ Twoi pracownicy muszą spędzać dużo czasu na tym nieproduktywnym procesie.

Jeśli jednak używasz PowerShell, możesz wykonać to zadanie w ciągu kilku minut. Dzieje się tak, ponieważ cała operacja jest wykonywana za pomocą jednego skryptu, który zbiera informacje o usługach uruchomionych na serwerach.

Podsumowanie

  • Windows PowerShell to obiektowy silnik automatyzacji i język skryptowy
  • Powershell oferuje dobrze zintegrowane środowisko wiersza poleceń dla systemu operacyjnego
  • Pierwsza wersja PowerShell 1.0 została wydana w 2006 roku
  • PowerShell umożliwia wywoływanie skryptów i poleceń cmdlet na komputerze zdalnym
  • PowerShell jest preinstalowany we wszystkich najnowszych wersjach Windows
  • Polecenie cmdlet to lekkie polecenie używane w podstawowym środowisku Windows PowerShell
  • Get, Start, Out, Stop, Set, New to ważne polecenia programu PowerShell
  • Wartość logiczna, bajtowa, czatowa, dziesiętna, dziesiętna i długa są ważnymi typami danych programu PowerShell
  • $Błąd. $Host, $Profile, $PID, $PSUICulture, $NULL to specjalne zmienne używane w PowerShell
  • Kurs Windows Zintegrowane środowisko skryptowe programu PowerShell (ISE) jest domyślnym edytorem programu PowerShell
  • PowerShell głęboko integruje się z Windows OS, podczas gdy Wiersz Poleceń jest domyślnym interfejsem wiersza poleceń udostępnianym przez Microsoft
  • PowerShell stał się idealnym wyborem dla administratorów IT, ponieważ ułatwia zarządzanie dużymi sieciami korporacyjnymi i zmniejsza nakład pracy