Szybki Start! PowerShell w moment - Michał Walendowski

Kup ebooka

16.15 zł
13.40 zł (13,73 zł najniższa cena z 30 dni)

-
Proszę czekać

Rozdział 1: Wprowadzenie do PowerShella

PowerShell to nowoczesny, potężny język skryptowy i interaktywne środowisko konsolowe stworzone przez Microsoft, które umożliwia automatyzację i zarządzanie systemami operacyjnymi Windows oraz usługami chmurowymi, takimi jak Azure. PowerShell stanowi niezwykle przydatne narzędzie zarówno dla administratorów systemów, jak i dla deweloperów, pozwalając na sprawne wykonywanie zadań administracyjnych, zarządzanie sieciami, automatyzację powtarzalnych operacji i wiele innych.

1. Historia PowerShella

Pierwsza wersja PowerShella została wydana w 2006 roku jako "Microsoft Command Shell" (nazwa zmieniona później na PowerShell). Zbudowany na platformie. NET Framework, PowerShell początkowo działał wyłącznie na systemie Windows. W 2016 roku Microsoft ogłosił wersję open-source o nazwie PowerShell Core, która jest kompatybilna z różnymi systemami operacyjnymi, w tym Linux i macOS. Od tego momentu PowerShell jest częścią ekosystemu. NET Core, co sprawiło, że stał się wieloplatformowy i bardziej elastyczny.

2. PowerShell vs. Inne Języki Skryptowe

PowerShell łączy w sobie cechy tradycyjnych języków skryptowych, takich jak Bash czy Python, z możliwościami obiektowego programowania zorientowanego na Windows. Dzięki temu daje użytkownikom możliwość pracy z różnorodnymi obiektami, nie ograniczając się jedynie do tekstu. PowerShell interpretuje wyniki komend jako obiekty, co pozwala na łatwiejsze zarządzanie danymi i wykonywanie skomplikowanych operacji.

Bash PowerShell Opis

ls Get-ChildItem Wyświetla listę plików i katalogów

cd Set-Location Zmienia katalog

echo Write-Output Wyświetla tekst

cat Get-Content Wyświetla zawartość pliku

grep Select-String Przeszukuje tekst w plikach

3. Instalacja i Konfiguracja

PowerShell jest obecnie dostępny jako część Windows, jednak jeśli chcesz korzystać z wersji PowerShell Core, możesz ją zainstalować na systemie Windows, macOS i Linux.

3.1 Instalacja PowerShell na Windows

Otwórz stronę https://github.com/PowerShell/PowerShell/releases.

Pobierz najnowszą wersję instalatora. msi.

Zainstaluj PowerShell, postępując zgodnie z instrukcjami instalatora.

3.2 Instalacja PowerShell na macOS

Uruchom Terminal.

Wpisz następującą komendę, aby zainstalować PowerShell za pomocą Homebrew:

brew install - cask powershell

3.3 Instalacja PowerShell na Linuxie

Dla systemów Linux istnieją różne metody instalacji PowerShell, zależnie od dystrybucji. Przykład dla Ubuntu:

Otwórz terminal.

Wykonaj poniższe komendy, aby zainstalować PowerShell:

sudo apt update

sudo apt install -y powershell

4. Uruchamianie PowerShella

Po zainstalowaniu PowerShella możesz go uruchomić, wpisując pwsh w terminalu (na Linuxie i macOS) lub otwierając aplikację PowerShell na Windowsie. Interfejs PowerShella składa się z wiersza poleceń, gdzie wpisujesz komendy, które są natychmiast wykonywane.

Przykład uruchomienia PowerShella i wykonania podstawowej komendy:

# Wyświetlenie "Hello, PowerShell!"

Write-Output "Hello, PowerShell!"

5. Cmdlety

PowerShell opiera się na zestawie komend zwanych "cmdletami". Cmdlety to specjalne funkcje, które realizują konkretne zadania administracyjne. Nazewnictwo cmdletów składa się z dwóch części: czasownika i rzeczownika, np. Get-Process, Set-Location, Remove-Item. Każdy cmdlet jest zaprojektowany tak, aby wykonywał jedno zadanie, co ułatwia ich łączenie w bardziej złożone operacje.

Przykłady cmdletów:

# Wyświetlenie listy procesów

Get-Process

# Zmiana katalogu

Set-Location -Path "C:\Users"

# Usuwanie pliku

Remove-Item -Path "C:\Users\Public\example. txt"

6. Pipeline (Potoki)

PowerShell umożliwia przesyłanie wyników z jednego cmdletu do drugiego za pomocą symbolu |. Potoki pozwalają na tworzenie bardziej złożonych komend poprzez łączenie prostych cmdletów.

Przykład użycia potoku:

# Wyświetlenie wszystkich procesów posortowanych według zużycia pamięci

Get-Process | Sort-Object -Property WS -Descending

7. Praca z Obiektami

PowerShell przetwarza dane w postaci obiektów, co oznacza, że wynikiem komendy może być struktura danych z różnorodnymi właściwościami i metodami. Dzięki temu można łatwo manipulować danymi i dostosowywać ich wyświetlanie.

Przykład pracy z obiektami:

# Przechwycenie informacji o procesach do zmiennej

$procesy = Get-Process

# Wyświetlenie informacji o pierwszym procesie w formie tabeli

$procesy | Select-Object -First 1 | Format-Table

8. Korzystanie z Pomocy

PowerShell posiada rozbudowany system pomocy, który można uruchomić za pomocą cmdletu Get-Help. Pomoc zawiera opisy komend, przykłady ich użycia oraz wyjaśnienia parametrów.

Przykład użycia Get-Help:

# Wyświetlenie pomocy dla komendy Get-Process

Get-Help Get-Process

# Wyświetlenie przykładowych zastosowań komendy Get-Process

Get-Help Get-Process -Examples

Podsumowanie

PowerShell to potężne narzędzie, które zmienia sposób, w jaki administratorzy i deweloperzy zarządzają systemami i automatyzują zadania. Jego wszechstronność sprawia, że jest idealny do pracy zarówno na systemach lokalnych, jak i chmurowych. W kolejnych rozdziałach będziemy zgłębiać bardziej zaawansowane techniki i sposoby na optymalizację pracy za pomocą PowerShella.

Warto poświęcić czas na naukę PowerShella, gdyż umiejętność jego obsługi może znacznie ułatwić zarządzanie systemami oraz przyspieszyć realizację wielu zadań w codziennej pracy.

Rozdział 4: Obsługa plików i systemu plików

PowerShell umożliwia łatwe zarządzanie plikami i systemem plików, co sprawia, że jest potężnym narzędziem do automatyzacji operacji związanych z plikami. W tym rozdziale omówimy, jak tworzyć, usuwać, przenosić, kopiować pliki i foldery, a także jak odczytywać i zapisywać dane w plikach. Dowiesz się również, jak efektywnie wyszukiwać pliki i katalogi, przetwarzać je oraz przeszukiwać ich zawartość.

1. Podstawowe cmdlety do obsługi plików

PowerShell oferuje kilka podstawowych cmdletów do zarządzania plikami i folderami. Oto najważniejsze z nich:

- Get-ChildItem Wyświetla zawartość katalogu

- New-Item Tworzy nowy plik lub folder

- Remove-Item Usuwa plik lub folder

- Copy-Item Kopiuje plik lub folder

- Move-Item Przenosi plik lub folder

- Set-Location Zmienia bieżący katalog

- Get-Content Odczytuje zawartość pliku

- Set-Content Zapisuje zawartość do pliku (nadpisując istniejącą)

- Add-Content Dodaje zawartość do istniejącego pliku

2. Tworzenie nowych plików i folderów

Cmdlet New-Item umożliwia tworzenie nowych plików i folderów. Przykład poniżej pokazuje, jak utworzyć pusty plik tekstowy oraz folder.

Tworzenie pliku i folderu:

# Tworzenie nowego pliku tekstowego

New-Item -Path "C:\Test" -Name "nowyplik. txt" -ItemType File

# Tworzenie nowego folderu

New-Item -Path "C:\" -Name "NowyFolder" -ItemType Directory

3. Przenoszenie i kopiowanie plików

Przenoszenie i kopiowanie plików oraz folderów w PowerShellu jest proste dzięki cmdletom Move-Item oraz Copy-Item.

Przenoszenie pliku:

# Przeniesienie pliku "nowyplik. txt" do folderu "NowyFolder"

Move-Item -Path "C:\Test\nowyplik. txt" -Destination "C:\NowyFolder"

Kopiowanie pliku:

# Skopiowanie pliku "nowyplik. txt" z "NowyFolder" do katalogu "Test"

Copy-Item -Path "C:\NowyFolder\nowyplik. txt" -Destination "C:\Test"

4. Usuwanie plików i folderów

Aby usunąć plik lub folder, można użyć cmdletu Remove-Item. Domyślnie PowerShell poprosi o potwierdzenie przed usunięciem folderu zawierającego inne elementy, aby uniknąć przypadkowego usunięcia danych.

Usuwanie pliku:

# Usunięcie pliku "nowyplik. txt"

Remove-Item -Path "C:\Test\nowyplik. txt"

Usuwanie folderu i wszystkich jego zawartości:

# Usunięcie folderu "NowyFolder" oraz jego zawartości bez potwierdzenia

Remove-Item -Path "C:\NowyFolder" -Recurse -Force

5. Praca z zawartością plików

PowerShell umożliwia łatwe odczytywanie i zapisywanie danych w plikach tekstowych za pomocą cmdletów Get-Content, Set-Content oraz Add-Content.

Odczytywanie zawartości pliku:

# Wyświetlenie zawartości pliku "przyklad. txt"

Get-Content -Path "C:\Test\przyklad. txt"

Zapis do pliku: Cmdlet Set-Content nadpisuje istniejącą zawartość pliku. Przykład poniżej zapisuje nową treść do pliku przyklad. txt.

# Zapisanie tekstu do pliku (nadpisuje istniejącą zawartość)

Set-Content -Path "C:\Test\przyklad. txt" -Value "To jest nowa zawartość pliku."

Dodawanie treści do pliku: Cmdlet Add-Content dodaje nową linię do istniejącego pliku.

# Dodanie nowej linii do pliku

Add-Content -Path "C:\Test\przyklad. txt" -Value "To jest dodatkowa linia."

6. Wyszukiwanie plików i folderów

PowerShell umożliwia wyszukiwanie plików i folderów według różnych kryteriów, np. nazwy, rozszerzenia, daty modyfikacji.

Wyszukiwanie plików o określonym rozszerzeniu:

# Znalezienie wszystkich plików. txt w katalogu Test

Get-ChildItem -Path "C:\Test" -Filter *.txt

Wyszukiwanie plików z określoną frazą w nazwie:

# Znalezienie wszystkich plików zawierających słowo "raport" w nazwie

Get-ChildItem -Path "C:\Test" -Filter *raport*

7. Filtracja wyników przy użyciu Where-Object