Darmowy fragment publikacji:
Tytuł oryginału: Learn Windows PowerShell in a Month of Lunches, 3rd Edition
Tłumaczenie: Grzegorz Kowalczyk
ISBN: 978-83-283-4648-2
Original edition copyright © 2017 by Manning Publications Co.
All rights reserved.
Polish edition copyright © 2018 by HELION SA.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz HELION SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą
również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych
w książce.
HELION SA
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/wipom3.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/wipom3
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
• Kup książkę
• Poleć książkę
• Oceń książkę
• Księgarnia internetowa
• Lubię to! » Nasza społeczność
Spis tre(cid:258)ci
Przedmowa
Podzi(cid:218)kowania
O ksi(cid:200)(cid:285)ce
O autorach
Rozdzia(cid:239) 1. Zanim zaczniesz
1.1. Dlaczego nie mo(cid:285)esz sobie pozwoli(cid:202) na ignorowanie pow(cid:239)oki PowerShell
1.1.1. (cid:191)ycie bez pow(cid:239)oki PowerShell
1.1.2. (cid:191)ycie z pow(cid:239)ok(cid:200) PowerShell
1.2. Od teraz ju(cid:285) tylko PowerShell!
1.3. Czy ta ksi(cid:200)(cid:285)ka jest dla Ciebie?
1.4.
Jak korzysta(cid:202) z tej ksi(cid:200)(cid:285)ki
1.4.1. G(cid:239)ówne rozdzia(cid:239)y
1.4.2. (cid:109)wiczenia praktyczne
1.4.3. Przyk(cid:239)adowe kody
1.4.4. Materia(cid:239)y uzupe(cid:239)niaj(cid:200)ce
1.4.5. Dalsze pog(cid:239)(cid:218)bianie swojej wiedzy
1.4.6. Dla zainteresowanych
1.5. Konfigurowanie (cid:258)rodowiska testowego
1.6. Instalowanie Windows PowerShell
1.7. Kontakt z nami
1.8. Natychmiastowe dzia(cid:239)anie z pow(cid:239)ok(cid:200) PowerShell
Rozdzia(cid:239) 2. Poznaj pow(cid:239)ok(cid:218) PowerShell
2.1. Wybierz swoj(cid:200) bro(cid:241)
2.1.1. Okno konsoli
2.1.2. Zintegrowane (cid:258)rodowisko skryptowe
13
15
17
19
21
22
22
23
24
24
25
25
26
26
26
26
27
27
28
30
30
31
31
33
35
Kup książkęPoleć książkę4
Spis tre(cid:258)ci
2.2. Wracamy do wpisywania polece(cid:241) z klawiatury
2.3. Najcz(cid:218)(cid:258)ciej spotykane problemy
2.4.
2.5. (cid:109)wiczenia
Jaka to wersja?
Rozdzia(cid:239) 3. Korzystanie z systemu pomocy
System pomocy — jak poznawa(cid:202) polecenia pow(cid:239)oki PowerShell?
3.1.
3.2. Aktualizowanie systemu pomocy
3.3. Korzystanie z systemu pomocy
3.4. Zastosowanie systemu pomocy do wyszukiwania polece(cid:241)
3.5.
Interpretacja tre(cid:258)ci plików pomocy
3.5.1. Zestawy parametrów i parametry wspólne
3.5.2. Parametry obligatoryjne i opcjonalne
3.5.3. Parametry pozycyjne
3.5.4. Warto(cid:258)ci parametrów
3.5.5. Wyszukiwanie przyk(cid:239)adów polece(cid:241)
3.6. Dost(cid:218)p do ogólnych tematów pomocy
3.7. Dost(cid:218)p do pomocy online
3.8. (cid:109)wiczenia
3.9. Odpowiedzi
Rozdzia(cid:239) 4. Uruchamianie polece(cid:241)
4.1. Nie tworzymy skryptów, ale uruchamiamy polecenia
4.2. Anatomia polecenia
4.3. Konwencja tworzenia nazw polece(cid:241) cmdlet
4.4. Aliasy — skrócone nazwy polece(cid:241)
4.5. Tworzenie skrótów
4.5.1. U(cid:285)ywanie skróconych nazw parametrów
4.5.2. U(cid:285)ywanie aliasów nazw parametrów
4.5.3. U(cid:285)ywanie parametrów pozycyjnych
4.6. Troch(cid:218) oszukiwania — polecenie Show-Command
4.7. Obs(cid:239)uga polece(cid:241) zewn(cid:218)trznych
4.8.
4.9. Najcz(cid:218)(cid:258)ciej spotykane problemy
Jak radzi(cid:202) sobie z b(cid:239)(cid:218)dami
4.9.1. Wpisywanie nazw polece(cid:241) cmdlet
4.9.2. Wpisywanie parametrów
4.10. (cid:109)wiczenia
Rozdzia(cid:239) 5. Praca z dostawcami
Jak zorganizowany jest system plików
5.1. Czym s(cid:200) dostawcy?
5.2.
5.3. W czym system plików jest podobny do innych magazynów danych?
5.4. Poruszanie si(cid:218) w systemie plików
5.5. U(cid:285)ywanie symboli wieloznacznych i dok(cid:239)adnych (cid:258)cie(cid:285)ek
38
39
40
41
43
43
45
47
48
51
51
52
53
55
58
59
60
60
62
65
65
67
68
69
71
71
71
72
73
75
78
79
79
80
80
83
83
85
87
88
90
Kup książkęPoleć książkęSpis tre(cid:258)ci
5
5.6. Praca z innymi dostawcami
5.7. (cid:109)wiczenia
5.8. Co dalej?
5.9. Odpowiedzi
Rozdzia(cid:239) 6. Potoki — (cid:239)(cid:200)czenie polece(cid:241)
6.1. (cid:146)(cid:200)czenie polece(cid:241) ze sob(cid:200) — mniej pracy dla Ciebie
6.2. Eksportowanie wyników dzia(cid:239)ania polecenia do pliku CSV lub XML
6.2.1. Eksportowanie wyników dzia(cid:239)ania do pliku CSV
6.2.2. Eksportowanie wyników dzia(cid:239)ania do pliku XML
6.2.3. Porównywanie plików
6.3. Przesy(cid:239)anie wyników dzia(cid:239)ania polecenia do pliku lub na drukark(cid:218)
6.4. Konwersja na pliki w formacie HTML
6.5. U(cid:285)ywanie polece(cid:241) cmdlet do modyfikowania systemu
— zako(cid:241)czenie dzia(cid:239)ania procesów i zatrzymywanie us(cid:239)ug
6.6. Najcz(cid:218)(cid:258)ciej spotykane problemy
6.7. (cid:109)wiczenia
6.8. Odpowiedzi
Rozdzia(cid:239) 7. Dodawanie polece(cid:241)
Jak jedna pow(cid:239)oka mo(cid:285)e zrobi(cid:202) wszystko
7.1.
7.2. Pow(cid:239)oki przeznaczone do zarz(cid:200)dzania danym produktem
7.3. Rozszerzenia — wyszukiwanie i dodawanie przystawek
7.4. Rozszerzenia — wyszukiwanie i dodawanie modu(cid:239)ów
7.5. Konflikty polece(cid:241) i usuwanie rozszerze(cid:241)
7.6.
7.7. U(cid:285)ywanie nowego modu(cid:239)u
7.8. Skrypty profilów pow(cid:239)oki PowerShell — wst(cid:218)pne (cid:239)adowanie rozszerze(cid:241)
Jak to wygl(cid:200)da w systemach operacyjnych innych ni(cid:285) Windows
podczas uruchamiania pow(cid:239)oki
7.9. Pobieranie modu(cid:239)ów z Internetu
7.10. Najcz(cid:218)(cid:258)ciej spotykane problemy
7.11. (cid:109)wiczenia
7.12. Odpowiedzi
Rozdzia(cid:239) 8. Obiekty — dane pod inn(cid:200) nazw(cid:200)
8.1. Czym s(cid:200) obiekty?
8.2. Dlaczego pow(cid:239)oka PowerShell u(cid:285)ywa obiektów?
8.3. Odkrywanie obiektów — polecenie Get-Member
8.4. U(cid:285)ywanie atrybutów i w(cid:239)a(cid:258)ciwo(cid:258)ci obiektów
8.5. U(cid:285)ywanie akcji i metod obiektu
8.6. Sortowanie obiektów
8.7. Wybieranie (cid:285)(cid:200)danych w(cid:239)a(cid:258)ciwo(cid:258)ci
8.8. Obiekty a(cid:285) do ko(cid:241)ca
91
94
94
95
97
97
98
99
100
101
104
105
106
108
110
111
113
113
114
115
117
120
121
121
123
125
126
126
127
129
129
131
133
134
135
136
137
138
Kup książkęPoleć książkę6
Spis tre(cid:258)ci
8.9. Najcz(cid:218)(cid:258)ciej spotykane problemy
8.10. (cid:109)wiczenia
8.11. Odpowiedzi
Rozdzia(cid:239) 9. Potoki — zagl(cid:200)damy nieco g(cid:239)(cid:218)biej
9.1. Potoki — wi(cid:218)ksze mo(cid:285)liwo(cid:258)ci przy mniejszej liczbie polece(cid:241)
9.2.
Jak pow(cid:239)oka PowerShell przekazuje dane za pomoc(cid:200) potoku
9.3. Plan A — przekazywanie danych ByValue
9.4. Plan B — przekazywanie danych ByPropertyName
9.5. Gdy dane do siebie nie pasuj(cid:200) — w(cid:239)a(cid:258)ciwo(cid:258)ci niestandardowe
9.6. Polecenia w nawiasach
9.7. Wyodr(cid:218)bnianie warto(cid:258)ci z jednej w(cid:239)a(cid:258)ciwo(cid:258)ci
9.8. (cid:109)wiczenia
9.9. Co dalej?
9.10. Odpowiedzi
Rozdzia(cid:239) 10. Formatowanie wyników dzia(cid:239)ania
10.1. Formatowanie — upi(cid:218)kszanie tego, co widzisz
10.2. Praca z formatowaniem domy(cid:258)lnym
10.3. Formatowanie tabel
10.4. Formatowanie list
10.5. Formatowanie szerokich list
10.6. Tworzenie niestandardowych kolumn i elementów list
10.7. Przesy(cid:239)anie danych na wyj(cid:258)cie: do pliku, drukarki lub na ekran
10.8. Jeszcze jeden typ wyj(cid:258)cia: GridViews
10.9. Najcz(cid:218)(cid:258)ciej spotykane problemy
Formatuj dane na ko(cid:241)cu
10.9.1.
10.9.2. Jeden typ obiektu jednocze(cid:258)nie
10.10. (cid:109)wiczenia
10.11. Co dalej?
10.12. Odpowiedzi
Rozdzia(cid:239) 11. Filtrowanie i porównywanie danych
11.1. Jak sprawi(cid:202), aby pow(cid:239)oka da(cid:239)a Ci to, czego potrzebujesz
11.2. Filtrowanie z lewej
11.3. Korzystanie z operatorów porównania
11.4. Filtrowanie obiektów poza potokiem
11.5. U(cid:285)ywanie iteracyjnego modelu wiersza polece(cid:241)
11.6. Najcz(cid:218)(cid:258)ciej spotykane problemy
11.6.1. Filtr z lewej, prosz(cid:218)
11.6.2. Kiedy u(cid:285)ywanie symbolu $_ jest dozwolone?
11.7. (cid:109)wiczenia
11.8. Co dalej?
11.9. Odpowiedzi
141
141
142
143
143
144
145
148
153
156
157
163
164
165
167
167
168
171
173
174
175
178
178
178
179
181
182
183
183
185
185
186
187
189
190
192
193
193
194
195
195
Kup książkęPoleć książkęSpis tre(cid:258)ci
7
Rozdzia(cid:239) 12. Troch(cid:218) praktyki
12.1. Definiowanie zadania
12.2. Wyszukiwanie odpowiednich polece(cid:241)
12.3. Uczymy si(cid:218), jak korzysta(cid:202) z nowych polece(cid:241)
12.4. Wskazówki dotycz(cid:200)ce samodzielnej nauki
12.5. (cid:109)wiczenia
12.6. Odpowiedzi
Rozdzia(cid:239) 13. Komunikacja zdalna — jeden-do-jednego i jeden-do-wielu
13.1. Koncepcja komunikacji zdalnej w pow(cid:239)oce PowerShell
13.2. Us(cid:239)uga WinRM
13.3. U(cid:285)ywanie polece(cid:241) Enter-PSSession i Exit-PSSession
do po(cid:239)(cid:200)cze(cid:241) zdalnych typu jeden-do-jednego
13.4. Zastosowanie polecenia Invoke-Command do komunikacji zdalnej
typu jeden-do-wielu
13.5. Ró(cid:285)nice mi(cid:218)dzy poleceniami zdalnymi i lokalnymi
13.5.1. Polecenie Invoke-Command kontra parametr -computerName
13.5.2. Przetwarzanie lokalne kontra zdalne
13.5.3. Obiekty po deserializacji
13.6. Ale poczekaj, jest jeszcze co(cid:258) wi(cid:218)cej
13.7. Opcje komunikacji zdalnej
13.8. Najcz(cid:218)(cid:258)ciej spotykane problemy
13.9. (cid:109)wiczenia
13.10. Co dalej?
13.11. Odpowiedzi
Rozdzia(cid:239) 14. Zastosowanie mechanizmu WMI oraz standardu CIM
14.1. Podstawowe elementy WMI
14.2. Z(cid:239)e wie(cid:258)ci na temat us(cid:239)ugi WMI
14.3. Eksplorowanie WMI
14.4. Wybierz swoj(cid:200) bro(cid:241): WMI lub CIM
14.5. U(cid:285)ywanie polecenia Get-WmiObject
14.6. U(cid:285)ywanie polecenia Get-CimInstance
14.7. Dokumentacja WMI
14.8. Najcz(cid:218)(cid:258)ciej spotykane problemy
14.9. (cid:109)wiczenia
14.10. Co dalej?
14.11. Odpowiedzi
Rozdzia(cid:239) 15. Wielozadaniowo(cid:258)(cid:202) z zadaniami dzia(cid:239)aj(cid:200)cymi w tle
15.1. Uruchamianie wielu zada(cid:241) pow(cid:239)oki PowerShell w tym samym czasie
15.2. Zadania synchroniczne i asynchroniczne
15.3. Tworzenie zada(cid:241) lokalnych
197
197
198
199
201
201
202
203
204
206
210
213
216
216
217
219
220
221
222
223
224
224
225
226
228
230
232
233
237
237
237
238
239
239
241
241
242
243
Kup książkęPoleć książkę8
Spis tre(cid:258)ci
15.4. Zapytania WMI jako zadania dzia(cid:239)aj(cid:200)ce w tle
15.5. Komunikacja zdalna jako zadanie dzia(cid:239)aj(cid:200)ce w tle
15.6. Pobieranie wyników dzia(cid:239)ania zadania uruchomionego w tle
15.7. Praca z zadaniami podrz(cid:218)dnymi
15.8. Polecenia do zarz(cid:200)dzania zadaniami
15.9. Zaplanowane zadania
15.10. Najcz(cid:218)(cid:258)ciej spotykane problemy
15.11. (cid:109)wiczenia
15.12. Odpowiedzi
Rozdzia(cid:239) 16. Praca z wieloma obiektami jednocze(cid:258)nie
16.1. Automatyzacja zarz(cid:200)dzania wieloma obiektami docelowymi
16.2. Preferowany sposób: polecenia „wsadowe”
16.3. Wykorzystanie mechanizmów CIM/WMI — wywo(cid:239)ywanie metod
16.4. Plan B — wyliczanie obiektów
16.5. Najcz(cid:218)(cid:258)ciej spotykane problemy
16.5.1. Który sposób post(cid:218)powania jest w(cid:239)a(cid:258)ciwy?
16.5.2. Metody WMI a polecenia pow(cid:239)oki
16.5.3. Dokumentacja metod
16.5.4. Najcz(cid:218)stsze problemy z poleceniem ForEach-Object
16.6. (cid:109)wiczenia
16.7. Odpowiedzi
Rozdzia(cid:239) 17. Bezpiecze(cid:241)stwo wykonywania skryptów
17.1. Zapewnienie bezpiecze(cid:241)stwa pow(cid:239)oki PowerShell
17.2. Model bezpiecze(cid:241)stwa pow(cid:239)oki Windows PowerShell
17.3. Polityka wykonywania skryptów i podpisywanie kodu
17.3.1. Ustawienia polityki wykonywania skryptów
17.3.2. Cyfrowe podpisywanie kodu
17.4. Inne mechanizmy bezpiecze(cid:241)stwa
17.5. Inne luki w zabezpieczeniach?
17.6. Zalecenia bezpiecze(cid:241)stwa
17.7. (cid:109)wiczenia
Rozdzia(cid:239) 18. Zmienne — miejsca do przechowywania danych
18.1. Wprowadzenie do zmiennych
18.2. Przechowywanie warto(cid:258)ci w zmiennych
18.3. U(cid:285)ywanie zmiennych: zabawne sztuczki z apostrofami i cudzys(cid:239)owami
18.4. Przechowywanie wielu obiektów w zmiennej
18.4.1. Praca z pojedynczymi obiektami w zmiennej
18.4.2. Praca z wieloma obiektami w zmiennej
18.4.3. Inne sposoby pracy z wieloma obiektami
18.4.4. Rozwijanie w(cid:239)a(cid:258)ciwo(cid:258)ci i metod obiektów w pow(cid:239)oce PowerShell v3
18.5. Wi(cid:218)cej trików z cudzys(cid:239)owami
244
245
246
249
251
253
254
256
256
259
259
260
262
266
271
271
273
273
274
275
275
277
277
278
280
280
283
287
287
288
289
291
291
292
294
297
297
298
299
300
301
Kup książkęPoleć książkęSpis tre(cid:258)ci
9
18.6. Deklarowanie typu zmiennej
18.7. Polecenia do pracy ze zmiennymi
18.8. Dobre praktyki w pracy ze zmiennymi
18.9. Najcz(cid:218)(cid:258)ciej spotykane problemy
18.10. (cid:109)wiczenia
18.11. Co dalej?
18.12. Odpowiedzi
Rozdzia(cid:239) 19. Wej(cid:258)cie i wyj(cid:258)cie
19.1. Pobieranie i wy(cid:258)wietlanie informacji
19.2. Polecenie Read-Host
19.3. Polecenie Write-Host
19.4. Polecenie Write-Output
19.5. Inne sposoby wy(cid:258)wietlania danych
19.6. (cid:109)wiczenia
19.7. Co dalej?
19.8. Odpowiedzi
Rozdzia(cid:239) 20. Sesje — u(cid:239)atwienie komunikacji zdalnej
20.1. U(cid:239)atwienie komunikacji zdalnej z u(cid:285)yciem pow(cid:239)oki PowerShell
20.2. Tworzenie sesji wielokrotnego u(cid:285)ytku i praca z nimi
20.3. U(cid:285)ywanie sesji z poleceniem Enter-PSSession
20.4. U(cid:285)ywanie sesji z poleceniem Invoke-Command
20.5. Niejawna komunikacja zdalna — importowanie sesji
20.6. Korzystanie z roz(cid:239)(cid:200)czonych sesji
20.7. (cid:109)wiczenia
20.8. Co dalej?
20.9. Odpowiedzi
Rozdzia(cid:239) 21. Nazywasz to pisaniem skryptów?
21.1. Nie tworzymy programów, ale raczej pliki wsadowe
21.2. Tworzenie polece(cid:241) wielokrotnego u(cid:285)ytku
21.3. Parametryzowanie polece(cid:241)
21.4. Tworzenie sparametryzowanego skryptu
21.5. Dokumentowanie skryptu
21.6. Jeden skrypt, jeden potok
21.7. Szybkie spojrzenie na zasi(cid:218)g
21.8. (cid:109)wiczenia
21.9. Odpowiedzi
Rozdzia(cid:239) 22. Ulepszanie sparametryzowanego skryptu
22.1. Skrypt bazowy
22.2. Zmuszamy pow(cid:239)ok(cid:218) PowerShell do ci(cid:218)(cid:285)kiej pracy
303
305
306
306
307
307
307
309
309
310
313
315
317
318
319
319
321
321
322
323
325
327
328
330
331
332
333
333
334
336
337
339
340
344
346
346
349
349
350
Kup książkęPoleć książkę10
Spis tre(cid:258)ci
22.3. Definiowanie parametrów obligatoryjnych
22.4. Dodawanie aliasów parametrów
22.5. Sprawdzanie poprawno(cid:258)ci warto(cid:258)ci parametru
22.6. Wy(cid:258)wietlanie szczegó(cid:239)owych wyników dzia(cid:239)ania
22.7. (cid:109)wiczenia
22.8. Odpowiedzi
Rozdzia(cid:239) 23. Zaawansowana konfiguracja komunikacji zdalnej
23.1. Korzystanie z innych punktów ko(cid:241)cowych
23.2. Tworzenie niestandardowych punktów ko(cid:241)cowych
23.2.1. Tworzenie konfiguracji sesji
23.2.2. Rejestrowanie sesji
23.3. W(cid:239)(cid:200)czanie mechanizmu komunikacji zdalnej
za po(cid:258)rednictwem hostów po(cid:258)rednich
23.4. Zaawansowane uwierzytelnianie na komputerach zdalnych
23.4.1. Ustawienia domy(cid:258)lne wzajemnego uwierzytelniania
23.4.2. Wzajemne uwierzytelnianie przez SSL
23.4.3. Wzajemne uwierzytelnianie za po(cid:258)rednictwem TrustedHosts
23.5. (cid:109)wiczenia
23.6. Odpowiedzi
Rozdzia(cid:239) 24. Zastosowanie wyra(cid:285)e(cid:241) regularnych
do parsowania plików tekstowych
24.1. Przeznaczenie wyra(cid:285)e(cid:241) regularnych
24.2. Podstawy sk(cid:239)adni wyra(cid:285)e(cid:241) regularnych
24.3. U(cid:285)ywanie wyra(cid:285)e(cid:241) regularnych z operatorem -Match
24.4. U(cid:285)ywanie wyra(cid:285)e(cid:241) regularnych z poleceniem Select-String
24.5. (cid:109)wiczenia
24.6. Co dalej?
24.7. Odpowiedzi
Rozdzia(cid:239) 25. Ró(cid:285)ne wskazówki, techniki, sztuczki i chwyty
25.1. Profile, podpowiedzi i kolory — dostosowywanie pow(cid:239)oki
25.1.1. Profile pow(cid:239)oki PowerShell
25.1.2. Dostosowywanie znaku zach(cid:218)ty pow(cid:239)oki
25.1.3. Modyfikowanie ustawie(cid:241) kolorów
25.2. Operatory: -as, -is, -replace, -join, -split, -in, -contains
25.2.1. Operatory -as i -is
25.2.2. Operator -replace
25.2.3. Operatory -join i -split
25.2.4. Operatory -contains i -in
25.3. Operowanie na ci(cid:200)gach znaków
25.4. Operowanie na datach
25.5. Operowanie na datach WMI
351
354
355
356
358
358
361
361
362
363
364
367
368
368
369
369
370
371
373
374
374
376
377
379
380
381
383
383
383
386
386
388
388
389
389
390
391
392
394
Kup książkęPoleć książkęSpis tre(cid:258)ci
11
25.6. Ustawianie domy(cid:258)lnych warto(cid:258)ci parametrów
25.7. Zastosowanie bloków skryptu
25.8. Wi(cid:218)cej wskazówek, trików i technik
Rozdzia(cid:239) 26. Korzystanie ze skryptów innych u(cid:285)ytkowników
26.1. Skrypt
26.2. Analiza wiersz po wierszu
26.3. (cid:109)wiczenia
26.4. Odpowiedzi
Rozdzia(cid:239) 27. To jeszcze nie koniec
27.1. Pomys(cid:239)y na dalsz(cid:200) eksploracj(cid:218) pow(cid:239)oki PowerShell
27.2. „Od czego mam zacz(cid:200)(cid:202), kiedy przeczyta(cid:239)em ju(cid:285) t(cid:218) ksi(cid:200)(cid:285)k(cid:218)?”
27.3. Inne zasoby, o których warto pami(cid:218)ta(cid:202)
Rozdzia(cid:239) 28. PowerShell — podr(cid:218)czna (cid:258)ci(cid:200)gawka
28.1. Interpunkcja
28.2. Pliki pomocy
28.3. Operatory
28.4. Niestandardowe w(cid:239)a(cid:258)ciwo(cid:258)ci i kolumny
28.5. Pobieranie parametrów z potoku
28.6. Kiedy u(cid:285)ywa(cid:202) symbolu zast(cid:218)pczego $_
Dodatek A. (cid:109)wiczenia podsumowuj(cid:200)ce
Skorowidz
395
396
397
399
400
404
405
407
409
409
410
411
413
413
417
417
418
419
420
423
435
Kup książkęPoleć książkę12
Spis tre(cid:258)ci
Kup książkęPoleć książkęPoznaj pow(cid:239)ok(cid:218) PowerShell
W tym rozdziale chodzi o to, aby(cid:258) zaprzyja(cid:283)ni(cid:239) si(cid:218) z pow(cid:239)ok(cid:200) PowerShell i zdecydowa(cid:239),
którego interfejsu tej pow(cid:239)oki b(cid:218)dziesz u(cid:285)ywa(cid:239) (tak, masz wybór!). Je(cid:258)li korzysta(cid:239)e(cid:258) ju(cid:285)
z pow(cid:239)oki PowerShell, ten materia(cid:239) mo(cid:285)e wyda(cid:202) Ci si(cid:218) zb(cid:218)dny, cho(cid:202) mimo to warto
przejrze(cid:202) ten rozdzia(cid:239) — mo(cid:285)esz znale(cid:283)(cid:202) tu kilka ciekawostek, które pomog(cid:200) Ci w pra-
cy z pow(cid:239)ok(cid:200).
Niniejszy rozdzia(cid:239) dotyczy wy(cid:239)(cid:200)cznie pow(cid:239)oki PowerShell w systemie Windows.
Wersje dzia(cid:239)aj(cid:200)ce na innych platformach ni(cid:285) Windows nie maj(cid:200) tylu opcji i mo(cid:285)liwo(cid:258)ci,
wi(cid:218)c je(cid:285)eli jeste(cid:258) w takiej sytuacji, mo(cid:285)esz spokojnie pomin(cid:200)(cid:202) ten rozdzia(cid:239).
2.1. Wybierz swoj(cid:261) bro(cid:276)
W systemie Windows firma Microsoft oferuje dwa sposoby pracy z pow(cid:239)ok(cid:200) PowerShell
(a w zasadzie nawet cztery, je(cid:285)eli jeste(cid:258) bardzo wybredny). Na rysunku 2.1 pokazano
stron(cid:218) aplikacji ekranu Start z czterema ikonami pow(cid:239)oki PowerShell (wyró(cid:285)nili(cid:258)my je
obramowaniem, tak aby (cid:239)atwiej mo(cid:285)na je by(cid:239)o dostrzec).
WSKAZÓWKA W starszych wersjach systemu Windows wspomniane ikony
znajduj(cid:200) si(cid:218) w menu Start. Aby je odnale(cid:283)(cid:202), powiniene(cid:258) wybra(cid:202) polecenie Wszyst-
kie programy/Akcesoria/Windows PowerShell. Zamiast tego mo(cid:285)esz równie(cid:285) wybra(cid:202)
z menu Start polecenie Uruchom, wpisa(cid:202) powershell.exe i nacisn(cid:200)(cid:202) klawisz Enter, co
spowoduje uruchomienie konsoli pow(cid:239)oki PowerShell. W systemach Windows 8
i Windows Server 2012 lub nowszych przytrzymaj klawisz Windows na klawiatu-
rze, naci(cid:258)nij klawisz R, a na ekranie pojawi si(cid:218) okno dialogowe Uruchom. Aby szyb-
ko dosta(cid:202) si(cid:218) do ikon pow(cid:239)oki PowerShell, naci(cid:258)nij i zwolnij klawisz Windows,
a nast(cid:218)pnie w polu wyszukiwania zacznij pisa(cid:202) powershell.
Kup książkęPoleć książkę32
ROZDZIA(cid:224) 2. Poznaj pow(cid:239)ok(cid:218) PowerShell
Rysunek 2.1. Pow(cid:225)ok(cid:266) PowerShell mo(cid:298)esz uruchomi(cid:252) na jeden z czterech sposobów
W 32-bitowym systemie operacyjnym masz tylko najwy(cid:285)ej dwie ikony pow(cid:239)oki Po-
werShell; w systemie 64-bitowym znajdziesz ich maksymalnie cztery. S(cid:200) to:
(cid:81) Windows PowerShell — 64-bitowa konsola tekstowa w systemie 64-bitowym;
32-bitowa konsola tekstowa w systemie 32-bitowym;
(cid:81) Windows PowerShell (x86) — 32-bitowa konsola tekstowa w systemie 64-bitowym;
(cid:81) Windows PowerShell ISE — 64-bitowa konsola graficzna w systemie 64-bitowym;
32-bitowa konsola graficzna w systemie 32-bitowym;
(cid:81) Windows PowerShell ISE (x86) — 32-bitowa konsola graficzna w systemie
64-bitowym.
Innymi s(cid:239)owy, 32-bitowe systemy operacyjne maj(cid:200) tylko 32-bitow(cid:200) wersj(cid:218) pow(cid:239)oki Po-
werShell, a systemy 64-bitowe posiadaj(cid:200) pow(cid:239)ok(cid:218) PowerShell zarówno w wersji 64-bitowej,
jak i 32-bitowej, przy czym 32-bitowe wersje pow(cid:239)oki zawieraj(cid:200) w nazwie ikony ci(cid:200)g zna-
ków x86. Z 32-bitowej wersji pow(cid:239)oki PowerShell w systemie 64-bitowym powiniene(cid:258) ko-
rzysta(cid:202) tylko wtedy, kiedy u(cid:285)ywasz takiego rozszerzenia pow(cid:239)oki, dla którego wersja
64-bitowa nie jest dost(cid:218)pna. Obecnie firma Microsoft ca(cid:239)kowicie postawi(cid:239)a na rozwój
wersji 64-bitowej, a wersje 32-bitowe s(cid:200) utrzymywane g(cid:239)ówne ze wzgl(cid:218)du na koniecz-
no(cid:258)(cid:202) zachowania kompatybilno(cid:258)ci wstecznej.
Kup książkęPoleć książkę2.1. Wybierz swoj(cid:200) bro(cid:241)
33
WSKAZÓWKA W systemach 64-bitowych mo(cid:285)na bardzo (cid:239)atwo przypadkowo uru-
chomi(cid:202) niew(cid:239)a(cid:258)ciw(cid:200) wersj(cid:218) aplikacji. Powiniene(cid:258) wyrobi(cid:202) w sobie nawyk spogl(cid:200)-
dania na pasek tytu(cid:239)u okna aplikacji — je(cid:285)eli w nazwie okna znajdziesz ci(cid:200)g znaków
x86, oznacza to, (cid:285)e uruchamiasz aplikacj(cid:218) 32-bitow(cid:200). Rozszerzenia 64-bitowe nie
b(cid:218)d(cid:200) dzia(cid:239)a(cid:202) w 32-bitowej wersji pow(cid:239)oki (a zdecydowana wi(cid:218)kszo(cid:258)(cid:202) nowych roz-
szerze(cid:241) to wersje 64-bitowe). Dobrym, rekomendowanym przez nas rozwi(cid:200)zaniem
jest przypi(cid:218)cie skrótu do wybranej wersji pow(cid:239)oki bezpo(cid:258)rednio do menu Start.
2.1.1. Okno konsoli
Na rysunku 2.2 przedstawiono okno konsoli, które jest miejscem, gdzie wi(cid:218)kszo(cid:258)(cid:202) u(cid:285)yt-
kowników po raz pierwszy styka si(cid:218) z pow(cid:239)ok(cid:200) PowerShell. Nieco przewrotnie roz-
poczniemy t(cid:218) sekcj(cid:218) od przedstawienia kilku argumentów przemawiaj(cid:200)cych przeciwko
u(cid:285)ywaniu tekstowej konsoli pow(cid:239)oki PowerShell:
(cid:81) Konsola tekstowa nie obs(cid:239)uguje zestawów znaków dwubajtowych, a zatem wiele
tekstów napisanych w j(cid:218)zykach innych ni(cid:285) angielski nie b(cid:218)dzie wy(cid:258)wietlanych
poprawnie.
(cid:81) Operacje z u(cid:285)yciem schowka systemowego (kopiowanie i wklejanie) wykorzy-
stuj(cid:200) niestandardowe kombinacje klawiszy, do których trudno si(cid:218) przyzwyczai(cid:202).
(cid:81) Konsola tekstowa zapewnia tylko niewielk(cid:200) pomoc przy wpisywaniu polece(cid:241)
z klawiatury (w porównaniu z konsol(cid:200) ISE, któr(cid:200) omówimy w dalszej cz(cid:218)(cid:258)ci tego
rozdzia(cid:239)u), chocia(cid:285) w pow(cid:239)oce PowerShell v5 wygl(cid:200)da to znacznie lepiej. Warto
równie(cid:285) zauwa(cid:285)y(cid:202), (cid:285)e w systemie Windows 10 firma Microsoft wprowadzi(cid:239)a do
pow(cid:239)oki PowerShell wiele poprawek naprawiaj(cid:200)cych niektóre z istniej(cid:200)cych od
dawna problemów, wi(cid:218)c Twoje wra(cid:285)enia mog(cid:200) by(cid:202) nieco inne.
Rysunek 2.2. Standardowe okno tekstowej konsoli pow(cid:225)oki PowerShell — PowerShell.exe
Kup książkęPoleć książkę34
ROZDZIA(cid:224) 2. Poznaj pow(cid:239)ok(cid:218) PowerShell
Wymienione wy(cid:285)ej niedogodno(cid:258)ci nie zmieniaj(cid:200) w niczym faktu, (cid:285)e konsola tekstowa
jest jedynym rozwi(cid:200)zaniem, gdy chcesz uruchomi(cid:202) pow(cid:239)ok(cid:218) PowerShell na serwerach,
które nie posiadaj(cid:200) zainstalowanego graficznego interfejsu u(cid:285)ytkownika (takich jak
przyk(cid:239)adowo serwery Server Core, Nano Server lub dowolna instancja serwera Windows
Server, w której interfejs GUI zosta(cid:239) usuni(cid:218)ty lub nie zosta(cid:239) zainstalowany). Po stronie
plusów tekstowej konsoli pow(cid:239)oki PowerShell mo(cid:285)emy wymieni(cid:202):
(cid:81) Aplikacja konsoli tekstowej ma niewielkie rozmiary, dzi(cid:218)ki czemu szybko si(cid:218) (cid:239)a-
duje i nie zu(cid:285)ywa du(cid:285)o pami(cid:218)ci.
(cid:81) Nie wymaga (cid:285)adnych innych komponentów z platformy .NET Framework
oprócz tych, których potrzebuje sama pow(cid:239)oka PowerShell.
(cid:81) W razie potrzeby mo(cid:285)esz zmieni(cid:202) ustawienia kolorów na przyk(cid:239)ad na zielony
tekst na czarnym tle i udawa(cid:202), (cid:285)e pracujesz na komputerze klasy mainframe z lat
70. ubieg(cid:239)ego stulecia.
Je(cid:258)li zdecydujesz si(cid:218) na korzystanie z tekstowej konsoli pow(cid:239)oki PowerShell, zapoznaj
si(cid:218) z kilkoma naszymi sugestiami dotycz(cid:200)cymi jej konfiguracji. Aby wprowadzi(cid:202) opisane
ni(cid:285)ej zmiany w ustawieniach, powiniene(cid:258) klikn(cid:200)(cid:202) ikon(cid:218) pow(cid:239)oki znajduj(cid:200)c(cid:200) si(cid:218) w le-
wym górnym rogu okna konsoli i z menu podr(cid:218)cznego wybra(cid:202) polecenie W(cid:239)a(cid:258)ciwo(cid:258)ci.
Na ekranie pojawi si(cid:218) okno dialogowe przedstawione na rysunku 2.3. W systemie Win-
dows 10 okno to wygl(cid:200)da nieco inaczej (znajdziesz tam kilka nowych opcji), ale ogólnie
sposób post(cid:218)powania jest taki sam.
Rysunek 2.3. Zmiana ustawie(cid:276) konfiguracyjnych okna konsoli
Kup książkęPoleć książkę2.1. Wybierz swoj(cid:200) bro(cid:241)
35
Na karcie Opcje mo(cid:285)esz zwi(cid:218)kszy(cid:202) rozmiar bufora historii polece(cid:241) (opcja Historia pole-
ce(cid:241)/Rozmiar buforu), który pozwala konsoli zapami(cid:218)tywa(cid:202) wpisane polecenia i umo(cid:285)liwia
ich przywo(cid:239)ywanie z poziomu klawiatury za pomoc(cid:200) strza(cid:239)ek w gór(cid:218) i w dó(cid:239). List(cid:218)
wcze(cid:258)niej wykonanych polece(cid:241) mo(cid:285)esz tak(cid:285)e wy(cid:258)wietli(cid:202), naciskaj(cid:200)c klawisz F7.
Na karcie Czcionka zmie(cid:241) rozmiar czcionki na nieco wi(cid:218)kszy ni(cid:285) domy(cid:258)lne 12 pkt.
Prosimy. Naprawd(cid:218) nie obchodzi nas, czy masz sokoli wzrok — po prostu zaufaj nam
i zwi(cid:218)ksz nieco rozmiar czcionki. Pracuj(cid:200)c z pow(cid:239)ok(cid:200) PowerShell, b(cid:218)dziesz musia(cid:239) cz(cid:218)-
sto szybko odró(cid:285)nia(cid:202) od siebie wiele podobnych znaków, takich jak (apostrof) czy ` (od-
wrócony apostrof), a ma(cid:239)a czcionka wcale w tym nie pomaga.
Na karcie Uk(cid:239)ad ustaw obie opcje Szeroko(cid:258)(cid:202) na t(cid:218) sam(cid:200) warto(cid:258)(cid:202) i upewnij si(cid:218), (cid:285)e
otrzymane okno mie(cid:258)ci si(cid:218) na ekranie. Je(cid:285)eli tego nie zrobisz, mo(cid:285)e si(cid:218) okaza(cid:202), (cid:285)e
w dolnej cz(cid:218)(cid:258)ci okna pojawi si(cid:218) poziomy pasek przewijania, a niektóre, „szerokie” wy-
niki dzia(cid:239)ania polece(cid:241) pow(cid:239)oki b(cid:218)d(cid:200) si(cid:218) pojawia(cid:239)y poza praw(cid:200) kraw(cid:218)dzi(cid:200) okna i nie b(cid:218)-
d(cid:200) widoczne. W czasie prowadzonych przez nas szkole(cid:241) zdarza(cid:239)o si(cid:218), (cid:285)e nasi studenci
sp(cid:218)dzali sporo czasu na uporczywych próbach zmuszania do dzia(cid:239)ania jakie(cid:258) pozornie
niedzia(cid:239)aj(cid:200)ce polecenie, które w rzeczywisto(cid:258)ci dzia(cid:239)a(cid:239)o jak nale(cid:285)y, wy(cid:258)wietlaj(cid:200)c wyniki
poza kraw(cid:218)dzi(cid:200) ekranu. To mo(cid:285)e by(cid:202) irytuj(cid:200)ce.
Na koniec przejd(cid:283) na kart(cid:218) Kolory i postaraj si(cid:218) zachowa(cid:202) umiar. Pozostaw w miar(cid:218)
wysoki kontrast i zachowaj (cid:239)atwo(cid:258)(cid:202) czytania. Je(cid:285)eli nie podoba Ci si(cid:218) domy(cid:258)lne usta-
wienie kolorów (bia(cid:239)a czcionka na niebieskim tle), to pami(cid:218)taj, (cid:285)e na przyk(cid:239)ad czarna
czcionka na (cid:258)rednioszarym tle te(cid:285) b(cid:218)dzie wygl(cid:200)da(cid:202) ca(cid:239)kiem nie(cid:283)le.
Powiniene(cid:258) pami(cid:218)ta(cid:202) o jeszcze jednej sprawie: aplikacja, któr(cid:200) uruchamiasz w kon-
soli tekstowej, to nie jest pow(cid:239)oka PowerShell — to tylko narz(cid:218)dzie, za pomoc(cid:200) którego
wchodzisz w interakcj(cid:218) z pow(cid:239)ok(cid:200) PowerShell. Sama aplikacja konsolowa ma swoje ko-
rzenie w po(cid:239)owie lat 80. ubieg(cid:239)ego stulecia, a co za tym idzie, jest dosy(cid:202) prymitywna
i nie powiniene(cid:258) oczekiwa(cid:202), (cid:285)e zrobi na Tobie ogromne wra(cid:285)enie.
2.1.2. Zintegrowane (cid:286)rodowisko skryptowe
Na rysunku 2.4 przedstawiono wygl(cid:200)d (cid:258)rodowiska PowerShell Integrated Scripting
Environment (ISE).
WSKAZÓWKA Je(cid:285)eli przypadkowo uruchomisz standardow(cid:200) aplikacj(cid:218) konsolo-
w(cid:200), to mo(cid:285)esz uruchomi(cid:202) (cid:258)rodowisko ISE, wpisuj(cid:200)c polecenie ise i naciskaj(cid:200)c
klawisz Enter.
Istnieje wiele zagadnie(cid:241) zwi(cid:200)zanych ze (cid:258)rodowiskiem PowerShell ISE, o których warto
wspomnie(cid:202), ale rozpoczniemy od przedstawienia tabeli 2.1, gdzie zamieszczamy krót-
kie zestawienie jego najwa(cid:285)niejszych zalet i wad.
Zacznijmy od podstaw. Na rysunku 2.5 wyró(cid:285)niono trzy g(cid:239)ówne obszary okna (cid:258)ro-
dowiska ISE i zaznaczono obszar paska narz(cid:218)dzi ISE, za pomoc(cid:200) którego mo(cid:285)na kon-
trolowa(cid:202) te obszary.
Kup książkęPoleć książkę36
ROZDZIA(cid:224) 2. Poznaj pow(cid:239)ok(cid:218) PowerShell
Rysunek 2.4. (cid:285)rodowisko PowerShell ISE (powershell_ise.exe)
Tabela 2.1. Zalety i wady (cid:286)rodowiska PowerShell ISE
Zalety
Wady
(cid:285)rodowisko ISE jest znacznie (cid:225)adniejsze od
aplikacji konsolowej i obs(cid:225)uguje zestawy
znaków dwubajtowych.
Wspomaga tworzenie polece(cid:276) i skryptów
pow(cid:225)oki PowerShell, o czym przekonasz si(cid:266)
w dalszej cz(cid:266)(cid:286)ci tego rozdzia(cid:225)u.
(cid:285)rodowisko ISE wykorzystuje standardowe
kombinacje klawiszy operacji kopiowania
i wklejania.
Wymaga obecno(cid:286)ci zainstalowanego pakietu
Windows Presentation Foundation (WPF), co oznacza,
(cid:298)e nie mo(cid:298)e dzia(cid:225)a(cid:252) na serwerze, na którym
odinstalowano GUI (chocia(cid:298) mo(cid:298)e dzia(cid:225)a(cid:252) w trybie
GUI Minimal Server, który obs(cid:225)uguje aplikacje WPF).
Uruchamianie (cid:286)rodowiska ISE zajmuje nieco wi(cid:266)cej
czasu, ni(cid:298) to ma miejsce w przypadku aplikacji
konsolowej (aczkolwiek jest to ró(cid:298)nica zaledwie
kilku sekund).
Wersje wcze(cid:286)niejsze ni(cid:298) 5.0 nie obs(cid:225)uguj(cid:261)
mechanizmu transkrypcji.
Na rysunku 2.5 górny obszar to okienko edytora skryptów, którego w tej ksi(cid:200)(cid:285)ce nie
b(cid:218)dziemy u(cid:285)ywa(cid:202). W prawym górnym rogu tego panelu zauwa(cid:285)ysz ma(cid:239)(cid:200) niebiesk(cid:200)
strza(cid:239)k(cid:218); kliknij j(cid:200), aby ukry(cid:202) edytor skryptów i zmaksymalizowa(cid:202) panel konsoli, czyli
obszar, z którego b(cid:218)dziemy korzysta(cid:202). Po prawej stronie okna znajduje si(cid:218) panel polece(cid:241),
który mo(cid:285)esz pozostawi(cid:202) otwarty lub zamkn(cid:200)(cid:202), klikaj(cid:200)c ma(cid:239)y przycisk X w prawym
górnym rogu. „P(cid:239)ywaj(cid:200)ce” okno polece(cid:241) mo(cid:285)esz przywo(cid:239)a(cid:202), klikaj(cid:200)c przycisk Show
Command Window (drugi od prawej przycisk na pasku narz(cid:218)dzi). Je(cid:258)li zamkniesz panel
Kup książkęPoleć książkę2.1. Wybierz swoj(cid:200) bro(cid:241)
37
Rysunek 2.5. Pasek narz(cid:266)dzi i trzy g(cid:225)ówne obszary okna (cid:286)rodowiska ISE
polece(cid:241) i zechcesz go przywróci(cid:202), powiniene(cid:258) nacisn(cid:200)(cid:202) przycisk Show Command Add-on
(pierwszy od prawej na pasku narz(cid:218)dzi). Pierwsze trzy przyciski, które wyró(cid:285)nili(cid:258)my na pa-
sku narz(cid:218)dzi, steruj(cid:200) uk(cid:239)adem edytora skryptów i panelu konsoli. Mo(cid:285)esz ustawi(cid:202) te panele
jeden nad drugim, obok siebie lub otworzy(cid:202) pe(cid:239)noekranowy panel edytora skryptów.
W prawym dolnym rogu okna (cid:258)rodowiska ISE znajdziesz suwak, za pomoc(cid:200) którego
mo(cid:285)esz zmienia(cid:202) rozmiar czcionki. W menu Tools (narz(cid:218)dzia) znajdziesz polecenie
Options (opcje), za pomoc(cid:200) którego mo(cid:285)na definiowa(cid:202) niestandardowe schematy kolo-
rów i inne ustawienia wygl(cid:200)du; mo(cid:285)esz (cid:258)mia(cid:239)o eksperymentowa(cid:202) z tymi ustawieniami.
ZRÓB TO SAM Przyjmujemy tutaj za(cid:239)o(cid:285)enie, (cid:285)e podczas pracy z t(cid:200) ksi(cid:200)(cid:285)k(cid:200) do two-
rzenia i analizowania skryptów b(cid:218)dziesz u(cid:285)ywa(cid:239) wbudowanego edytora skryptów
(cid:258)rodowiska ISE. Na razie jednak ukryj okienko edytora skryptów i (je(cid:258)li chcesz)
panel polece(cid:241). Rozmiar czcionki mo(cid:285)esz oczywi(cid:258)cie ustawi(cid:202) wed(cid:239)ug w(cid:239)asnego
uznania. Je(cid:285)eli domy(cid:258)lny schemat kolorów nie odpowiada Twoim preferencjom,
równie(cid:285) mo(cid:285)esz go dowolnie zmodyfikowa(cid:202) i dostosowa(cid:202) do swoich potrzeb. Je(cid:285)eli
jednak zamiast tego wolisz korzysta(cid:202) z aplikacji konsolowej, to oczywi(cid:258)cie nic
z(cid:239)ego si(cid:218) nie wydarzy — wszystkie przyk(cid:239)ady w ksi(cid:200)(cid:285)ce b(cid:218)d(cid:200) nadal dzia(cid:239)a(cid:202) po-
prawnie. W kilku przypadkach b(cid:218)dziemy jednak omawia(cid:202) mechanizmy i funkcje
specyficzne dla ISE, ale w takich sytuacjach zawsze Ci(cid:218) o tym wcze(cid:258)niej poin-
formujemy, (cid:285)eby(cid:258) mia(cid:239) szans(cid:218) uruchomi(cid:202) (cid:258)rodowisko ISE.
Kup książkęPoleć książkę38
ROZDZIA(cid:224) 2. Poznaj pow(cid:239)ok(cid:218) PowerShell
2.2. Wracamy do wpisywania polece(cid:276) z klawiatury
Pow(cid:239)oka PowerShell to interfejs wiersza polece(cid:241), co oznacza, (cid:285)e b(cid:218)dziesz wpisywa(cid:202) z kla-
wiatury wiele polece(cid:241). Podczas takiej pracy oczywi(cid:258)cie nie sposób unikn(cid:200)(cid:202) prostych
literówek, ale na szcz(cid:218)(cid:258)cie obie aplikacje PowerShell posiadaj(cid:200) mechanizmy wspoma-
gaj(cid:200)ce wpisywanie polece(cid:241) i minimalizowanie liczby literówek.
ZRÓB TO SAM Przyk(cid:239)adów opisanych poni(cid:285)ej z oczywistych przyczyn nie mo-
(cid:285)emy zilustrowa(cid:202) w ksi(cid:200)(cid:285)ce, ale fajnie b(cid:218)dzie je zobaczy(cid:202) w dzia(cid:239)aniu. Spróbuj
je wykona(cid:202) w pow(cid:239)oce PowerShell na swoim komputerze.
Aplikacja konsolowa pow(cid:239)oki PowerShell posiada mechanizm dope(cid:239)niania polece(cid:241) dzia(cid:239)a-
j(cid:200)cy w czterech obszarach:
(cid:81) Wpisz Get-S i kilka razy naci(cid:258)nij klawisz Tab, a nast(cid:218)pnie spróbuj nacisn(cid:200)(cid:202) kom-
binacj(cid:218) klawiszy Shift-Tab. Pow(cid:239)oka PowerShell b(cid:218)dzie przechodzi(cid:239)a w obie strony
przez wszystkie polecenia potencjalnie pasuj(cid:200)ce do podanego wzorca. Kontynu-
uj naciskanie tych klawiszy a(cid:285) do momentu, kiedy znajdziesz interesuj(cid:200)ce Ci(cid:218)
polecenie.
(cid:81) Wpisz Dir, dodaj spacj(cid:218), a nast(cid:218)pnie wpisz ci(cid:200)g znaków C:\ i naci(cid:258)nij klawisz
Tab. Pow(cid:239)oka PowerShell rozpocznie cykliczne przechodzenie do kolejnych
nazw plików i podfolderów z bie(cid:285)(cid:200)cego folderu.
(cid:81) Wpisz Set-Execu, naci(cid:258)nij klawisz Tab, a nast(cid:218)pnie dodaj spacj(cid:218) i my(cid:258)lnik (-).
Zacznij naciska(cid:202) klawisz Tab, aby zobaczy(cid:202), jak pow(cid:239)oka PowerShell przechodzi
przez kolejne dost(cid:218)pne parametry wybranego polecenia. Mo(cid:285)na równie(cid:285) wpisa(cid:202)
fragment nazwy parametru (na przyk(cid:239)ad -E) i nacisn(cid:200)(cid:202) klawisz Tab, aby rozpo-
cz(cid:200)(cid:202) dopasowywanie parametrów, których nazwy rozpoczynaj(cid:200) si(cid:218) od podanego
ci(cid:200)gu znaków. Aby wyczy(cid:258)ci(cid:202) wiersz polecenia, naci(cid:258)nij klawisz Esc.
(cid:81) Ponownie wpisz Set-Execu i naci(cid:258)nij klawisz Tab. Wpisz spacj(cid:218), a nast(cid:218)pnie -E
i naci(cid:258)nij znów klawisz Tab. Wpisz kolejn(cid:200) spacj(cid:218) i ponownie naci(cid:258)nij klawisz
Tab. PowerShell b(cid:218)dzie wy(cid:258)wietla(cid:239) kolejne dozwolone warto(cid:258)ci tego parametru,
ale dzia(cid:239)a to tylko dla parametrów, które maj(cid:200) predefiniowany zestaw dozwolo-
nych warto(cid:258)ci (taki sposób dope(cid:239)niania nazywamy wyliczaniem parametrów).
Ponownie naci(cid:258)nij klawisz Esc, aby usun(cid:200)(cid:202) wpisan(cid:200) komend(cid:218); nie powiniene(cid:258)
jeszcze teraz uruchamia(cid:202) tego polecenia.
(cid:165)rodowisko PowerShell ISE oferuje bardzo podobny mechanizm dope(cid:239)niania, nazy-
wany IntelliSense. Mechanizm ten b(cid:218)dzie dzia(cid:239)a(cid:239) we wszystkich opisanych wy(cid:285)ej sytu-
acjach z u(cid:285)yciem klawisza Tab, z tym (cid:285)e teraz na ekranie b(cid:218)dzie pojawia(cid:239)o si(cid:218) fajne
zgrabne podr(cid:218)czne menu podpowiedzi, takie jak pokazane na rysunku 2.6. Zawarto(cid:258)(cid:202)
menu mo(cid:285)esz przewija(cid:202) w gór(cid:218) lub w dó(cid:239) za pomoc(cid:200) klawiszy strza(cid:239)ek. Kiedy znaj-
dziesz (cid:285)(cid:200)dany element, mo(cid:285)esz go wybra(cid:202), naciskaj(cid:200)c klawisz Tab lub Enter, a nast(cid:218)p-
nie mo(cid:285)esz pisa(cid:202) dalej.
Kup książkęPoleć książkę2.3. Najcz(cid:218)(cid:258)ciej spotykane problemy
39
Rysunek 2.6. Mechanizm IntelliSense w (cid:286)rodowisku ISE odgrywa t(cid:266) sam(cid:261) rol(cid:266) co klawisz Tab w konsoli
OSTRZE(cid:297)ENIE To bardzo, bardzo, bardzo, bardzo, bardzo wa(cid:285)ne, aby(cid:258) podczas
pracy z pow(cid:239)ok(cid:200) PowerShell bardzo, bardzo, bardzo, bardzo uwa(cid:285)nie wpisywa(cid:239)
wszystkie polecenia. W niektórych przypadkach pojedyncza zagubiona spacja,
pomini(cid:218)ty cudzys(cid:239)ów, apostrof czy inny znak mog(cid:200) spowodowa(cid:202), (cid:285)e próba wy-
konania danego polecenia zako(cid:241)czy si(cid:218) niepowodzeniem. Je(cid:285)eli po uruchomie-
niu polecenia na ekranie pojawiaj(cid:200) si(cid:218) komunikaty o wyst(cid:200)pieniu b(cid:239)(cid:218)du, naj-
pierw zawsze dwukrotnie sprawd(cid:283), co wpisa(cid:239)e(cid:258) w wierszu polecenia.
Mechanizm IntelliSense dzia(cid:239)a w panelu konsoli ISE oraz w okienku edytora skryptów.
2.3. Najcz(cid:266)(cid:286)ciej spotykane problemy
Omówimy teraz pokrótce kilka elementów, które w zupe(cid:239)nie niezamierzony sposób
mog(cid:200) Ci skomplikowa(cid:202) (cid:285)ycie podczas pracy z pow(cid:239)ok(cid:200) PowerShell.
(cid:81) Poziome paski przewijania w aplikacji konsolowej — ten pozornie nieszkodliwy
i bardzo przydatny mechanizm mo(cid:285)e czasami wprawi(cid:202) w konsternacj(cid:218) nawet
ca(cid:239)kiem zaawansowanych u(cid:285)ytkowników, o czym w ci(cid:200)gu wielu lat prowadzenia
szkole(cid:241) przekonali(cid:258)my si(cid:218) ju(cid:285) niejednokrotnie. Skonfiguruj konsol(cid:218) tak, aby nie
mia(cid:239)a poziomego paska przewijania u do(cid:239)u okna. Nieco wcze(cid:258)niej w tym roz-
dziale opisywali(cid:258)my ju(cid:285), jak mo(cid:285)esz to zrobi(cid:202).
Kup książkęPoleć książkę40
ROZDZIA(cid:224) 2. Poznaj pow(cid:239)ok(cid:218) PowerShell
(cid:81) 32-bitowa i 64-bitowa wersja pow(cid:239)oki PowerShell — powiniene(cid:258) korzysta(cid:202)
z 64-bitowej wersji systemu Windows i u(cid:285)ywa(cid:202) 64-bitowej wersji pow(cid:239)oki Po-
werShell (które nie maj(cid:200) w nazwie ci(cid:200)gu znaków (x86)). Wiemy, (cid:285)e dla niektó-
rych u(cid:285)ytkowników konieczno(cid:258)(cid:202) kupienia 64-bitowego komputera dzia(cid:239)aj(cid:200)cego
pod kontrol(cid:200) 64-bitowej wersji systemu Windows mo(cid:285)e nie by(cid:202) taka oczywista,
ale jest to inwestycja, któr(cid:200) musisz przeprowadzi(cid:202), je(cid:285)eli chcesz efektywnie korzy-
sta(cid:202) z pow(cid:239)oki PowerShell. Wi(cid:218)kszo(cid:258)(cid:202) (cid:202)wicze(cid:241) i przyk(cid:239)adów omawianych w tej
ksi(cid:200)(cid:285)ce b(cid:218)dzie co prawda poprawnie dzia(cid:239)a(cid:202) w 32-bitowej wersji pow(cid:239)oki Po-
werShell, ale szybko si(cid:218) przekonasz, (cid:285)e w (cid:258)rodowisku produkcyjnym u(cid:285)ywanie
64-bitowej wersji tej pow(cid:239)oki robi powa(cid:285)n(cid:200) ró(cid:285)nic(cid:218).
(cid:81) Upewnij si(cid:218), (cid:285)e na pasku tytu(cid:239)u okna pow(cid:239)oki PowerShell znajduje si(cid:218) s(cid:239)owo
Administrator. Je(cid:285)eli go tam nie ma, zamknij to okno, ponownie kliknij prawym
przyciskiem myszy ikon(cid:218) pow(cid:239)oki PowerShell i z menu podr(cid:218)cznego wybierz
polecenie Uruchom jako administrator. Pami(cid:218)taj, (cid:285)e w (cid:258)rodowisku produkcyjnym
nie zawsze b(cid:218)dziesz móg(cid:239) to zrobi(cid:202), st(cid:200)d w dalszej cz(cid:218)(cid:258)ci tej ksi(cid:200)(cid:285)ki poka(cid:285)emy,
jak podawa(cid:202) po(cid:258)wiadczenia logowania podczas uruchamiania polece(cid:241). Na razie
musisz po prostu mie(cid:202) pewno(cid:258)(cid:202), (cid:285)e na pasku tytu(cid:239)u okna pow(cid:239)oki PowerShell
znajduje si(cid:218) s(cid:239)owo Administrator — w przeciwnym razie mo(cid:285)esz napotka(cid:202) pó(cid:283)-
niej ró(cid:285)ne problemy.
2.4. Jaka to wersja?
Sprawdzenie, której wersji pow(cid:239)oki PowerShell u(cid:285)ywasz, wbrew pozorom mo(cid:285)e wcale
nie by(cid:202) takie proste, poniewa(cid:285) ka(cid:285)da kolejna wersja jest instalowana w katalogu o na-
zwie 1.0 (odnosi si(cid:218) to do wersji silnika j(cid:218)zyka skryptowego pow(cid:239)oki, co oznacza, (cid:285)e ka(cid:285)da
wersja jest zgodna z wydaniem v1). W pow(cid:239)oce PowerShell v3 i nowszych istnieje jed-
nak (cid:239)atwy sposób sprawdzenia wersji. Aby to zrobi(cid:202), wpisz polecenie $PSVersionTable
i naci(cid:258)nij klawisz Enter:
PS C:\ $PSVersionTable
Name Value
---- -----
PSVersion 3.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.17379
BuildVersion 6.2.8250.0
PSCompatibleVersions {1.0, 2.0, 3.0}
PSRemotingProtocolVersion 2.2
Po wykonaniu tego polecenia na ekranie wy(cid:258)wietlone zostan(cid:200) zarówno numery wersji
poszczególnych komponentów zwi(cid:200)zanych z pow(cid:239)ok(cid:200) PowerShell, jak i wersja samej
pow(cid:239)oki. Je(cid:285)eli opisane polecenie nie dzia(cid:239)a lub je(cid:285)eli parametr PSVersion nie pokazuje
wersji 3.0 lub nowszej, oznacza to, (cid:285)e u(cid:285)ywasz pow(cid:239)oki PowerShell w wersji, która nie
jest odpowiednia dla tej ksi(cid:200)(cid:285)ki. Informacje o tym, jak pobra(cid:202) i zainstalowa(cid:202) najnowsz(cid:200)
wersj(cid:218) pow(cid:239)oki PowerShell znajdziesz w rozdziale 1.
Kup książkęPoleć książkę2.5. (cid:109)wiczenia
41
ZRÓB TO SAM Nie czekaj d(cid:239)u(cid:285)ej, aby zacz(cid:200)(cid:202) korzysta(cid:202) z pow(cid:239)oki PowerShell.
Zacznij od sprawdzenia numeru wersji zainstalowanej w Twoim systemie i upewnij
si(cid:218), (cid:285)e korzystasz z wersji 3.0 lub nowszej. Je(cid:285)eli tak nie jest, zanim zaczniesz
co(cid:258) robi(cid:202), powiniene(cid:258) zainstalowa(cid:202) pow(cid:239)ok(cid:218) PowerShell w wersji co najmniej v3.
Pow(cid:239)ok(cid:218) PowerShell v3 (i jej nowsze wersje) mo(cid:285)na zainstalowa(cid:202) równolegle obok wersji
v2. Aby pó(cid:283)niej uruchomi(cid:202) wersj(cid:218) v2, mo(cid:285)esz wykona(cid:202) polecenie PowerShell.exe -version
2.0. Mo(cid:285)esz tak skonfigurowa(cid:202) pow(cid:239)ok(cid:218) PowerShell, aby automatycznie u(cid:285)ywa(cid:239)a wersji v2,
je(cid:285)eli próbujesz uruchomi(cid:202) co(cid:258), co nie jest kompatybilne z wersj(cid:200) v3 (cho(cid:202) to bardzo
rzadki przypadek). Instalator v3 nie instaluje wersji v2, zatem pow(cid:239)ok(cid:218) v2 b(cid:218)dziesz
móg(cid:239) uruchomi(cid:202) tylko wtedy, je(cid:285)eli zosta(cid:239)a wcze(cid:258)niej zainstalowana jako pierwsza. Insta-
latory wersji v2 i v3 b(cid:218)d(cid:200) nadpisywa(cid:202) wersj(cid:218) v1 (o ile oczywi(cid:258)cie jest ju(cid:285) zainstalowa-
na), poniewa(cid:285) te wersje nie mog(cid:200) istnie(cid:202) obok siebie. Nowsze wersje, takie jak v4, mo-
g(cid:200) dzia(cid:239)a(cid:202) w trybie v2, ale nie maj(cid:200) mo(cid:285)liwo(cid:258)ci dzia(cid:239)ania w innych trybach — inaczej
mówi(cid:200)c, pow(cid:239)oka PowerShell v4 nie mo(cid:285)e dzia(cid:239)a(cid:202) jako v3.
WSKAZÓWKA W nowych wersjach systemu Windows domy(cid:258)lnie instalowana
jest najnowsza wersja pow(cid:239)oki PowerShell, cho(cid:202) mog(cid:200) one posiada(cid:202) równie(cid:285) sil-
nik pow(cid:239)oki PowerShell w wersji v2. W razie potrzeby mo(cid:285)esz zainstalowa(cid:202) sil-
nik v2, wykonuj(cid:200)c z poziomu pow(cid:239)oki PowerShell polecenie Add-WindowsFeature
powershell-v2. Je(cid:285)eli opcja powershell-v2 nie jest dost(cid:218)pna w Twojej wersji sys-
temu Windows, to masz pecha, ale na szcz(cid:218)(cid:258)cie w tym momencie najprawdopo-
dobniej nie b(cid:218)dziesz jej potrzebowa(cid:202).
2.5. (cid:251)wiczenia
Poniewa(cid:285) s(cid:200) to pierwsze (cid:202)wiczenia w tej ksi(cid:200)(cid:285)ce, po(cid:258)wi(cid:218)cimy chwil(cid:218) na opisanie, w ja-
ki sposób powiniene(cid:258) je wykonywa(cid:202). W ka(cid:285)dym zestawie (cid:202)wicze(cid:241) zamieszczamy kilka
zada(cid:241), które mo(cid:285)esz wykona(cid:202) samodzielnie. Czasami dodamy równie(cid:285) jedn(cid:200) lub nawet
kilka podpowiedzi, tak aby(cid:258) móg(cid:239) pój(cid:258)(cid:202) we w(cid:239)a(cid:258)ciwym kierunku.
Dajemy Ci pe(cid:239)n(cid:200) gwarancj(cid:218), (cid:285)e wszystko, co musisz wiedzie(cid:202), aby wykona(cid:202) dany
zestaw (cid:202)wicze(cid:241), znajduje si(cid:218) w tym samym lub w poprzednim rozdziale (a je(cid:285)eli b(cid:218)-
dziesz musia(cid:239) skorzysta(cid:202) z informacji omawianych w poprzednim rozdziale, to zazwy-
czaj poinformujemy Ci(cid:218) o tym w podpowiedziach). Nikt jednak nie twierdzi, (cid:285)e roz-
wi(cid:200)zania poszczególnych zada(cid:241) zawsze b(cid:218)d(cid:200) proste i oczywiste. Zazwyczaj zagadnienia
omawiane w danym rozdziale b(cid:218)d(cid:200) pokazywa(cid:239)y, w jaki sposób znajdowa(cid:202) rozwi(cid:200)zania ró(cid:285)-
nych problemów, i przez podobny proces analizy i odkrywania b(cid:218)dziesz musia(cid:239) samo-
dzielnie przej(cid:258)(cid:202) podczas wykonywania (cid:202)wicze(cid:241). Pocz(cid:200)tkowo mo(cid:285)e si(cid:218) to wydawa(cid:202) nieco
frustruj(cid:200)ce, ale zmuszanie si(cid:218) do takiej pracy w d(cid:239)u(cid:285)szej perspektywie z ca(cid:239)(cid:200) pewno(cid:258)ci(cid:200)
sprawi, (cid:285)e odniesiesz sukces w pracy z pow(cid:239)ok(cid:200) PowerShell. Mo(cid:285)emy Ci to obieca(cid:202).
Pami(cid:218)taj, (cid:285)e na ko(cid:241)cu ka(cid:285)dego rozdzia(cid:239)u znajdziesz przyk(cid:239)adowe odpowiedzi i roz-
wi(cid:200)zania zada(cid:241). Nasze propozycje nie zawsze musz(cid:200) by(cid:202) podobne do Twoich, a b(cid:218)dzie si(cid:218)
tak zapewne zdarza(cid:239)o coraz cz(cid:218)(cid:258)ciej, w miar(cid:218) jak b(cid:218)dziemy przechodzi(cid:202) do bardziej z(cid:239)o-
(cid:285)onych zagadnie(cid:241). Nieraz przekonasz si(cid:218), (cid:285)e pow(cid:239)oka PowerShell oferuje z pó(cid:239) tuzina
Kup książkęPoleć książkę42
ROZDZIA(cid:224) 2. Poznaj pow(cid:239)ok(cid:218) PowerShell
lub nawet wi(cid:218)cej sposobów na wykonanie niemal ka(cid:285)dego zadania. Poka(cid:285)emy Ci metody
dzia(cid:239)ania, z których korzystamy najcz(cid:218)(cid:258)ciej, ale je(cid:285)eli wymy(cid:258)lisz jakie(cid:258) inne rozwi(cid:200)zanie, to
te(cid:285) b(cid:218)dzie dobrze. Ka(cid:285)de rozwi(cid:200)zanie prowadz(cid:200)ce do wykonania zadania jest poprawne.
UWAGA Do wykonania tego zestawu (cid:202)wicze(cid:241) potrzebny Ci b(cid:218)dzie dowolny
komputer z zainstalowan(cid:200) pow(cid:239)ok(cid:200) PowerShell w wersji 3 lub nowszej.
Zaczniemy od czego(cid:258) (cid:239)atwego: chcieliby(cid:258)my tylko, aby(cid:258) skonfigurowa(cid:239) konsol(cid:218) i (cid:258)ro-
dowisko ISE do swoich potrzeb. Wykonaj nast(cid:218)puj(cid:200)cych pi(cid:218)(cid:202) kroków:
1. Wybierz odpowiednie czcionki i kolory.
2. Upewnij si(cid:218), (cid:285)e aplikacja konsoli nie ma poziomego paska przewijania u do(cid:239)u.
W tym rozdziale wspominali(cid:258)my o tym co najmniej trzykrotnie, wi(cid:218)c prawdopo-
dobnie jest to naprawd(cid:218) wa(cid:285)ne.
3. W (cid:258)rodowisku ISE zmaksymalizuj panel konsoli; panel polece(cid:241) mo(cid:285)esz pozo-
stawi(cid:202) lub wy(cid:239)(cid:200)czy(cid:202) wed(cid:239)ug w(cid:239)asnego uznania.
4. W obu aplikacjach wpisz pojedynczy cudzys(cid:239)ów ( ) oraz odwrócony apostrof (`)
i upewnij si(cid:218), (cid:285)e mo(cid:285)esz je (cid:239)atwo od siebie odró(cid:285)ni(cid:202). Na standardowych klawia-
turach apostrof odwrócony znajduje si(cid:218) poni(cid:285)ej klawisza Esc, na tym samym
klawiszu co znak tyldy (~).
5. Wpisz równie(cid:285) znaki reprezentuj(cid:200)ce nawiasy okr(cid:200)g(cid:239)e (), nawiasy kwadratowe [],
znaki mniejszo(cid:258)ci i wi(cid:218)kszo(cid:258)ci oraz nawiasy klamrowe {} i upewnij si(cid:218), (cid:285)e wybra-
na czcionka i jej rozmiar pozwalaj(cid:200) na (cid:239)atwe i jednoznaczne rozró(cid:285)nianie wpisa-
nych znaków. Je(cid:285)eli wygl(cid:200)d niektórych znaków nie jest oczywisty, zmie(cid:241) krój
czcionki lub zwi(cid:218)ksz jej rozmiar.
W tym rozdziale pokazywali(cid:258)my ju(cid:285), jak wykona(cid:202) wszystkie opisane wy(cid:285)ej operacje, zatem
nie ma potrzeby zamieszczania (cid:285)adnych odpowiedzi — sam b(cid:218)dziesz dobrze wiedzia(cid:239),
czy wszystko wykona(cid:239)e(cid:258) poprawnie.
Kup książkęPoleć książkęSkorowidz
A
D
Active Directory, 94
akcje, 135
aktualizowanie systemu pomocy, 45
aliasy, 69
parametrów, 354
analiza skryptu, 404
anatomia polecenia, 67
aplikacja, application, 68
konsolowa, 38
apostrof, 294
atrybuty, 134
automatyzacja zarz(cid:200)dzania obiektami, 259
B
bezpiecze(cid:241)stwo, 277
bloki skryptu, 396
b(cid:239)(cid:218)dy, 78
C
certyfikat, 284, 369
ci(cid:200)gi znaków, 391
CIM, 232
CLI, Command Line Interface, 43
Cmdlety
CIM, 232
WMI, 232
cudzys(cid:239)ów, 294, 301
daty, 392
WMI, 394
definiowanie
parametrów obligatoryjnych, 351
widoku tabeli, 168
deklarowanie typu zmiennej, 303
delegowanie, 367
deserializacja, 219
dodawanie
aliasów parametrów, 354
modu(cid:239)ów, 117
przystawek, 115
dokumentacja
metod, 273
skryptu, 339
WMI, 237
domy(cid:258)lne warto(cid:258)ci parametrów, 395
dostawca, 83
dost(cid:218)p
do pomocy online, 60
do statycznej metody, 313
do tematów pomocy, 59
do w(cid:239)a(cid:258)ciwo(cid:258)ci obiektu, 300
dostosowywanie znaku zach(cid:218)ty, 386
dyski, 85
PSDrive, 91
Kup książkęPoleć książkę436
Skorowidz
E
eksportowanie wyników
do pliku CSV, 98, 99
do pliku XML, 98, 100
dodawanie, 113
elementy
nadrz(cid:218)dne, 344
podrz(cid:218)dne, 86, 344
filtrowanie, 185
obiektów, 189
z lewej, 186, 193
foldery, 85
format HTML, 105
formatowanie
danych, 179
domy(cid:258)lne, 168
list, 173
tabel, 171
wyników, 167
funkcje pow(cid:239)oki, 68
F
G
graficzne okno dialogowe, 74
graficzny interfejs u(cid:285)ytkownika, GUI, 22
host po(cid:258)redni, 367
H
I
IIS, Internet Information Server, 94
importowanie sesji, 327
instalowanie Windows PowerShell, 28
instancja, 227
IntelliSense, 39
interpunkcja, 413
ISE, Integrated Scripting
Environment, 35
K
kolekcja, 130
kolor pow(cid:239)oki, 386
kolumny, 418
komputer
badany, 101
odniesienia, 101
komunikacja zdalna, 245, patrz tak(cid:285)e sesje,
po(cid:239)(cid:200)czenie zdalne
konfiguracja, 361
niejawna, 327
opcje, 221
z wykorzystaniem hosta po(cid:258)redniego,
367
komunikat o b(cid:239)(cid:218)dzie, 78
konfiguracja
komunikacji zdalnej, 361
sesji, 206, 361, 363
(cid:258)rodowiska testowego, 27
konflikty polece(cid:241), 120
konsola
graficzna, 309
MMC, 113, 369
tekstowa, 309
L
listy
formatowanie, 173
niestandardowe elementy, 175
szerokie, 174
luki w zabezpieczeniach, 287
(cid:146)
(cid:239)(cid:200)czenie polece(cid:241), 97
M
mechanizm
CIM, 262
IntelliSense, 39
WMI, 225, 262
mechanizmy bezpiecze(cid:241)stwa, 287
Kup książkęPoleć książkęSkorowidz
437
metody, 130, 135
dokumentacja, 273
WMI, 273
wywo(cid:239)ywanie, 262
minipow(cid:239)oka, 115
MMC, Microsoft Management Console,
okno
konsoli, 33
(cid:258)rodowiska ISE, 37
opcje komunikacji zdalnej, 221
operator, 417
-as, 388
-contains, 390
-in, 390
-is, 388
-join, 389
-Match, 376
-replace, 389
-split, 389
operatory porównania, 187
operowanie
na ci(cid:200)gach znaków, 391
na datach, 392
na datach WMI, 394
P
pakowanie skryptów, 279
parametr -computerName, 216
parametry
dodawanie aliasów, 354
domy(cid:258)lne warto(cid:258)ci, 395
obligatoryjne, 52, 351
opcjonalne, 52
pozycyjne, 53, 72
sprawdzanie warto(cid:258)ci, 355
warto(cid:258)ci, 55
wspólne, 51
parametryzowanie polece(cid:241), 336
parsowanie plików tekstowych, 373
pliki, 85
HTML, 105
pomocy, 51, 417
wsadowe, 333
pobieranie
informacji, 309
modu(cid:239)ów, 125
parametrów z potoku, 419
wyników, 246
podpisywanie kodu, 280, 283
podwyra(cid:285)enie, 302
369
model
bezpiecze(cid:241)stwa, 278
po(cid:239)(cid:200)cze(cid:241), 210
modu(cid:239), 115, 117, 121
ActiveDirectory, 155
modu(cid:239)y
dodawanie, 117
pobieranie, 125
problemy, 126
u(cid:285)ywanie, 121
wyszukiwanie, 117
modyfikowanie
systemu, 106
ustawie(cid:241) kolorów, 386
N
nazwy skrócone polece(cid:241), 69
niestandardowe
kolumny, 175, 418
w(cid:239)a(cid:258)ciwo(cid:258)ci, 418
O
obiekty, 129, 259
akcje, 135
atrybuty, 134
automatyzacja zarz(cid:200)dzania, 259
deserializacja, 219
elementy sk(cid:239)adowe, 134
metody, 135
odkrywanie, 133
przechowywane w zmiennej, 297
sortowanie, 136
u(cid:285)ywanie, 131
w(cid:239)a(cid:258)ciwo(cid:258)ci, 134
wybieranie (cid:285)(cid:200)danych w(cid:239)a(cid:258)ciwo(cid:258)ci, 137
wyliczanie, 266
odkrywanie obiektów, 133
Kup książkęPoleć książkę438
Skorowidz
polecenia, 43, 65
aliasy, 69, 71
anatomia, 67
do pracy ze zmiennymi, 305
do zarz(cid:200)dzania zadaniami, 251
konflikty, 120
lokalne, 216
parametryzowanie, 336
potoki, 97, 144
przekazywania danych, 146, 149
sk(cid:239)adnia, 214
skrócone nazwy parametrów, 71
uruchamianie, 65
w nawiasach, 158
wielokrotnego u(cid:285)ytku, 334
wpisywanie nazw, 79
wpisywanie parametrów, 80
wsadowe, 260
wyodr(cid:218)bnianie warto(cid:258)ci, 159
wyszukiwanie, 198
zdalne, 216
zewn(cid:218)trzne, 75
polecenie, command, 68
Invoke-Command, 213, 216
cmdlet, 68, 88, 106
Enter-PSSession, 210, 323
Exit-PSSession, 210
ForEach-Object, 274
Get-ADComputer, 160
Get-CimInstance, 237
Get-Help, 47
Get-Member, 133
Get-Process, 129
Get-WmiObject, 233
help, 101, 341
Invoke-Command, 213, 325
ise, 35
Man, 47
Out-GridView, 178
Read-Host, 310
Save-Help, 47
Select-String, 377
Show-Command, 73
Where-Object, 190, 192
Write-Host, 313
Write-Output, 315
polityka wykonywania skryptów, 280
po(cid:239)(cid:200)czenie zdalne
jeden-do-jednego, 210
jeden-do-wielu, 210, 213
tworzone ad hoc, 220
pomoc, Patrz system pomocy
porównywanie, 187
danych, 185
plików, 101
potoki, 97, 144, 340, 419
potokowe wi(cid:200)zanie parametrów, 146
PowerShell, 23, 31
PowerShell ISE, 36
problem
drugiego skoku, 367
wielu skoków, 367
problemy, 39, 79, 108, 141, 178, 192, 222,
237, 254, 271, 306
profile pow(cid:239)oki, 383
protokó(cid:239)
SSH, 204
SSL, 369
przechowywanie
warto(cid:258)ci, 292
wielu obiektów, 297
przekazywanie danych
ByPropertyName, 149
ByValue, 146
prze(cid:239)(cid:200)cznik, 55
przep(cid:239)yw pracy, workflow, 68
przestrze(cid:241) nazw, 226
przesy(cid:239)anie
danych, 178
wyników dzia(cid:239)ania, 104
przetwarzanie
lokalne, 217
zdalne, 217
przystawka, 113, 115
Certyfikaty, 369
przystawki
dodawanie, 115
wyszukiwanie, 115
punkty ko(cid:241)cowe, 206, 361, 362
R
regu(cid:239)a formatowania, 170
rejestrowanie sesji, 364
repozytorium WMI, 227
rodzaje rozszerze(cid:241), 115
Kup książkęPoleć książkęrozszerzenia, 115, 117
usuwanie, 120
rzutowanie, 388
S
sesje, 321
importowanie, 327
konfiguracja, 361, 363
rejestrowanie, 364
roz(cid:239)(cid:200)czone, 328
wielokrotnego u(cid:285)ytku, 322
sk(cid:239)adnia
bloku Param(), 353
polece(cid:241), 214
wyra(cid:285)e(cid:241) regularnych, 374
skrypt, 66, 333
New-WebProject.ps1, 400
skrypty
analiza wiersz po wierszu, 404
bazowe, 349
bloki, 396
dokumentacja, 339
sparametryzowane, 337
profilu pow(cid:239)oki, 123, 383
zdalne, 282
sortowanie obiektów, 136
sprawdzanie wersji pow(cid:239)oki, 40
SQL Server, 94
symbol
zast(cid:218)pczy $_, 193, 420
wieloznaczny, 90
system
plików, 85, 87
pomocy, 43
aktualizowanie, 45
dost(cid:218)p do ogólnych tematów, 59
online, 60
wyszukiwanie polece(cid:241), 48
(cid:165)
(cid:258)cie(cid:285)ka, 90
(cid:258)rodowisko
PowerShell ISE, 36
testowe, 27
Skorowidz
439
T
tabele
formatowanie, 171
widok, 168
TrustedHosts, 369
tworzenie
konfiguracji sesji, 363
niestandardowych
elementów list, 175
kolumn, 175
punktów ko(cid:241)cowych, 362
sesji, 322
zada(cid:241) lokalnych, 243
typ wyj(cid:258)cia
GridViews, 178
U
uprawnienia punktu ko(cid:241)cowego, 366
uruchamianie
polece(cid:241), 65
pow(cid:239)oki, 32, 123
urz(cid:218)dy certyfikacji, 285
us(cid:239)uga
WinRM, 206
WMI, 228
usuwanie rozszerze(cid:241), 120
uwierzytelnianie wzajemne, 368
przez SSL, 369
za po(cid:258)rednictwem TrustedHosts, 369
zaawansowane, 368
u(cid:285)ywanie
modu(cid:239)u, 121
obiektów, 131
symbolu zast(cid:218)pczego, 420
zmiennych, 294
W
warto(cid:258)ci parametrów, 55
wczesne filtrowanie, 185
wej(cid:258)cie i wyj(cid:258)cie, 309
wersja pow(cid:239)oki, 40
weryfikacja, 286
wielozadaniowo(cid:258)(cid:202), 241
Kup książkęPoleć książkę440
Skorowidz
zako(cid:241)czenie dzia(cid:239)ania procesów, 106
zalecenia bezpiecze(cid:241)stwa, 288
zapytania WMI, 244
zarz(cid:200)dzanie
masowe obiektami, 259
produktem, 114
zadaniami, 251
zasi(cid:218)g, scope, 344, 396
globalny, 344
prywatny, 344
skryptu, 344
zasoby, 411
zatrzymywanie us(cid:239)ug, 106
zdalna sesja pow(cid:239)oki, 204
zestawy parametrów, 51
zintegrowane (cid:258)rodowisko skryptowe, ISE,
35
zmienne, 291
deklarowanie typu, 303
dobre praktyki, 306
polecenia, 305
przechowywanie
warto(cid:258)ci, 292
wielu obiektów, 297
znak zach(cid:266)ty, 386
wiersz polece(cid:241), 38
model iteracyjny, 190
w(cid:239)a(cid:258)ciwo(cid:258)ci, 130, 134, 418
niestandardowe, 155
WMI, Windows Management
Instrumentation, 225
dokumentacja, 237
eksplorowanie, 230
elementy, 226
repozytorium, 227
wywo(cid:239)ywanie metod, 262
wst(cid:218)pne (cid:239)adowanie rozszerze(cid:241), 123
wyliczanie
obiektów, 266
parametrów, 38
wyodr(cid:218)bnianie warto(cid:258)ci, 159
wyra(cid:285)enia regularne, 373, 374
polecenie Select-String, 377
sk(cid:239)adnia, 374
z operatorem -Match, 376
wyszukiwanie
modu(cid:239)ów, 117
parametrów pozycyjnych, 54
polece(cid:241), 48, 58, 198
przystawek, 115
wy(cid:258)wietlanie
danych, 317
informacji, 309
wyników szczegó(cid:239)owych, 356
wywo(cid:239)ywanie metod, 262
Z
zadania
asynchroniczne, 242
dzia(cid:239)aj(cid:200)ce w tle, 244–246
podrz(cid:218)dne, 244, 249
synchroniczne, 242
zaplanowane, 253
Kup książkęPoleć książkę
Pobierz darmowy fragment (pdf)