Details zum E-Book

Windows PowerShell w miesiąc. Wydanie III

Windows PowerShell w miesiąc. Wydanie III

Donald W. Jones, Jeffrey Hicks

E-book

Windows PowerShell jest rozbudowanym interpreterem poleceń i powłoką administracyjną, dzięki której można kontrolować i automatyzować prawie wszystkie zadania systemu Windows. PowerShell powstał w 2006 roku i od tej pory sukcesywnie się rozwija. PowerShell przyjmuje pojedyncze polecenia i pozwala na pisanie skryptów do zarządzania większością serwerów Windows, takich jak Exchange, IIS i SharePoint, a także usług internetowych, takich jak Azure i Office 365. Opanowanie tajników samej powłoki i związanego z nią języka skryptowego jest jednym z najważniejszych warunków bezproblemowego administrowania systemami pracującymi pod kontrolą Windows!

Dzięki temu innowacyjnemu samouczkowi i poświęcenia na naukę jednej godzinie dziennie w ciągu miesiąca nauczysz się efektywnej pracy z powłoką PowerShell! Jest to trzecie, zaktualizowane wydanie książki, w której opisano funkcje powłoki działające w systemach Windows 7, Windows Server 2008 R2 i nowszych wersjach.

Podręcznik składa się z 28 krótkich rozdziałów, a każdy z nich koncentruje się wokół paru kluczowych zagadnień. Opanowanie materiału zawartego w rozdziale powinno zająć najwyżej godzinę - w sam raz dla zabieganego specjalisty IT! Znajdziesz tu mnóstwo przydatnych wskazówek dotyczących poleceń i ich uruchamiania, potoków, pisania skryptów, komunikacji zdalnej, pracy na obiektach i zmiennych oraz korzystania z wyrażeń regularnych. Bardzo szybko odczujesz, że lepsza znajomość powłoki przekłada się na efektywniejsze administrowanie systemem!

W książce między innymi:

  • Zalety i możliwości powłoki PowerShell
  • Obiekty, potoki i formatowanie wyników
  • Mechanizm WMI i standard CIM
  • Zasady bezpieczeństwa w wykonywaniu skryptów
  • Parametryzacja skryptów
  • Ciekawe techniki, sztuczki i nieoczywiste rozwiązania

Skrypty w PowerShell? Znacznie szybciej, niż myślisz!


Przedmowa 13

Podziękowania 15

O książce 17

O autorach 19

Rozdział 1. Zanim zaczniesz 21

  • 1.1. Dlaczego nie możesz sobie pozwolić na ignorowanie powłoki PowerShell 22
    • 1.1.1. Życie bez powłoki PowerShell 22
    • 1.1.2. Życie z powłoką PowerShell 23
  • 1.2. Od teraz już tylko PowerShell! 24
  • 1.3. Czy ta książka jest dla Ciebie? 24
  • 1.4. Jak korzystać z tej książki 25
    • 1.4.1. Główne rozdziały 25
    • 1.4.2. Ćwiczenia praktyczne 26
    • 1.4.3. Przykładowe kody 26
    • 1.4.4. Materiały uzupełniające 26
    • 1.4.5. Dalsze pogłębianie swojej wiedzy 26
    • 1.4.6. Dla zainteresowanych 27
  • 1.5. Konfigurowanie środowiska testowego 27
  • 1.6. Instalowanie Windows PowerShell 28
  • 1.7. Kontakt z nami 30
  • 1.8. Natychmiastowe działanie z powłoką PowerShell 30

Rozdział 2. Poznaj powłokę PowerShell 31

  • 2.1. Wybierz swoją broń 31
    • 2.1.1. Okno konsoli 33
    • 2.1.2. Zintegrowane środowisko skryptowe 35
  • 2.2. Wracamy do wpisywania poleceń z klawiatury 38
  • 2.3. Najczęściej spotykane problemy 39
  • 2.4. Jaka to wersja? 40
  • 2.5. Ćwiczenia 41

Rozdział 3. Korzystanie z systemu pomocy 43

  • 3.1. System pomocy - jak poznawać polecenia powłoki PowerShell? 43
  • 3.2. Aktualizowanie systemu pomocy 45
  • 3.3. Korzystanie z systemu pomocy 47
  • 3.4. Zastosowanie systemu pomocy do wyszukiwania poleceń 48
  • 3.5. Interpretacja treści plików pomocy 51
    • 3.5.1. Zestawy parametrów i parametry wspólne 51
    • 3.5.2. Parametry obligatoryjne i opcjonalne 52
    • 3.5.3. Parametry pozycyjne 53
    • 3.5.4. Wartości parametrów 55
    • 3.5.5. Wyszukiwanie przykładów poleceń 58
  • 3.6. Dostęp do ogólnych tematów pomocy 59
  • 3.7. Dostęp do pomocy online 60
  • 3.8. Ćwiczenia 60
  • 3.9. Odpowiedzi 62

Rozdział 4. Uruchamianie poleceń 65

  • 4.1. Nie tworzymy skryptów, ale uruchamiamy polecenia 65
  • 4.2. Anatomia polecenia 67
  • 4.3. Konwencja tworzenia nazw poleceń cmdlet 68
  • 4.4. Aliasy - skrócone nazwy poleceń 69
  • 4.5. Tworzenie skrótów 71
    • 4.5.1. Używanie skróconych nazw parametrów 71
    • 4.5.2. Używanie aliasów nazw parametrów 71
    • 4.5.3. Używanie parametrów pozycyjnych 72
  • 4.6. Trochę oszukiwania - polecenie Show-Command 73
  • 4.7. Obsługa poleceń zewnętrznych 75
  • 4.8. Jak radzić sobie z błędami 78
  • 4.9. Najczęściej spotykane problemy 79
    • 4.9.1. Wpisywanie nazw poleceń cmdlet 79
    • 4.9.2. Wpisywanie parametrów 80
  • 4.10. Ćwiczenia 80

Rozdział 5. Praca z dostawcami 83

  • 5.1. Czym są dostawcy? 83
  • 5.2. Jak zorganizowany jest system plików 85
  • 5.3. W czym system plików jest podobny do innych magazynów danych? 87
  • 5.4. Poruszanie się w systemie plików 88
  • 5.5. Używanie symboli wieloznacznych i dokładnych ścieżek 90
  • 5.6. Praca z innymi dostawcami 91
  • 5.7. Ćwiczenia 94
  • 5.8. Co dalej? 94
  • 5.9. Odpowiedzi 95

Rozdział 6. Potoki - łączenie poleceń 97

  • 6.1. Łączenie poleceń ze sobą - mniej pracy dla Ciebie 97
  • 6.2. Eksportowanie wyników działania polecenia do pliku CSV lub XML 98
    • 6.2.1. Eksportowanie wyników działania do pliku CSV 99
    • 6.2.2. Eksportowanie wyników działania do pliku XML 100
    • 6.2.3. Porównywanie plików 101
  • 6.3. Przesyłanie wyników działania polecenia do pliku lub na drukarkę 104
  • 6.4. Konwersja na pliki w formacie HTML 105
  • 6.5. Używanie poleceń cmdlet do modyfikowania systemu - zakończenie działania procesów i zatrzymywanie usług 106
  • 6.6. Najczęściej spotykane problemy 108
  • 6.7. Ćwiczenia 110
  • 6.8. Odpowiedzi 111

Rozdział 7. Dodawanie poleceń 113

  • 7.1. Jak jedna powłoka może zrobić wszystko 113
  • 7.2. Powłoki przeznaczone do zarządzania danym produktem 114
  • 7.3. Rozszerzenia - wyszukiwanie i dodawanie przystawek 115
  • 7.4. Rozszerzenia - wyszukiwanie i dodawanie modułów 117
  • 7.5. Konflikty poleceń i usuwanie rozszerzeń 120
  • 7.6. Jak to wygląda w systemach operacyjnych innych niż Windows 121
  • 7.7. Używanie nowego modułu 121
  • 7.8. Skrypty profilów powłoki PowerShell - wstępne ładowanie rozszerzeń podczas uruchamiania powłoki 123
  • 7.9. Pobieranie modułów z Internetu 125
  • 7.10. Najczęściej spotykane problemy 126
  • 7.11. Ćwiczenia 126
  • 7.12. Odpowiedzi 127

Rozdział 8. Obiekty - dane pod inną nazwą 129

  • 8.1. Czym są obiekty? 129
  • 8.2. Dlaczego powłoka PowerShell używa obiektów? 131
  • 8.3. Odkrywanie obiektów - polecenie Get-Member 133
  • 8.4. Używanie atrybutów i właściwości obiektów 134
  • 8.5. Używanie akcji i metod obiektu 135
  • 8.6. Sortowanie obiektów 136
  • 8.7. Wybieranie żądanych właściwości 137
  • 8.8. Obiekty aż do końca 138
  • 8.9. Najczęściej spotykane problemy 141
  • 8.10. Ćwiczenia 141
  • 8.11. Odpowiedzi 142

Rozdział 9. Potoki - zaglądamy nieco głębiej 143

  • 9.1. Potoki - większe możliwości przy mniejszej liczbie poleceń 143
  • 9.2. Jak powłoka PowerShell przekazuje dane za pomocą potoku 144
  • 9.3. Plan A - przekazywanie danych ByValue 145
  • 9.4. Plan B - przekazywanie danych ByPropertyName 148
  • 9.5. Gdy dane do siebie nie pasują - właściwości niestandardowe 153
  • 9.6. Polecenia w nawiasach 156
  • 9.7. Wyodrębnianie wartości z jednej właściwości 157
  • 9.8. Ćwiczenia 163
  • 9.9. Co dalej? 164
  • 9.10. Odpowiedzi 165

Rozdział 10. Formatowanie wyników działania 167

  • 10.1. Formatowanie - upiększanie tego, co widzisz 167
  • 10.2. Praca z formatowaniem domyślnym 168
  • 10.3. Formatowanie tabel 171
  • 10.4. Formatowanie list 173
  • 10.5. Formatowanie szerokich list 174
  • 10.6. Tworzenie niestandardowych kolumn i elementów list 175
  • 10.7. Przesyłanie danych na wyjście: do pliku, drukarki lub na ekran 178
  • 10.8. Jeszcze jeden typ wyjścia: GridViews 178
  • 10.9. Najczęściej spotykane problemy 178
    • 10.9.1. Formatuj dane na końcu 179
    • 10.9.2. Jeden typ obiektu jednocześnie 181
  • 10.10. Ćwiczenia 182
  • 10.11. Co dalej? 183
  • 10.12. Odpowiedzi 183

Rozdział 11. Filtrowanie i porównywanie danych 185

  • 11.1. Jak sprawić, aby powłoka dała Ci to, czego potrzebujesz 185
  • 11.2. Filtrowanie z lewej 186
  • 11.3. Korzystanie z operatorów porównania 187
  • 11.4. Filtrowanie obiektów poza potokiem 189
  • 11.5. Używanie iteracyjnego modelu wiersza poleceń 190
  • 11.6. Najczęściej spotykane problemy 192
    • 11.6.1. Filtr z lewej, proszę 193
    • 11.6.2. Kiedy używanie symbolu $_ jest dozwolone? 193
  • 11.7. Ćwiczenia 194
  • 11.8. Co dalej? 195
  • 11.9. Odpowiedzi 195

Rozdział 12. Trochę praktyki 197

  • 12.1. Definiowanie zadania 197
  • 12.2. Wyszukiwanie odpowiednich poleceń 198
  • 12.3. Uczymy się, jak korzystać z nowych poleceń 199
  • 12.4. Wskazówki dotyczące samodzielnej nauki 201
  • 12.5. Ćwiczenia 201
  • 12.6. Odpowiedzi 202

Rozdział 13. Komunikacja zdalna - jeden-do-jednego i jeden-do-wielu 203

  • 13.1. Koncepcja komunikacji zdalnej w powłoce PowerShell 204
  • 13.2. Usługa WinRM 206
  • 13.3. Używanie poleceń Enter-PSSession i Exit-PSSession do połączeń zdalnych typu jeden-do-jednego 210
  • 13.4. Zastosowanie polecenia Invoke-Command do komunikacji zdalnej typu jeden-do-wielu 213
  • 13.5. Różnice między poleceniami zdalnymi i lokalnymi 216
    • 13.5.1. Polecenie Invoke-Command kontra parametr -computerName 216
    • 13.5.2. Przetwarzanie lokalne kontra zdalne 217
    • 13.5.3. Obiekty po deserializacji 219
  • 13.6. Ale poczekaj, jest jeszcze coś więcej 220
  • 13.7. Opcje komunikacji zdalnej 221
  • 13.8. Najczęściej spotykane problemy 222
  • 13.9. Ćwiczenia 223
  • 13.10. Co dalej? 224
  • 13.11. Odpowiedzi 224

Rozdział 14. Zastosowanie mechanizmu WMI oraz standardu CIM 225

  • 14.1. Podstawowe elementy WMI 226
  • 14.2. Złe wieści na temat usługi WMI 228
  • 14.3. Eksplorowanie WMI 230
  • 14.4. Wybierz swoją broń: WMI lub CIM 232
  • 14.5. Używanie polecenia Get-WmiObject 233
  • 14.6. Używanie polecenia Get-CimInstance 237
  • 14.7. Dokumentacja WMI 237
  • 14.8. Najczęściej spotykane problemy 237
  • 14.9. Ćwiczenia 238
  • 14.10. Co dalej? 239
  • 14.11. Odpowiedzi 239

Rozdział 15. Wielozadaniowość z zadaniami działającymi w tle 241

  • 15.1. Uruchamianie wielu zadań powłoki PowerShell w tym samym czasie 241
  • 15.2. Zadania synchroniczne i asynchroniczne 242
  • 15.3. Tworzenie zadań lokalnych 243
  • 15.4. Zapytania WMI jako zadania działające w tle 244
  • 15.5. Komunikacja zdalna jako zadanie działające w tle 245
  • 15.6. Pobieranie wyników działania zadania uruchomionego w tle 246
  • 15.7. Praca z zadaniami podrzędnymi 249
  • 15.8. Polecenia do zarządzania zadaniami 251
  • 15.9. Zaplanowane zadania 253
  • 15.10. Najczęściej spotykane problemy 254
  • 15.11. Ćwiczenia 256
  • 15.12. Odpowiedzi 256

Rozdział 16. Praca z wieloma obiektami jednocześnie 259

  • 16.1. Automatyzacja zarządzania wieloma obiektami docelowymi 259
  • 16.2. Preferowany sposób: polecenia "wsadowe" 260
  • 16.3. Wykorzystanie mechanizmów CIM/WMI - wywoływanie metod 262
  • 16.4. Plan B - wyliczanie obiektów 266
  • 16.5. Najczęściej spotykane problemy 271
    • 16.5.1. Który sposób postępowania jest właściwy? 271
    • 16.5.2. Metody WMI a polecenia powłoki 273
    • 16.5.3. Dokumentacja metod 273
    • 16.5.4. Najczęstsze problemy z poleceniem ForEach-Object 274
  • 16.6. Ćwiczenia 275
  • 16.7. Odpowiedzi 275

Rozdział 17. Bezpieczeństwo wykonywania skryptów 277

  • 17.1. Zapewnienie bezpieczeństwa powłoki PowerShell 277
  • 17.2. Model bezpieczeństwa powłoki Windows PowerShell 278
  • 17.3. Polityka wykonywania skryptów i podpisywanie kodu 280
    • 17.3.1. Ustawienia polityki wykonywania skryptów 280
    • 17.3.2. Cyfrowe podpisywanie kodu 283
  • 17.4. Inne mechanizmy bezpieczeństwa 287
  • 17.5. Inne luki w zabezpieczeniach? 287
  • 17.6. Zalecenia bezpieczeństwa 288
  • 17.7. Ćwiczenia 289

Rozdział 18. Zmienne - miejsca do przechowywania danych 291

  • 18.1. Wprowadzenie do zmiennych 291
  • 18.2. Przechowywanie wartości w zmiennych 292
  • 18.3. Używanie zmiennych: zabawne sztuczki z apostrofami i cudzysłowami 294
  • 18.4. Przechowywanie wielu obiektów w zmiennej 297
    • 18.4.1. Praca z pojedynczymi obiektami w zmiennej 297
    • 18.4.2. Praca z wieloma obiektami w zmiennej 298
    • 18.4.3. Inne sposoby pracy z wieloma obiektami 299
    • 18.4.4. Rozwijanie właściwości i metod obiektów w powłoce PowerShell v3 300
  • 18.5. Więcej trików z cudzysłowami 301
  • 18.6. Deklarowanie typu zmiennej 303
  • 18.7. Polecenia do pracy ze zmiennymi 305
  • 18.8. Dobre praktyki w pracy ze zmiennymi 306
  • 18.9. Najczęściej spotykane problemy 306
  • 18.10. Ćwiczenia 307
  • 18.11. Co dalej? 307
  • 18.12. Odpowiedzi 307

Rozdział 19. Wejście i wyjście 309

  • 19.1. Pobieranie i wyświetlanie informacji 309
  • 19.2. Polecenie Read-Host 310
  • 19.3. Polecenie Write-Host 313
  • 19.4. Polecenie Write-Output 315
  • 19.5. Inne sposoby wyświetlania danych 317
  • 19.6. Ćwiczenia 318
  • 19.7. Co dalej? 319
  • 19.8. Odpowiedzi 319

Rozdział 20. Sesje - ułatwienie komunikacji zdalnej 321

  • 20.1. Ułatwienie komunikacji zdalnej z użyciem powłoki PowerShell 321
  • 20.2. Tworzenie sesji wielokrotnego użytku i praca z nimi 322
  • 20.3. Używanie sesji z poleceniem Enter-PSSession 323
  • 20.4. Używanie sesji z poleceniem Invoke-Command 325
  • 20.5. Niejawna komunikacja zdalna - importowanie sesji 327
  • 20.6. Korzystanie z rozłączonych sesji 328
  • 20.7. Ćwiczenia 330
  • 20.8. Co dalej? 331
  • 20.9. Odpowiedzi 332

Rozdział 21. Nazywasz to pisaniem skryptów? 333

  • 21.1. Nie tworzymy programów, ale raczej pliki wsadowe 333
  • 21.2. Tworzenie poleceń wielokrotnego użytku 334
  • 21.3. Parametryzowanie poleceń 336
  • 21.4. Tworzenie sparametryzowanego skryptu 337
  • 21.5. Dokumentowanie skryptu 339
  • 21.6. Jeden skrypt, jeden potok 340
  • 21.7. Szybkie spojrzenie na zasięg 344
  • 21.8. Ćwiczenia 346
  • 21.9. Odpowiedzi 346

Rozdział 22. Ulepszanie sparametryzowanego skryptu 349

  • 22.1. Skrypt bazowy 349
  • 22.2. Zmuszamy powłokę PowerShell do ciężkiej pracy 350
  • 22.3. Definiowanie parametrów obligatoryjnych 351
  • 22.4. Dodawanie aliasów parametrów 354
  • 22.5. Sprawdzanie poprawności wartości parametru 355
  • 22.6. Wyświetlanie szczegółowych wyników działania 356
  • 22.7. Ćwiczenia 358
  • 22.8. Odpowiedzi 358

Rozdział 23. Zaawansowana konfiguracja komunikacji zdalnej 361

  • 23.1. Korzystanie z innych punktów końcowych 361
  • 23.2. Tworzenie niestandardowych punktów końcowych 362
    • 23.2.1. Tworzenie konfiguracji sesji 363
    • 23.2.2. Rejestrowanie sesji 364
  • 23.3. Włączanie mechanizmu komunikacji zdalnej za pośrednictwem hostów pośrednich 367
  • 23.4. Zaawansowane uwierzytelnianie na komputerach zdalnych 368
    • 23.4.1. Ustawienia domyślne wzajemnego uwierzytelniania 368
    • 23.4.2. Wzajemne uwierzytelnianie przez SSL 369
    • 23.4.3. Wzajemne uwierzytelnianie za pośrednictwem TrustedHosts 369
  • 23.5. Ćwiczenia 370
  • 23.6. Odpowiedzi 371

Rozdział 24. Zastosowanie wyrażeń regularnych do parsowania plików tekstowych 373

  • 24.1. Przeznaczenie wyrażeń regularnych 374
  • 24.2. Podstawy składni wyrażeń regularnych 374
  • 24.3. Używanie wyrażeń regularnych z operatorem -Match 376
  • 24.4. Używanie wyrażeń regularnych z poleceniem Select-String 377
  • 24.5. Ćwiczenia 379
  • 24.6. Co dalej? 380
  • 24.7. Odpowiedzi 381

Rozdział 25. Różne wskazówki, techniki, sztuczki i chwyty 383

  • 25.1. Profile, podpowiedzi i kolory - dostosowywanie powłoki 383
    • 25.1.1. Profile powłoki PowerShell 383
    • 25.1.2. Dostosowywanie znaku zachęty powłoki 386
    • 25.1.3. Modyfikowanie ustawień kolorów 386
  • 25.2. Operatory: -as, -is, -replace, -join, -split, -in, -contains 388
    • 25.2.1. Operatory -as i -is 388
    • 25.2.2. Operator -replace 389
    • 25.2.3. Operatory -join i -split 389
    • 25.2.4. Operatory -contains i -in 390
  • 25.3. Operowanie na ciągach znaków 391
  • 25.4. Operowanie na datach 392
  • 25.5. Operowanie na datach WMI 394
  • 25.6. Ustawianie domyślnych wartości parametrów 395
  • 25.7. Zastosowanie bloków skryptu 396
  • 25.8. Więcej wskazówek, trików i technik 397

Rozdział 26. Korzystanie ze skryptów innych użytkowników 399

  • 26.1. Skrypt 400
  • 26.2. Analiza wiersz po wierszu 404
  • 26.3. Ćwiczenia 405
  • 26.4. Odpowiedzi 407

Rozdział 27. To jeszcze nie koniec 409

  • 27.1. Pomysły na dalszą eksplorację powłoki PowerShell 409
  • 27.2. "Od czego mam zacząć, kiedy przeczytałem już tę książkę?" 410
  • 27.3. Inne zasoby, o których warto pamiętać 411

Rozdział 28. PowerShell - podręczna ściągawka 413

  • 28.1. Interpunkcja 413
  • 28.2. Pliki pomocy 417
  • 28.3. Operatory 417
  • 28.4. Niestandardowe właściwości i kolumny 418
  • 28.5. Pobieranie parametrów z potoku 419
  • 28.6. Kiedy używać symbolu zastępczego $_ 420

Dodatek A. Ćwiczenia podsumowujące 423

Skorowidz 435

  • Titel: Windows PowerShell w miesiąc. Wydanie III
  • Autor: Donald W. Jones, Jeffrey Hicks
  • Originaler Titel: Learn Windows PowerShell in a Month of Lunches, 3rd Edition
  • Übersetzung: Grzegorz Kowalczyk
  • ISBN: 978-83-283-4649-9, 9788328346499
  • Veröffentlichungsdatum: 2018-10-19
  • Format: E-book
  • Artikelkennung: wipom3
  • Verleger: Helion