Suchen und Finden
Service
Windows PowerShell - Grundlagen & Scripting-Praxis für Einsteiger - Für alle Versionen
Tobias Weltner
Verlag O'Reilly Verlag, 2018
ISBN 9783960101772 , 420 Seiten
Format PDF, OL
Kopierschutz Wasserzeichen
Mehr zum Inhalt
Windows PowerShell - Grundlagen & Scripting-Praxis für Einsteiger - Für alle Versionen
Windows PowerShell – Grundlagen und Scripting-Praxis für Einsteiger
2
Impressum
4
Inhalt
5
Einleitung
9
Wie Sie dieses Buch nutzen
10
Achtung
10
Noch mehr Unterstützung
11
Kapitel 1 - PowerShell startklar machen
13
Mit PowerShell Kontakt aufnehmen
14
PowerShell 6 auf Linux und MacOS
15
Weitere PowerShell-Hosts
16
PowerShell und Hosts einsatzbereit machen
16
Die PowerShell-Konsole einrichten
16
PowerShell-Version kontrollieren
17
Aktuelle Version der PowerShell nutzen
18
Symbol an Taskleiste heften
19
Sprungliste: Administratorrechte und ISE
20
32-Bit- und 64-Bit-Versionen
20
PowerShell ISE einsetzen
21
VSCode und PowerShell
24
PowerShell-Erweiterung laden
24
Erste Schritte mit PowerShell
25
Wichtige Vorsichtsmaßnahmen
25
Befehle eingeben
25
Ergebnisse empfangen
26
Informationen speichern oder umleiten
27
Variablen verwenden
27
Pipeline verwenden
28
IntelliSense-Unterstützung im ISE-Editor
30
Autovervollständigung in der PowerShell-Konsole
30
Farbcodierungen verstehen
32
Rechnen mit PowerShell
33
Umwandlungen
34
Zahlenreihen
35
Unvollständige und mehrzeilige Eingaben
35
Skriptausführung erlauben
37
Tippfehler vermeiden und Eingaben erleichtern
38
Autovervollständigung
38
Pfadnamen vervollständigen
38
Befehlszeilen erneut verwenden
39
Befehlsnamen autovervollständigen
39
Parameter-Autovervollständigung
40
Argument-Autovervollständigung
40
PowerShell-Hilfe aus dem Internet nachladen
41
Hilfe ohne Internetzugang installieren
42
Teil A - Erste Befehle
43
Kapitel 2 - Cmdlets – die PowerShell-Befehle
45
Alles, was Sie über Cmdlets wissen müssen
46
Cmdlets für eine Aufgabe finden
47
Suche nach Tätigkeit oder Tätigkeitsbereich
48
Parameter erkunden
49
Hilfestellung zu Cmdlets abrufen
50
Cmdlet eingeben und Befehl ausführen
51
Mit ISE nach Cmdlets suchen
55
Dialoggestützte Parametereingabe
58
Mit der Hilfe nach Cmdlets suchen
60
Unbekannte Befehle suchen
61
Mit Parametern Wünsche formulieren
62
Parameter wecken das volle Potenzial der Cmdlets
63
Nur das Datum oder nur die Zeit ausgeben
63
Den Wochentag eines bestimmten Datums errechnen
64
Die aktuelle Kalenderwoche anzeigen
65
Das Datum vor 48 Stunden berechnen
67
Drei universelle Parametertypen
69
Benannte Parameter
69
Switch-Parameter
69
Positionale Parameter
70
Common Parameter – allgemeine Parameter für alle Cmdlets
73
Fehlermeldungen unterdrücken
75
Unvollständige Parameternamen
76
Parameter mit Aliasnamen abkürzen
76
Konflikte bei Parameternamen
77
Neue Cmdlets aus Modulen nachladen
78
Neue Module automatisch nachladen
79
Auslaufmodell: Snap-Ins
82
Alias: Zweitname für Cmdlets
82
Aliase sind keine neuen Befehle
83
Befehlstypen ermitteln
83
Klassische cmd.exe-Interpreterbefehle sind Cmdlets
84
Eigene Aliase anlegen
85
Kapitel 3 - PowerShell-Laufwerke
87
Dateisystemaufgaben meistern
89
Ordner anlegen
90
Dateien anlegen und Informationen speichern
91
Dateien finden
93
Nach Dateinamen oder Dateitypen suchen
93
-Filter und -Include: Unterschiede verstehen
94
Mehrere Top-Level-Ordner durchsuchen
94
Alternative zur Rekursion
95
Nach Dateiinhalten suchen
96
Dateien und Ordner kopieren
98
Einzelne Datei kopieren
98
Mehrere Dateien kopieren
98
Ordner kopieren
100
Dateien umbenennen
101
Einzelne Datei
101
Ganze Ordnerinhalte umbenennen
101
Dateien und Ordner löschen
103
Größe eines Laufwerks ermitteln
104
Größe eines Ordners ermitteln
105
Umgebungsvariablen
106
Alle Umgebungsvariablen auflisten
107
Auf einzelne Umgebungsvariablen zugreifen
107
Umgebungsvariablen ändern
107
Windows-Registrierungsdatenbank
108
Schlüssel suchen
108
Werte lesen
109
Neue Registry-Schlüssel anlegen
111
Werte hinzufügen, ändern und löschen
112
Virtuelle Laufwerke und Provider
113
Neue PowerShell-Laufwerke
115
-Path oder -LiteralPath?
117
Existenz eines Pfads prüfen
117
Pfadnamen auflösen
118
Kapitel 4 - Anwendungen und Konsolenbefehle
119
Programme starten
121
Optionen für den Programmstart festlegen
123
Warten, bis ein Programm wieder beendet ist
123
Programme unter anderem Benutzernamen ausführen
123
Nicht unterstützte Konsolenbefehle im ISE-Editor
124
Argumente an Anwendungen übergeben
126
Hilfe für Konsolenbefehle anzeigen
126
Beispiel: Lizenzstatus von Windows überprüfen
127
Ergebnisse von Anwendungen weiterverarbeiten
128
Error Level auswerten
128
Fragen an Benutzer stellen mit choice.exe
129
Rückgabetext auswerten
131
Rückgabetexte in Objekte verwandeln
132
Rückgabetext analysieren
133
Laufende Programme steuern
135
Feststellen, ob ein Prozess läuft
135
Auf einen Prozess warten
135
Einstellungen laufender Prozesse ändern
136
Prozesse vorzeitig abbrechen
138
Teil B - Aufgaben automatisieren
139
Kapitel 5 - PowerShell-Skripte
141
PowerShell-Skripte verfassen
142
Skriptcode eingeben
142
Eingabehilfen spüren Tippfehler auf
143
Skript ausführen
144
Sicherheitseinstellungen und Ausführungsrichtlinien
144
Profilskripte – die Autostartskripte
145
Vier verschiedene Profilskripte – pro Host
145
Profilskript anlegen und öffnen
146
Typische Profilskriptaufgaben durchführen
147
Skripte außerhalb von PowerShell starten
147
PowerShell-Startoptionen
149
Befehlsfolgen extern ausführen
149
PowerShell-Code als geplante Aufgabe ausführen
150
Mit schtasks.exe klassische Aufgaben einrichten
150
Mit dem Modul PSScheduledJob Aufgaben anlegen
151
Kapitel 6 - Die PowerShell-Pipeline
153
Aufbau der PowerShell-Pipeline
154
Prinzipieller Aufbau der Pipeline
155
Die sechs wichtigsten Pipeline-Befehle
157
Select-Object
157
Selbst festlegen, welche Informationen wichtig sind
158
Weitere Informationen anfügen
160
-First, -Last und -Skip
161
Unsichtbare Eigenschaften sichtbar machen
162
Sonderfall -ExpandProperty
162
Mit der Punktschreibweise auf Einzelinformationen zugreifen
164
Einschränkungen der Punktschreibweise
165
Where-Object
166
Where-Object: stets nur zweite Wahl
166
Clientseitiger Universalfilter
166
Leere Elemente aussortieren
168
Fortgeschrittene Syntax bietet noch mehr Möglichkeiten
168
Sort-Object
171
Cmdlet-Ergebnisse sortieren
171
Sortierung mit anderen Cmdlets kombinieren
172
ForEach-Object
174
Grundprinzip: eine Schleife
174
Ergebnisse verfeinern
175
Group-Object
175
Häufigkeiten feststellen
176
Gruppen bilden
177
Measure-Object
178
Statistische Berechnungen
178
Ordnergrößen berechnen
179
Mit »berechneten« Eigenschaften arbeiten
179
Datentyp der Sortierung ändern
180
Gruppierung nach bestimmten Textteilen
180
Umwandlung von Byte in Megabyte
181
Hashtables: mehrere Werte übergeben
182
Mehrere Spalten in umgekehrter Sortierung
182
Mehrspaltige Anzeigen
183
Berechnete Spalten hinzufügen
184
Spaltenbreite, Bündigkeit und Gruppenüberschriften
184
Teil C - Operatoren nutzen
187
Kapitel 7 - Operatoren und Bedingungen
189
Operatoren – Aufbau und Namensgebung
190
Wie Operatornamen aufgebaut sind
191
Unäre Operatoren
191
Zuweisungsoperatoren
192
Mehreren Variablen unterschiedliche Werte zuweisen
193
Variableninhalte ändern
193
Vergleichsoperatoren
194
Unterscheidung zwischen Groß- und Kleinschreibung
195
Unterschiedliche Datentypen vergleichen
196
Der Datentyp des ersten Werts zählt
196
Automatisches Widening
196
Vergleiche umkehren
197
Vergleiche kombinieren
198
Vergleiche auf Arrays anwenden
199
Bedingungen
201
if-Bedingung
201
Switch-Bedingung
202
Where-Object
204
Kapitel 8 - Textoperationen und reguläre Ausdrücke
205
Texte zusammenfügen
206
Der Formatierungsoperator »-f«
207
Bündige Spalten herstellen
208
Zahlen formatieren
209
Datums- und Zeitangaben formatieren
210
Textstellen finden und extrahieren
212
Texte splitten
213
Informationen in Texten finden
215
Positionen bestimmen und Text extrahieren
215
Reguläre Ausdrücke
215
Reguläre Ausdrücke: Textmustererkennung
216
Erste Schritte: Mit Textmustern arbeiten
216
Muster definieren
217
Viele Treffer pro Datei finden
217
Muster erweitern
218
Einzelinformationen mit runden Klammern abgrenzen
219
Ergebnisse in echte Objekte verwandeln
219
Bestandteile eines regulären Ausdrucks
220
Anker
220
Platzhalter
220
Quantifizierer
221
Längste oder kürzeste Fassung?
222
Textstellen ersetzen
223
Split und Join: eine mächtige Strategie
224
Nach verschiedenen Zeichen splitten
224
Teil D - Betriebssystem-Funktionen einsetzen
227
Kapitel 9 - Mit Objekten arbeiten
229
Eigenschaften und Methoden
232
Eigenschaften
232
Eigenschaften lesen
233
Eigenschaften ändern
234
Methoden
235
Eigenschaften und Methoden anzeigen
238
Hilfe für Objekteigenschaften und -methoden finden
239
Ergebnisse eines Befehls untersuchen
240
Unterschiedliche Objekttypen
242
Nach Objekttypen filtern
242
Änderbare Eigenschaften finden
243
Primitive Datentypen sind auch Objekte
245
Eigenschaften lesen
246
Eigenschaften von vielen Objekten gleichzeitig abrufen
247
Pipeline entpackt Arrays automatisch
247
»Automatic Unrolling«: Punktschreibweise bei Arrays
248
Eigenschaften ändern
250
Methoden aufrufen
251
Eine Methode mit mehreren Signaturen
252
Trim kann mehr als Leerzeichen entfernen
252
Kapitel 10 - Typen verwenden
255
Typumwandlungen
256
Automatische Typzuweisung durch PowerShell
256
Explizite Umwandlung in einen anderen Typ
257
Testumwandlungen zum Validieren
259
Verkettete Umwandlungen
260
Umwandlungen bei Cmdlets
261
Neue Objekte durch Typumwandlungen
261
StringBuilder: schneller Texte zusammensetzen
263
ArrayList: Arrays schneller und komfortabler machen
264
WMI-Objekte ansprechen
266
LDAP-Pfade in Benutzerkonten verwandeln
266
Multiple Treffer mit regulären Ausdrücken
267
Implizite Umwandlung und typisierte Variablen
268
Typisierte Variablen
268
Typisierte Parameter
268
Typisierte Eigenschaften und Argumente
269
Vergleichsoperationen
270
Verborgene Befehle in Typen
271
Statische Methoden verwenden
272
Eindeutige GUIDs generieren
273
Dateiextension ermitteln
273
Mathematische Funktionen
274
Zahlenformate konvertieren
275
DNS-Auflösung
276
Umgebungsvariablen
277
Pfade zu Systemordnern finden
278
Konsoleneinstellungen
278
Spezielle Datumsformate lesen
280
Statische Eigenschaften verwenden
282
Neue Objekte herstellen
282
Konstruktoren verstehen
283
Ein Credential-Object zur automatischen Anmeldung
284
Umgang mit XML-Daten
286
WMI-Remotezugriffe mit Anmeldung
287
COM-Objekte verwenden
288
Dialogfeld öffnen
289
Sprachausgabe
291
Office-Automation
292
Zugriff auf Datenbanken
292
Automatische Updates
294
Verknüpfungen anlegen und ändern
294
Netzwerkmanagement
295
Welche COM-Objekte gibt es sonst noch?
296
Webdienste ansprechen
297
RESTful-Webdienste
297
Typen nachladen
298
Assembly-Namen feststellen
298
Aktuell geladene Assemblies auflisten
298
Zusätzliche Assembly nachladen
299
Assembly aus Datei nachladen
299
Teil E - Neue eigene Befehle erfinden
301
Kapitel 11 - Powershell-Funktionen
303
Alles Wichtige: ein Überblick
304
Eigene Funktionen herstellen
305
Parameter definieren
307
Parameter implementieren
309
Funktionen per Modul überall verfügbar machen
310
Hilfe – Bedienungsanleitung hinzufügen
312
Eine bessere Prompt-Funktion
315
Zwingend erforderliche Parameter
315
Eine Funktion mit zwingend erforderlichen Parametern
316
Automatische Nachfrage
317
Argumente ohne Parameter
317
Rückgabewerte festlegen
318
Mehrere Rückgabewerte werden zum Array
318
Return-Anweisung
319
Write-Output
320
Unerwünschte Rückgabewerte unterdrücken
320
Kapitel 12 - Pipeline-fähige Funktionen
321
Anonyme Pipeline-Funktion
322
Prototyping
323
Pipeline-fähige Funktion erstellen
323
Benannte Parameter
324
Where-Object durch eine Funktion ersetzen
326
Kurzes Resümee
328
Parameter und Pipeline-Kontrakt
328
»ISA«-Kontrakt: Pipeline-Eingaben direkt binden
328
Automatische Bindung über den Datentyp
329
ParameterSets einsetzen
330
Mehrdeutigkeiten auflösen
331
»HASA«-Kontrakt: Objekteigenschaften lesen
331
»HASA« und »ISA« kombinieren
332
CSV-Dateien direkt an Funktionen übergeben
334
Aliasnamen für Parameter
335
Modularer Code mit Pipeline-fähigen Funktionen
336
Ausgangspunkt: ein unleserliches Skript
336
Teil 1: Get-NewFilenameIfPresent
338
Teil 2: ConvertTo-AbsoluteURL
339
Teil 3: Get-ImageFromWebsite
340
Teil 4: Download-File
341
Kapitel 13 - Eigene Module erstellen
345
Module sind Ordner
346
Funktion erstellen und testen
346
Funktion in Modul aufnehmen
347
Modul manuell importieren
348
Module automatisch importieren
348
Manifestdatei für ein Modul
350
Neue Manifestdatei anlegen
350
Wirkung einer Manifestdatei
354
Kapitel 14 - PowerShellGet – Module verteilen und nachladen
355
PowerShell Gallery nutzen
357
NuGet-Provider installieren
357
Repository
358
Module finden und installieren
358
Modul herunterladen
359
Modul testweise ausführen
359
Modul dauerhaft installieren
360
Module aktualisieren
361
Side-by-Side-Versionierung
362
Eigene Module veröffentlichen
362
Privates Repository einrichten
363
Freigaben zum Lesen und Schreiben
363
Repository anlegen
363
Modul in Repository übertragen
364
Modul aus Repository installieren
365
Teil F - Fehlerbehandlung und Debugging
367
Kapitel 15 - Fehlerhandling
369
Fehlermeldungen unterdrücken
370
Bestimmen, wie Cmdlets auf Fehler reagieren
371
Fehler mitprotokollieren lassen
371
Erfolg eines Befehlsaufrufs prüfen
374
Fehlerhandler einsetzen
374
Lokaler Fehlerhandler: try…catch
375
Globaler Fehlerhandler: Trap
379
Teil G - Mit Remoting quer durchs Netzwerk
383
Kapitel 16 - Fernzugriff und Netzwerk- Troubleshooting
385
Klassische Fernzugriffe
386
Dateisystem
386
Konsolenbefehle
386
Remotefähige Cmdlets
387
Troubleshooting für Fernzugriffe
388
Firewall für DCOM einrichten
388
Namensauflösung überprüfen
389
Remote-Registrierungszugriff erlauben
390
Access Denied: mit passenden Rechten anmelden
391
LocalAccountTokenFilterPolicy
392
Ports überprüfen
393
Kapitel 17 - Windows PowerShell-Remoting
395
PowerShell-Remoting aktivieren
396
Ohne Kerberos und Domäne
398
TrustedHosts-Liste
398
PowerShell-Remoting überprüfen
399
Erste Schritte mit PowerShell-Remoting
401
Remoting-Unterstützung im ISE-Editor
401
Befehle und Skripte remote ausführen
402
Remotefähigen Code entwickeln
403
Argumente an Remotecode übergeben
404
Ergebnisse vom Remotecode an den Aufrufer übertragen
405
Fan-Out: integrierte Parallelverarbeitung
406
ThrottleLimit: Parallelverarbeitung begrenzen
407
Double-Hop und CredSSP: Anmeldeinfos weiterreichen
409
Index
413
A
413
B
413
C
413
D
414
E
414
F
415
G
415
H
415
I
415
J
416
K
416
L
416
M
416
N
416
O
417
P
417
Q
417
R
417
S
418
T
418
U
419
V
419
W
419
X
419
Z
419
www.oreilly.de
0