Das Windows PowerShell-Praxisbuch für Einsteiger und Profis
Die Windows PowerShell ist Microsofts mächtige Lösung für die kommandozeilenbasierte Administration und Scripting in Windows. Administratoren bietet diese aktualisierte und erweiterte Neuauflage eine umfassende Darstellung der vielfältigen Einsatzmöglichkeiten der PowerShell sowie ergänzender Commandlet- und Klassenbibliotheken. Sie enthält über 2.000 Code-Beispiele für die kommandozeilenbasierte Administration und das Scripting in Windows, Linux und macOS.
Profitieren Sie vom Know-how des bekannten .NET- und Scripting-Experten Dr. Holger Schwichtenberg
In Teil 1 und 2 des Buches erhalten Sie eine Einführung in die Konzepte der PowerShell und lernen dann in Teil 3, wie Sie PowerShell in zahlreichen Anwendungsgebieten praktisch einsetzen. Fortgeschrittene Administratoren erfahren schließlich in Teil 4, wie Sie die PowerShell erweitern können, u. a. durch die Entwicklung eigener Commandlets.
Das Buch wurde auf PowerShell 7 aktualisiert.Es kann aber auch für die Vorgängerversionen eingesetzt werden; die Unterschiede sind im Buch beschrieben.
Berücksichtigt werden alle Windows-Versionen ab Windows XP bzw. Windows Server 2003 einschließlich der neuesten Versionen von Windows 10 und Windows Server 2019.
Das Buch beschreibt auch die Verwendung von PowerShell Core auf macOS und Linux.
Codebeispiele, PowerShell-Kurzreferenz, Feedback-Möglichkeiten und Forum finden Sie auf der Website zum Buch.
Auflage
4., aktualisierte Auflage
Sprache
Verlagsort
Dateigröße
ISBN-13
978-3-446-46081-2 (9783446460812)
DOI
Schweitzer Klassifikation
1 - Inhalt [Seite 6]
2 - Vorwort [Seite 26]
3 - Teil A: PowerShell-Basiswissen [Seite 36]
3.1 - 1 Fakten zur PowerShell [Seite 38]
3.1.1 - 1.1 Was ist die PowerShell? [Seite 38]
3.1.2 - 1.2 Geschichte der PowerShell [Seite 39]
3.1.3 - 1.3 Welche Varianten und Versionen der PowerShell gibt es? [Seite 41]
3.1.4 - 1.4 Windows PowerShell versus PowerShell Core versus PowerShell 7.0 [Seite 42]
3.1.5 - 1.5 Motivation zur PowerShell [Seite 43]
3.1.6 - 1.6 Betriebssysteme mit vorinstallierter PowerShell [Seite 46]
3.1.7 - 1.7 Einflussfaktoren auf die Entwicklung der PowerShell [Seite 47]
3.1.8 - 1.8 Anbindung an Klassenbibliotheken [Seite 49]
3.1.9 - 1.9 PowerShell versus WSH [Seite 49]
3.2 - 2 Erste Schritte mit der PowerShell [Seite 52]
3.2.1 - 2.1 Windows PowerShell herunterladen und auf anderen Windows-Betriebssystemen installieren [Seite 52]
3.2.2 - 2.2 Die Windows PowerShell testen [Seite 56]
3.2.3 - 2.3 Woher kommen die PowerShell-Befehle? [Seite 65]
3.2.4 - 2.4 PowerShell Community Extensions (PSCX) herunterladen und installieren [Seite 66]
3.2.5 - 2.5 Den Windows PowerShell-Editor "ISE" verwenden [Seite 69]
3.2.6 - 2.6 PowerShell 7 installieren und testen [Seite 71]
3.3 - 3 Einzelbefehle der PowerShell [Seite 80]
3.3.1 - 3.1 Commandlets [Seite 80]
3.3.2 - 3.2 Aliase [Seite 93]
3.3.3 - 3.3 Ausdrücke [Seite 101]
3.3.4 - 3.4 Externe Befehle (klassische Kommandozeilenbefehle) [Seite 102]
3.3.5 - 3.5 Dateinamen [Seite 104]
3.4 - 4 Hilfefunktionen [Seite 106]
3.4.1 - 4.1 Auflisten der verfügbaren Befehle [Seite 106]
3.4.2 - 4.2 Praxistipp: Den Standort eines Kommandozeilenbefehls suchen [Seite 107]
3.4.3 - 4.3 Anzahl der Befehle [Seite 108]
3.4.4 - 4.4 Volltextsuche [Seite 110]
3.4.5 - 4.5 Erläuterungen zu den Befehlen [Seite 111]
3.4.6 - 4.6 Hilfe zu Parametern [Seite 112]
3.4.7 - 4.7 Hilfe mit Show-Command [Seite 113]
3.4.8 - 4.8 Hilfefenster [Seite 115]
3.4.9 - 4.9 Allgemeine Hilfetexte [Seite 116]
3.4.10 - 4.10 Aktualisieren der Hilfedateien [Seite 117]
3.4.11 - 4.11 Online-Hilfe [Seite 119]
3.4.12 - 4.12 Fehlende Hilfetexte [Seite 120]
3.4.13 - 4.13 Dokumentation der .NETKlassen [Seite 121]
3.5 - 5 Objektorientiertes Pipelining [Seite 124]
3.5.1 - 5.1 Befehlsübersicht [Seite 124]
3.5.2 - 5.2 Pipeline-Operator [Seite 125]
3.5.3 - 5.3 .NET-Objekte in der Pipeline [Seite 126]
3.5.4 - 5.4 Pipeline Processor [Seite 127]
3.5.5 - 5.5 Pipelining von Parametern [Seite 129]
3.5.6 - 5.6 Pipelining von klassischen Befehlen [Seite 131]
3.5.7 - 5.7 Zeilenumbrüche in Pipelines [Seite 133]
3.5.8 - 5.8 Schleifen [Seite 134]
3.5.9 - 5.9 Zugriff auf einzelne Objekte aus einer Menge [Seite 137]
3.5.10 - 5.10 Zugriff auf einzelne Werte in einem Objekt [Seite 138]
3.5.11 - 5.11 Methoden ausführen [Seite 140]
3.5.12 - 5.12 Analyse des Pipeline-Inhalts [Seite 142]
3.5.13 - 5.13 Filtern [Seite 157]
3.5.14 - 5.14 Zusammenfassung von Pipeline-Inhalten [Seite 162]
3.5.15 - 5.15 "Kastrierung" von Objekten in der Pipeline [Seite 162]
3.5.16 - 5.16 Sortieren [Seite 163]
3.5.17 - 5.17 Duplikate entfernen [Seite 164]
3.5.18 - 5.18 Gruppierung [Seite 165]
3.5.19 - 5.19 Objekte verbinden mit Join-String [Seite 171]
3.5.20 - 5.20 Berechnungen [Seite 172]
3.5.21 - 5.21 Zwischenschritte in der Pipeline mit Variablen [Seite 173]
3.5.22 - 5.22 Verzweigungen in der Pipeline [Seite 174]
3.5.23 - 5.23 Vergleiche zwischen Objekten [Seite 176]
3.5.24 - 5.24 Weitere Praxislösungen [Seite 177]
3.6 - 6 PowerShell-Skripte [Seite 180]
3.6.1 - 6.1 Skriptdateien [Seite 180]
3.6.2 - 6.2 Start eines Skripts [Seite 182]
3.6.3 - 6.3 Aliase für Skripte verwenden [Seite 184]
3.6.4 - 6.4 Parameter für Skripte [Seite 184]
3.6.5 - 6.5 Skripte dauerhaft einbinden (Dot Sourcing) [Seite 186]
3.6.6 - 6.6 Das aktuelle Skriptverzeichnis [Seite 186]
3.6.7 - 6.7 Sicherheitsfunktionen für PowerShell-Skripte [Seite 187]
3.6.8 - 6.8 Skripte mit vollen Rechten (Elevation) [Seite 189]
3.6.9 - 6.9 Blockierte PowerShell-Skripte [Seite 190]
3.6.10 - 6.10 PowerShell-Skripte im Kontextmenü des Windows Explorers [Seite 191]
3.6.11 - 6.11 Anforderungsdefinitionen von Skripten [Seite 193]
3.6.12 - 6.12 Skripte anhalten [Seite 193]
3.6.13 - 6.13 Versionierung und Versionsverwaltung von Skripten [Seite 193]
3.7 - 7 PowerShell-Skriptsprache [Seite 196]
3.7.1 - 7.1 Hilfe zur PowerShell-Skriptsprache [Seite 196]
3.7.2 - 7.2 Befehlstrennung [Seite 197]
3.7.3 - 7.3 Kommentare [Seite 197]
3.7.4 - 7.4 Variablen [Seite 198]
3.7.5 - 7.5 Variablenbedingungen [Seite 211]
3.7.6 - 7.6 Zahlen [Seite 212]
3.7.7 - 7.7 Zeichenketten (Strings) [Seite 214]
3.7.8 - 7.8 Reguläre Ausdrücke [Seite 224]
3.7.9 - 7.9 Datum und Uhrzeit [Seite 230]
3.7.10 - 7.10 Objekte [Seite 231]
3.7.11 - 7.11 Arrays [Seite 232]
3.7.12 - 7.12 ArrayList [Seite 235]
3.7.13 - 7.13 Assoziative Arrays (Hash-Tabellen) [Seite 236]
3.7.14 - 7.14 Operatoren [Seite 237]
3.7.15 - 7.15 Überblick über die Kontrollkonstrukte [Seite 241]
3.7.16 - 7.16 Schleifen [Seite 242]
3.7.17 - 7.17 Bedingungen [Seite 247]
3.7.18 - 7.18 Unterroutinen (Prozedur/Funktionen) [Seite 249]
3.7.19 - 7.19 Eingebaute Funktionen [Seite 255]
3.7.20 - 7.20 Fehlerausgabe [Seite 255]
3.7.21 - 7.21 Fehlerbehandlung [Seite 256]
3.7.22 - 7.22 Laufzeitfehler erzeugen [Seite 268]
3.7.23 - 7.23 Objektorientiertes Programmieren mit Klassen [Seite 268]
3.8 - 8 Ausgaben [Seite 272]
3.8.1 - 8.1 Ausgabe-Commandlets [Seite 272]
3.8.2 - 8.2 Benutzerdefinierte Tabellenformatierung [Seite 275]
3.8.3 - 8.3 Benutzerdefinierte Listenausgabe [Seite 277]
3.8.4 - 8.4 Mehrspaltige Ausgabe [Seite 277]
3.8.5 - 8.5 Out-GridView [Seite 278]
3.8.6 - 8.6 Standardausgabe [Seite 280]
3.8.7 - 8.7 Einschränkung der Ausgabe [Seite 283]
3.8.8 - 8.8 Seitenweise Ausgabe [Seite 283]
3.8.9 - 8.9 Ausgabe einzelner Werte [Seite 284]
3.8.10 - 8.10 Details zum Ausgabeoperator [Seite 287]
3.8.11 - 8.11 Ausgabe von Methodenergebnissen und Unterobjekten in Pipelines [Seite 290]
3.8.12 - 8.12 Ausgabe von Methodenergebnissen und Unterobjekten in Zeichenketten [Seite 290]
3.8.13 - 8.13 Unterdrückung der Ausgabe [Seite 291]
3.8.14 - 8.14 Ausgaben an Drucker [Seite 292]
3.8.15 - 8.15 Ausgaben in Dateien [Seite 292]
3.8.16 - 8.16 Umleitungen (Redirection) [Seite 293]
3.8.17 - 8.17 Fortschrittsanzeige [Seite 293]
3.8.18 - 8.18 Sprachausgabe [Seite 294]
3.9 - 9 Das PowerShell-Navigationsmodell (PowerShell Provider) [Seite 296]
3.9.1 - 9.1 Einführungsbeispiel: Navigation in der Registrierungsdatenbank [Seite 296]
3.9.2 - 9.2 Provider und Laufwerke [Seite 297]
3.9.3 - 9.3 Navigationsbefehle [Seite 300]
3.9.4 - 9.4 Pfadangaben [Seite 300]
3.9.5 - 9.5 Beispiel [Seite 302]
3.9.6 - 9.6 Eigene Laufwerke definieren [Seite 303]
3.10 - 10 Fernausführung (Remoting) [Seite 304]
3.10.1 - 10.1 RPC-Fernabfrage ohne WS-Management [Seite 305]
3.10.2 - 10.2 Anforderungen an PowerShell Remoting [Seite 306]
3.10.3 - 10.3 Rechte für PowerShell-Remoting [Seite 307]
3.10.4 - 10.4 Einrichten von PowerShell Remoting [Seite 308]
3.10.5 - 10.5 Überblick über die Fernausführungs-Commandlets [Seite 310]
3.10.6 - 10.6 Interaktive Fernverbindungen im Telnet-Stil [Seite 311]
3.10.7 - 10.7 Fernausführung von Befehlen [Seite 312]
3.10.8 - 10.8 Parameterübergabe an die Fernausführung [Seite 316]
3.10.9 - 10.9 Fernausführung von Skripten [Seite 317]
3.10.10 - 10.10 Ausführung auf mehreren Computern [Seite 318]
3.10.11 - 10.11 Sitzungen [Seite 319]
3.10.12 - 10.12 Implizites Remoting [Seite 324]
3.10.13 - 10.13 Zugriff auf entfernte Computer außerhalb der eigenen Domäne [Seite 325]
3.10.14 - 10.14 Verwaltung des WS-Management-Dienstes [Seite 329]
3.10.15 - 10.15 PowerShell Direct für Hyper-V [Seite 330]
3.10.16 - 10.16 Praxislösung zu PowerShell Direct [Seite 332]
3.11 - 11 PowerShell-Werkzeuge [Seite 336]
3.11.1 - 11.1 PowerShell-Standardkonsole [Seite 336]
3.11.2 - 11.2 Windows Terminal [Seite 346]
3.11.3 - 11.3 PowerShell Integrated Scripting Environment (ISE) [Seite 348]
3.11.4 - 11.4 PowerShell Script Analyzer [Seite 360]
3.11.5 - 11.5 PowerShell Analyzer [Seite 365]
3.11.6 - 11.6 PowerShell Tools for Visual Studio [Seite 366]
3.11.7 - 11.7 PowerShell Pro Tools for Visual Studio [Seite 368]
3.11.8 - 11.8 NuGet Package Manager [Seite 368]
3.11.9 - 11.9 Visual Studio Code mit PowerShell-Erweiterung [Seite 369]
3.11.10 - 11.10 PowerShell-Erweiterungen für andere Editoren [Seite 372]
3.11.11 - 11.11 PowerShell Web Access (PSWA) [Seite 372]
3.11.12 - 11.12 Azure Cloud Shell [Seite 378]
3.11.13 - 11.13 ISE Steroids [Seite 378]
3.11.14 - 11.14 PowerShellPlus [Seite 379]
3.11.15 - 11.15 PoshConsole [Seite 382]
3.11.16 - 11.16 PowerGUI [Seite 383]
3.11.17 - 11.17 PrimalScript [Seite 384]
3.11.18 - 11.18 PowerShell Help [Seite 386]
3.11.19 - 11.19 CIM Explorer for PowerShell ISE [Seite 386]
3.11.20 - 11.20 PowerShell Help Reader [Seite 387]
3.11.21 - 11.21 PowerShell Remoting [Seite 388]
3.12 - 12 Windows PowerShell Core 5.1 in Windows Nano Server [Seite 390]
3.12.1 - 12.1 Installation [Seite 390]
3.12.2 - 12.2 PowerShell-Skriptsprache [Seite 390]
3.12.3 - 12.3 Werkzeuge [Seite 391]
3.12.4 - 12.4 Fehlende Funktionen [Seite 391]
3.13 - 13 PowerShell 7 für Windows, Linux und macOS [Seite 392]
3.13.1 - 13.1 Motivation für den Einsatz der PowerShell 7 auf Linux und macOS [Seite 392]
3.13.2 - 13.2 Basis der PowerShell 7 [Seite 393]
3.13.3 - 13.3 Identifizierung der PowerShell 7 [Seite 394]
3.13.4 - 13.4 Funktionsumfang der PowerShell 7 [Seite 394]
3.13.5 - 13.5 Entfallene Befehle in PowerShell 7 [Seite 397]
3.13.6 - 13.6 Erweiterungsmodule nutzen in PowerShell 7 [Seite 402]
3.13.7 - 13.7 Geänderte Funktionen in PowerShell 7 [Seite 407]
3.13.8 - 13.8 Neue Funktionen der PowerShell 7 [Seite 409]
3.13.9 - 13.9 PowerShell 7-Konsole [Seite 413]
3.13.10 - 13.10 VSCode-PowerShell als Editor für PowerShell 7 [Seite 413]
3.13.11 - 13.11 Verwendung von PowerShell 7 auf Linux und macOS [Seite 418]
3.13.12 - 13.12 PowerShell-Remoting via SSH [Seite 424]
3.13.13 - 13.13 Dokumentation zur PowerShell 7 [Seite 428]
3.13.14 - 13.14 Quellcode zur PowerShell 7 [Seite 429]
4 - Teil B: PowerShell-Aufbauwissen [Seite 432]
4.1 - 14 Verwendung von .NET-Klassen [Seite 434]
4.1.1 - 14.1 .NET versus .NET Core [Seite 434]
4.1.2 - 14.2 Ermitteln der verwendeten .NET-Version [Seite 435]
4.1.3 - 14.3 .NET-Bibliotheken [Seite 436]
4.1.4 - 14.4 Microsoft Developer Network (MSDN) [Seite 438]
4.1.5 - 14.5 Überblick über die Verwendung von .NET-Klassen [Seite 439]
4.1.6 - 14.6 Erzeugen von Instanzen [Seite 439]
4.1.7 - 14.7 Parameterbehaftete Konstruktoren [Seite 441]
4.1.8 - 14.8 Initialisierung von Objekten [Seite 443]
4.1.9 - 14.9 Nutzung von Attributen und Methoden [Seite 443]
4.1.10 - 14.10 Statische Mitglieder in .NET-Klassen und statische .NET-Klassen [Seite 445]
4.1.11 - 14.11 Generische Klassen nutzen [Seite 449]
4.1.12 - 14.12 Zugriff auf bestehende Objekte [Seite 450]
4.1.13 - 14.13 Laden von Assemblies [Seite 450]
4.1.14 - 14.14 Liste der geladen Assemblies [Seite 453]
4.1.15 - 14.15 Verwenden von Nuget-Assemblies [Seite 454]
4.1.16 - 14.16 Objektanalyse [Seite 456]
4.1.17 - 14.17 Aufzählungstypen (Auflistungen/Enumerationen) [Seite 457]
4.2 - 15 Verwendung von COM-Klassen [Seite 462]
4.2.1 - 15.1 Unterschiede zwischen COM und .NET [Seite 462]
4.2.2 - 15.2 Erzeugen von COM-Instanzen [Seite 463]
4.2.3 - 15.3 Abruf der Metadaten [Seite 463]
4.2.4 - 15.4 Nutzung von Attributen und Methoden [Seite 464]
4.2.5 - 15.5 Liste aller COM-Klassen [Seite 465]
4.2.6 - 15.6 Holen bestehender COM-Instanzen [Seite 466]
4.2.7 - 15.7 Distributed COM (DCOM) [Seite 466]
4.3 - 16 Zugriff auf die Windows Management Instrumentation (WMI) [Seite 468]
4.3.1 - 16.1 Einführung in WMI [Seite 468]
4.3.2 - 16.2 WMI in der PowerShell [Seite 494]
4.3.3 - 16.3 Open Management Infrastructure (OMI) [Seite 496]
4.3.4 - 16.4 Abruf von WMI-Objektmengen [Seite 496]
4.3.5 - 16.5 Fernzugriffe [Seite 497]
4.3.6 - 16.6 Filtern und Abfragen [Seite 498]
4.3.7 - 16.7 Liste aller WMI-Klassen [Seite 501]
4.3.8 - 16.8 Hintergrundwissen: WMI-Klassenprojektion mit dem PowerShell-WMI-Objektadapter [Seite 502]
4.3.9 - 16.9 Beschränkung der Ausgabeliste bei WMI-Objekten [Seite 506]
4.3.10 - 16.10 Zugriff auf einzelne Mitglieder von WMI-Klassen [Seite 507]
4.3.11 - 16.11 Werte setzen in WMI-Objekten [Seite 508]
4.3.12 - 16.12 Umgang mit WMI-Datumsangaben [Seite 510]
4.3.13 - 16.13 Methodenaufrufe [Seite 511]
4.3.14 - 16.14 Neue WMI-Instanzen erzeugen [Seite 512]
4.3.15 - 16.15 Instanzen entfernen [Seite 513]
4.3.16 - 16.16 Commandlet Definition XML-Datei (CDXML) [Seite 514]
4.4 - 17 Dynamische Objekte [Seite 518]
4.4.1 - 17.1 Erweitern bestehender Objekte [Seite 518]
4.4.2 - 17.2 Komplett dynamische Objekte [Seite 520]
4.5 - 18 Einbinden von C# und Visual Basic .NET [Seite 522]
4.6 - 19 Win32-API-Aufrufe [Seite 524]
4.7 - 20 Benutzereingaben [Seite 528]
4.7.1 - 20.1 Read-Host [Seite 528]
4.7.2 - 20.2 Benutzerauswahl [Seite 529]
4.7.3 - 20.3 Grafischer Eingabedialog [Seite 530]
4.7.4 - 20.4 Dialogfenster [Seite 531]
4.7.5 - 20.5 Authentifizierungsdialog [Seite 531]
4.7.6 - 20.6 Zwischenablage (Clipboard) [Seite 533]
4.8 - 21 Fehlersuche [Seite 534]
4.8.1 - 21.1 Detailinformationen [Seite 534]
4.8.2 - 21.2 Einzelschrittmodus [Seite 535]
4.8.3 - 21.3 Zeitmessung [Seite 536]
4.8.4 - 21.4 Ablaufverfolgung (Tracing) [Seite 537]
4.8.5 - 21.5 Erweiterte Protokollierung aktivieren [Seite 538]
4.8.6 - 21.6 Script-Debugging in der ISE [Seite 540]
4.8.7 - 21.7 Kommandozeilenbasiertes Script-Debugging [Seite 540]
4.9 - 22 Transaktionen [Seite 542]
4.9.1 - 22.1 Commandlets für Transaktionen [Seite 542]
4.9.2 - 22.2 Start und Ende einer Transaktion [Seite 543]
4.9.3 - 22.3 Zurücksetzen der Transaktion [Seite 544]
4.9.4 - 22.4 Mehrere Transaktionen [Seite 545]
4.10 - 23 Standardeinstellungen ändern mit Profilskripten [Seite 546]
4.10.1 - 23.1 Profilpfade [Seite 546]
4.10.2 - 23.2 Ausführungsreihenfolge [Seite 548]
4.10.3 - 23.3 Beispiel für eine Profildatei [Seite 548]
4.10.4 - 23.4 Starten der PowerShell ohne Profilskripte [Seite 549]
4.11 - 24 Digitale Signaturen für PowerShell-Skripte [Seite 550]
4.11.1 - 24.1 Zertifikat erstellen [Seite 550]
4.11.2 - 24.2 Skripte signieren [Seite 552]
4.11.3 - 24.3 Verwenden signierter Skripte [Seite 554]
4.11.4 - 24.4 Mögliche Fehlerquellen [Seite 554]
4.12 - 25 Hintergrundaufträge ("Jobs") [Seite 556]
4.12.1 - 25.1 Voraussetzungen [Seite 556]
4.12.2 - 25.2 Architektur [Seite 556]
4.12.3 - 25.3 Starten eines Hintergrundauftrags [Seite 557]
4.12.4 - 25.4 Hintergrundaufträge abfragen [Seite 558]
4.12.5 - 25.5 Warten auf einen Hintergrundauftrag [Seite 559]
4.12.6 - 25.6 Abbrechen und Löschen von Aufträgen [Seite 559]
4.12.7 - 25.7 Analyse von Fehlermeldungen [Seite 559]
4.12.8 - 25.8 Fernausführung von Hintergrundaufträgen [Seite 560]
4.12.9 - 25.9 Praxislösung: Einen Job auf mehreren Computern starten [Seite 560]
4.13 - 26 Geplante Aufgaben und zeitgesteuerte Jobs [Seite 562]
4.13.1 - 26.1 Geplante Aufgaben (Scheduled Tasks) [Seite 562]
4.13.2 - 26.2 Zeitgesteuerte Jobs [Seite 566]
4.14 - 27 PowerShell-Workflows [Seite 572]
4.14.1 - 27.1 Ein erstes Beispiel [Seite 572]
4.14.2 - 27.2 Unterschiede zu einer Function bzw. einem Skript [Seite 577]
4.14.3 - 27.3 Einschränkungen bei Workflows [Seite 577]
4.14.4 - 27.4 Workflows in der Praxis [Seite 579]
4.14.5 - 27.5 Workflows in Visual Studio erstellen [Seite 586]
4.15 - 28 Ereignissystem [Seite 604]
4.15.1 - 28.1 WMI-Ereignisse [Seite 604]
4.15.2 - 28.2 WMI-Ereignisabfragen [Seite 604]
4.15.3 - 28.3 WMI-Ereignisse seit PowerShell 1.0 [Seite 606]
4.15.4 - 28.4 Registrieren von WMI-Ereignisquellen seit PowerShell 2.0 [Seite 607]
4.15.5 - 28.5 Auslesen der Ereignisliste [Seite 608]
4.15.6 - 28.6 Reagieren auf Ereignisse [Seite 610]
4.15.7 - 28.7 WMI-Ereignisse ab PowerShell- Version 3.0 [Seite 612]
4.15.8 - 28.8 Registrieren von .NET-Ereignissen [Seite 612]
4.15.9 - 28.9 Erzeugen von Ereignissen [Seite 613]
4.16 - 29 Datenbereiche und Datendateien [Seite 616]
4.16.1 - 29.1 Datenbereiche [Seite 616]
4.16.2 - 29.2 Datendateien [Seite 618]
4.16.3 - 29.3 Mehrsprachigkeit/Lokalisierung [Seite 619]
4.17 - 30 Desired State Configuration (DSC) [Seite 622]
4.17.1 - 30.1 Grundprinzipien [Seite 623]
4.17.2 - 30.2 DSC für Linux [Seite 623]
4.17.3 - 30.3 Ressourcen [Seite 624]
4.17.4 - 30.4 Verfügbare DSC-Ressourcen [Seite 624]
4.17.5 - 30.5 Eigenschaften einer Ressource [Seite 627]
4.17.6 - 30.6 Aufbau eines DSC-Dokuments [Seite 627]
4.17.7 - 30.7 Commandlets für die Arbeit mit DSC [Seite 628]
4.17.8 - 30.8 Ein erstes DSC-Beispiel [Seite 628]
4.17.9 - 30.9 Kompilieren und Anwendung eines DSC-Dokuments [Seite 629]
4.17.10 - 30.10 Variablen in DSC-Dateien [Seite 631]
4.17.11 - 30.11 Parameter für DSC-Dateien [Seite 632]
4.17.12 - 30.12 Konfigurationsdaten [Seite 633]
4.17.13 - 30.13 Entfernen einer DSC-Konfiguration [Seite 636]
4.17.14 - 30.14 DSC Pull Server [Seite 639]
4.17.15 - 30.15 DSC-Praxislösung 1: IIS installieren [Seite 646]
4.17.16 - 30.16 DSC-Praxislösung 2: Software installieren [Seite 648]
4.17.17 - 30.17 DSC-Praxislösung 3: Software deinstallieren [Seite 650]
4.17.18 - 30.18 Realisierung einer DSC-Ressource [Seite 651]
4.17.19 - 30.19 Weitere Möglichkeiten [Seite 651]
4.18 - 31 PowerShell-Snap-Ins [Seite 652]
4.18.1 - 31.1 Einbinden von Snap-Ins [Seite 652]
4.18.2 - 31.2 Liste der Commandlets [Seite 656]
4.19 - 32 PowerShell-Module [Seite 658]
4.19.1 - 32.1 Überblick über die Commandlets [Seite 658]
4.19.2 - 32.2 Modularchitektur [Seite 659]
4.19.3 - 32.3 Aufbau eines Moduls [Seite 660]
4.19.4 - 32.4 Module aus dem Netz herunterladen und installieren mit PowerShellGet [Seite 661]
4.19.5 - 32.5 Module manuell installieren [Seite 667]
4.19.6 - 32.6 Doppeldeutige Namen [Seite 668]
4.19.7 - 32.7 Auflisten der verfügbaren Module [Seite 669]
4.19.8 - 32.8 Importieren von Modulen [Seite 670]
4.19.9 - 32.9 Entfernen von Modulen [Seite 673]
4.20 - 33 Ausgewählte PowerShell-Erweiterungen [Seite 674]
4.20.1 - 33.1 PowerShell-Module in Windows 8.0 und Windows Server 2012 [Seite 675]
4.20.2 - 33.2 PowerShell-Module in Windows 8.1 und Windows Server 2012 R2 [Seite 677]
4.20.3 - 33.3 PowerShell-Module in Windows 10 und Windows Server 2019 [Seite 679]
4.20.4 - 33.4 PowerShell Community Extensions (PSCX) [Seite 683]
4.20.5 - 33.5 PowerShellPack [Seite 687]
4.20.6 - 33.6 www.IT-Visions.de: PowerShell Extensions [Seite 689]
4.20.7 - 33.7 Quest Management Shell for Active Directory [Seite 689]
4.20.8 - 33.8 Microsoft Exchange Server [Seite 691]
4.20.9 - 33.9 System Center Virtual Machine Manager [Seite 692]
4.20.10 - 33.10 PowerShell Management Library for Hyper-V (pshyperv) [Seite 692]
4.20.11 - 33.11 Powershell Outlook Account Manager [Seite 693]
4.20.12 - 33.12 PowerShell Configurator (PSConfig) [Seite 694]
4.20.13 - 33.13 Weitere Erweiterungen [Seite 695]
4.21 - 34 Delegierte Administration/Just Enough Administration (JEA) [Seite 696]
4.21.1 - 34.1 JEA-Konzept [Seite 696]
4.21.2 - 34.2 PowerShell-Sitzungskonfiguration erstellen [Seite 696]
4.21.3 - 34.3 Sitzungskonfiguration nutzen [Seite 699]
4.21.4 - 34.4 Delegierte Administration per Webseite [Seite 701]
4.22 - 35 Unit Tests mit Pester [Seite 702]
4.22.1 - 35.1 Einführung in das Konzept des Unit Testing [Seite 702]
4.22.2 - 35.2 Pester installieren [Seite 703]
4.22.3 - 35.3 Befehle in Pester [Seite 703]
4.22.4 - 35.4 Testen einer PowerShell-Funktion [Seite 704]
4.22.5 - 35.5 Testgenerierung [Seite 705]
4.22.6 - 35.6 Tests starten [Seite 706]
4.22.7 - 35.7 Prüf-Operationen [Seite 707]
4.22.8 - 35.8 Mock-Objekte [Seite 707]
4.22.9 - 35.9 Test von Dateisystemoperationen [Seite 708]
4.23 - 36 Tipps und Tricks zur PowerShell [Seite 712]
4.23.1 - 36.1 Alle Anzeigen löschen [Seite 712]
4.23.2 - 36.2 Befehlsgeschichte [Seite 712]
4.23.3 - 36.3 System- und Hostinformationen [Seite 713]
4.23.4 - 36.4 Anpassen der Eingabeaufforderung (Prompt) [Seite 714]
4.23.5 - 36.5 PowerShell-Befehle aus anderen Anwendungen heraus starten [Seite 715]
4.23.6 - 36.6 ISE erweitern [Seite 716]
4.23.7 - 36.7 PowerShell für Gruppenrichtlinienskripte [Seite 717]
4.23.8 - 36.8 Einblicke in die Interna der Pipeline-Verarbeitung [Seite 720]
5 - Teil C: PowerShell im Praxiseinsatz [Seite 722]
5.1 - 37 Dateisystem [Seite 724]
5.1.1 - 37.1 Laufwerke [Seite 725]
5.1.2 - 37.2 Ordnerinhalte [Seite 730]
5.1.3 - 37.3 Dateieigenschaften verändern [Seite 734]
5.1.4 - 37.4 Eigenschaften ausführbarer Dateien [Seite 735]
5.1.5 - 37.5 Kurznamen [Seite 737]
5.1.6 - 37.6 Lange Pfade [Seite 737]
5.1.7 - 37.7 Dateisystemoperationen [Seite 738]
5.1.8 - 37.8 Praxislösungen: Dateien umorganisieren [Seite 738]
5.1.9 - 37.9 Praxislösung: Zufällige Dateisystemstruktur erzeugen [Seite 740]
5.1.10 - 37.10 Praxislösung: Leere Ordner löschen [Seite 741]
5.1.11 - 37.11 Einsatz von Robocopy [Seite 742]
5.1.12 - 37.12 Dateisystemkataloge [Seite 745]
5.1.13 - 37.13 Papierkorb leeren [Seite 746]
5.1.14 - 37.14 Dateieigenschaften lesen [Seite 746]
5.1.15 - 37.15 Praxislösung: Fotos nach Aufnahmedatum sortieren [Seite 747]
5.1.16 - 37.16 Datei-Hash [Seite 748]
5.1.17 - 37.17 Finden von Duplikaten [Seite 749]
5.1.18 - 37.18 Verknüpfungen im Dateisystem [Seite 751]
5.1.19 - 37.19 Komprimierung [Seite 756]
5.1.20 - 37.20 Dateisystemfreigaben [Seite 759]
5.1.21 - 37.21 Überwachung des Dateisystems [Seite 770]
5.1.22 - 37.22 Dateiversionsverlauf [Seite 771]
5.1.23 - 37.23 Windows Explorer öffnen [Seite 772]
5.1.24 - 37.24 Windows Server Backup [Seite 772]
5.2 - 38 Festplattenverschlüsselung mit BitLocker [Seite 774]
5.2.1 - 38.1 Übersicht über das BitLocker-Modul [Seite 775]
5.2.2 - 38.2 Verschlüsseln eines Laufwerks [Seite 776]
5.3 - 39 Dokumente [Seite 778]
5.3.1 - 39.1 Textdateien [Seite 778]
5.3.2 - 39.2 CSV-Dateien [Seite 780]
5.3.3 - 39.3 Analysieren von Textdateien [Seite 783]
5.3.4 - 39.4 INI-Dateien [Seite 786]
5.3.5 - 39.5 XML-Dateien [Seite 786]
5.3.6 - 39.6 HTML- und Markdown-Dateien [Seite 796]
5.3.7 - 39.7 JSON-Dateien [Seite 799]
5.3.8 - 39.8 Binärdateien [Seite 809]
5.3.9 - 39.9 Grafikdateien [Seite 810]
5.4 - 40 Microsoft Office [Seite 812]
5.4.1 - 40.1 Allgemeine Informationen zur Office-Automatisierung per PowerShell [Seite 812]
5.4.2 - 40.2 Praxislösung: Terminserien aus Textdateien anlegen in Outlook [Seite 813]
5.4.3 - 40.3 Praxislösung: Outlook-Termine anhand von Suchkriterien löschen [Seite 815]
5.4.4 - 40.4 Praxislösung: Grafiken aus einem Word-Dokument (DOCX) extrahieren [Seite 816]
5.5 - 41 Datenbanken [Seite 820]
5.5.1 - 41.1 ADO.NET-Grundlagen [Seite 820]
5.5.2 - 41.2 Beispieldatenbank [Seite 826]
5.5.3 - 41.3 Datenzugriff mit den Bordmitteln der PowerShell [Seite 827]
5.5.4 - 41.4 Hilfsfroutinen für den Datenbankzugriff (DBUtil.ps1) [Seite 839]
5.5.5 - 41.5 Datenzugriff mit den PowerShell-Erweiterungen [Seite 842]
5.5.6 - 41.6 Datenbankzugriff mit SQLPS [Seite 846]
5.5.7 - 41.7 Datenbankzugriff mit SQLPSX [Seite 846]
5.6 - 42 Microsoft-SQL-Server-Administration [Seite 848]
5.6.1 - 42.1 PowerShell-Integration im SQL Server Management Studio [Seite 849]
5.6.2 - 42.2 SQL-Server-Laufwerk "SQLSERVER:" [Seite 850]
5.6.3 - 42.3 Die SQLPS-Commandlets [Seite 853]
5.6.4 - 42.4 Die SQL Server Management Objects (SMO) [Seite 855]
5.6.5 - 42.5 SQLPSX [Seite 858]
5.6.6 - 42.6 Microsoft-SQL-Server-Administration mit der PowerShell in der Praxis [Seite 866]
5.7 - 43 ODBC-Datenquellen [Seite 872]
5.7.1 - 43.1 ODBC-Treiber und -Datenquellen auflisten [Seite 873]
5.7.2 - 43.2 Anlegen einer ODBC-Datenquelle [Seite 874]
5.7.3 - 43.3 Zugriff auf eine ODBC-Datenquelle [Seite 875]
5.8 - 44 Registrierungsdatenbank (Registry) [Seite 878]
5.8.1 - 44.1 Schlüssel auslesen [Seite 878]
5.8.2 - 44.2 Schlüssel anlegen und löschen [Seite 879]
5.8.3 - 44.3 Laufwerke definieren [Seite 879]
5.8.4 - 44.4 Werte anlegen und löschen [Seite 880]
5.8.5 - 44.5 Werte auslesen [Seite 881]
5.8.6 - 44.6 Praxislösung: Windows-Explorer-Einstellungen [Seite 881]
5.8.7 - 44.7 Praxislösung: Massenanlegen von Registry-Schlüsseln [Seite 882]
5.9 - 45 Computer- und Betriebssystemverwaltung [Seite 884]
5.9.1 - 45.1 Computerinformationen [Seite 884]
5.9.2 - 45.2 Versionsnummer des Betriebssystems [Seite 886]
5.9.3 - 45.3 Zeitdauer seit dem letzten Start des Betriebssystems [Seite 886]
5.9.4 - 45.4 BIOS- und Startinformationen [Seite 887]
5.9.5 - 45.5 Windows-Produktaktivierung [Seite 888]
5.9.6 - 45.6 Umgebungsvariablen [Seite 888]
5.9.7 - 45.7 Schriftarten [Seite 891]
5.9.8 - 45.8 Computername und Domäne [Seite 892]
5.9.9 - 45.9 Herunterfahren und Neustarten [Seite 892]
5.9.10 - 45.10 Windows Updates installieren [Seite 893]
5.9.11 - 45.11 Wiederherstellungspunkte verwalten [Seite 897]
5.10 - 46 Windows Defender [Seite 898]
5.11 - 47 Hardwareverwaltung [Seite 900]
5.11.1 - 47.1 Hardwarebausteine [Seite 900]
5.11.2 - 47.2 Plug-and-Play-Geräte [Seite 902]
5.11.3 - 47.3 Druckerverwaltung (ältere Betriebssysteme) [Seite 902]
5.11.4 - 47.4 Druckerverwaltung (seit Windows 8 und Windows Server 2012) [Seite 904]
5.12 - 48 Softwareverwaltung [Seite 906]
5.12.1 - 48.1 Softwareinventarisierung [Seite 906]
5.12.2 - 48.2 Installation von Anwendungen [Seite 910]
5.12.3 - 48.3 Deinstallation von Anwendungen [Seite 910]
5.12.4 - 48.4 Praxislösung: Installationstest [Seite 911]
5.12.5 - 48.5 Praxislösung: Installierte .NET Core SDKs aufräumen [Seite 912]
5.12.6 - 48.6 Windows 10 Apps verwalten [Seite 918]
5.12.7 - 48.7 Installationen mit PowerShell Package Management ("OneGet") [Seite 920]
5.12.8 - 48.8 Versionsnummer ermitteln [Seite 923]
5.12.9 - 48.9 Servermanager [Seite 925]
5.12.10 - 48.10 Windows-Features installieren auf Windows-Clientbetriebssystemen [Seite 935]
5.12.11 - 48.11 Praxislösung: IIS-Installation [Seite 938]
5.12.12 - 48.12 Softwareeinschränkungen mit dem PowerShell-Modul "AppLocker" [Seite 940]
5.13 - 49 Prozessverwaltung [Seite 946]
5.13.1 - 49.1 Prozesse auflisten [Seite 946]
5.13.2 - 49.2 Prozesse starten [Seite 947]
5.13.3 - 49.3 Prozesse mit vollen Administratorrechten starten [Seite 948]
5.13.4 - 49.4 Prozesse unter einem anderen Benutzerkonto starten [Seite 949]
5.13.5 - 49.5 Prozesse beenden [Seite 950]
5.13.6 - 49.6 Warten auf das Beenden einer Anwendung [Seite 951]
5.14 - 50 Windows-Systemdienste [Seite 952]
5.14.1 - 50.1 Dienste auflisten [Seite 952]
5.14.2 - 50.2 Dienstzustand ändern [Seite 955]
5.14.3 - 50.3 Diensteigenschaften ändern [Seite 955]
5.14.4 - 50.4 Dienste hinzufügen [Seite 956]
5.14.5 - 50.5 Dienste entfernen [Seite 957]
5.15 - 51 Netzwerk [Seite 958]
5.15.1 - 51.1 Netzwerkkonfiguration [Seite 958]
5.15.2 - 51.2 DNS-Client-Konfiguration [Seite 963]
5.15.3 - 51.3 DNS-Namensauflösung [Seite 967]
5.15.4 - 51.4 Erreichbarkeit prüfen (Ping) [Seite 968]
5.15.5 - 51.5 Windows Firewall [Seite 969]
5.15.6 - 51.6 Remote Desktop (RDP) einrichten [Seite 976]
5.15.7 - 51.7 E-Mails senden (SMTP) [Seite 977]
5.15.8 - 51.8 Auseinandernehmen von E-Mail-Adressen [Seite 978]
5.15.9 - 51.9 Abruf von Daten von einem HTTP-Server [Seite 978]
5.15.10 - 51.10 Praxislösung: Linkprüfer für eine Website [Seite 984]
5.15.11 - 51.11 Aufrufe von SOAP-Webdiensten [Seite 988]
5.15.12 - 51.12 Aufruf von REST-Diensten [Seite 990]
5.15.13 - 51.13 Aufrufe von OData-Diensten [Seite 992]
5.15.14 - 51.14 Hintergrunddatentransfer mit BITS [Seite 993]
5.16 - 52 Ereignisprotokolle (Event Log) [Seite 998]
5.16.1 - 52.1 Protokolleinträge auslesen [Seite 998]
5.16.2 - 52.2 Ereignisprotokolle erzeugen [Seite 1000]
5.16.3 - 52.3 Protokolleinträge erzeugen [Seite 1000]
5.16.4 - 52.4 Protokollgröße festlegen [Seite 1000]
5.16.5 - 52.5 Protokolleinträge löschen [Seite 1000]
5.17 - 53 Leistungsdaten (Performance Counter) [Seite 1002]
5.17.1 - 53.1 Zugriff auf Leistungsindikatoren über WMI [Seite 1002]
5.17.2 - 53.2 Get-Counter [Seite 1003]
5.18 - 54 Sicherheitseinstellungen [Seite 1006]
5.18.1 - 54.1 Aktueller Benutzer [Seite 1006]
5.18.2 - 54.2 Grundlagen [Seite 1007]
5.18.3 - 54.3 Zugriffsrechtelisten auslesen [Seite 1012]
5.18.4 - 54.4 Einzelne Rechteeinträge auslesen [Seite 1013]
5.18.5 - 54.5 Besitzer auslesen [Seite 1015]
5.18.6 - 54.6 Benutzer und SID [Seite 1015]
5.18.7 - 54.7 Hinzufügen eines Rechteeintrags zu einer Zugriffsrechteliste [Seite 1018]
5.18.8 - 54.8 Entfernen eines Rechteeintrags aus einer Zugriffsrechteliste [Seite 1020]
5.18.9 - 54.9 Zugriffsrechteliste übertragen [Seite 1022]
5.18.10 - 54.10 Zugriffsrechteliste über SDDL setzen [Seite 1022]
5.18.11 - 54.11 Zertifikate verwalten [Seite 1023]
5.19 - 55 Optimierungen und Problemlösungen [Seite 1026]
5.19.1 - 55.1 PowerShell-Modul "TroubleshootingPack" [Seite 1026]
5.19.2 - 55.2 PowerShell-Modul "Best Practices" [Seite 1030]
5.20 - 56 Active Directory [Seite 1032]
5.20.1 - 56.1 Benutzer- und Gruppenverwaltung mit WMI [Seite 1033]
5.20.2 - 56.2 Einführung in System.Directory Services [Seite 1034]
5.20.3 - 56.3 Basiseigenschaften [Seite 1045]
5.20.4 - 56.4 Benutzer- und Gruppenverwaltung im Active Directory [Seite 1047]
5.20.5 - 56.5 Verwaltung der Organisationseinheiten [Seite 1055]
5.20.6 - 56.6 Suche im Active Directory [Seite 1056]
5.20.7 - 56.7 Navigation im Active Directory mit den PowerShell Extensions [Seite 1063]
5.20.8 - 56.8 Verwendung der Active-Directory-Erweiterungen von www.IT-Visions.de [Seite 1064]
5.20.9 - 56.9 PowerShell-Modul "Active Directory" (ADPowerShell) [Seite 1066]
5.20.10 - 56.10 PowerShell-Modul "ADDSDeployment" [Seite 1095]
5.20.11 - 56.11 Informationen über die Active Directory-Struktur [Seite 1098]
5.21 - 57 Gruppenrichtlinien [Seite 1102]
5.21.1 - 57.1 Verwaltung der Gruppenrichtlinien [Seite 1103]
5.21.2 - 57.2 Verknüpfung der Gruppenrichtlinien [Seite 1104]
5.21.3 - 57.3 Gruppenrichtlinienberichte [Seite 1106]
5.21.4 - 57.4 Gruppenrichtlinienvererbung [Seite 1108]
5.21.5 - 57.5 Weitere Möglichkeiten [Seite 1109]
5.22 - 58 Lokale Benutzer und Gruppen [Seite 1110]
5.22.1 - 58.1 Modul "Microsoft.PowerShell. LocalAccounts" [Seite 1110]
5.22.2 - 58.2 Lokale Benutzerverwaltung in älteren PowerShell-Versionen [Seite 1112]
5.23 - 59 Microsoft Exchange Server [Seite 1114]
5.23.1 - 59.1 Daten abrufen [Seite 1114]
5.23.2 - 59.2 Postfächer verwalten [Seite 1115]
5.23.3 - 59.3 Öffentliche Ordner verwalten [Seite 1116]
5.24 - 60 Internet Information Services (IIS) [Seite 1118]
5.24.1 - 60.1 Überblick [Seite 1118]
5.24.2 - 60.2 Navigationsprovider [Seite 1120]
5.24.3 - 60.3 Anlegen von Websites [Seite 1122]
5.24.4 - 60.4 Praxislösung: Massenanlegen von Websites [Seite 1123]
5.24.5 - 60.5 Ändern von Website-Eigenschaften [Seite 1126]
5.24.6 - 60.6 Anwendungspool anlegen [Seite 1126]
5.24.7 - 60.7 Virtuelle Verzeichnisse und IIS-Anwendungen [Seite 1127]
5.24.8 - 60.8 Website-Zustand ändern [Seite 1128]
5.24.9 - 60.9 Anwendungspools starten und stoppen [Seite 1128]
5.24.10 - 60.10 Löschen von Websites [Seite 1129]
5.25 - 61 Virtuelle Systeme mit Hyper-V [Seite 1130]
5.25.1 - 61.1 Das Hyper-V-Modul von Microsoft [Seite 1131]
5.25.2 - 61.2 Die ersten Schritte mit dem Hyper-V-Modul [Seite 1133]
5.25.3 - 61.3 Virtuelle Maschinen anlegen [Seite 1137]
5.25.4 - 61.4 Umgang mit virtuellen Festplatten [Seite 1143]
5.25.5 - 61.5 Konfiguration virtueller Maschinen [Seite 1146]
5.25.6 - 61.6 Dateien kopieren in virtuelle Systeme [Seite 1150]
5.25.7 - 61.7 PowerShell Management Library for Hyper-V (für ältere Betriebssysteme) [Seite 1151]
5.26 - 62 Windows Nano Server [Seite 1154]
5.26.1 - 62.1 Das Konzept von Nano Server [Seite 1154]
5.26.2 - 62.2 Einschränkungen von Nano Server [Seite 1156]
5.26.3 - 62.3 Varianten des Nano Servers [Seite 1158]
5.26.4 - 62.4 Installation eines Nano Servers [Seite 1158]
5.26.5 - 62.5 Docker-Image [Seite 1159]
5.26.6 - 62.6 Fernverwaltung mit PowerShell [Seite 1160]
5.26.7 - 62.7 Windows Update auf einem Nano Server [Seite 1162]
5.26.8 - 62.8 Nachträgliche Paketinstallation [Seite 1162]
5.26.9 - 62.9 Abgespeckter IIS unter Nano Server [Seite 1164]
5.26.10 - 62.10 Nano-Serververwaltung aus der Cloud heraus [Seite 1165]
5.27 - 63 Docker-Container [Seite 1166]
5.27.1 - 63.1 Docker-Varianten für Windows [Seite 1167]
5.27.2 - 63.2 Docker-Installation auf Windows 10 [Seite 1168]
5.27.3 - 63.3 Docker-Installation auf Windows Server [Seite 1170]
5.27.4 - 63.4 Installation von "Docker for Windows" [Seite 1171]
5.27.5 - 63.5 Docker-Registries [Seite 1173]
5.27.6 - 63.6 Docker-Images laden [Seite 1173]
5.27.7 - 63.7 Container starten [Seite 1173]
5.27.8 - 63.8 Container-Identifikation [Seite 1175]
5.27.9 - 63.9 Container mit Visual Studio [Seite 1176]
5.27.10 - 63.10 Befehle in einem Container ausführen [Seite 1178]
5.27.11 - 63.11 Ressourcenbeschränkungen für Container [Seite 1181]
5.27.12 - 63.12 Dateien zwischen Container und Host kopieren [Seite 1181]
5.27.13 - 63.13 Dockerfile [Seite 1181]
5.27.14 - 63.14 Docker-Netzwerke [Seite 1182]
5.27.15 - 63.15 Container anlegen, ohne sie zu starten [Seite 1183]
5.27.16 - 63.16 Container starten und stoppen [Seite 1183]
5.27.17 - 63.17 Container beenden und löschen [Seite 1183]
5.27.18 - 63.18 Images löschen [Seite 1184]
5.27.19 - 63.19 Images aus Containern erstellen [Seite 1184]
5.27.20 - 63.20 .NET Core-Container [Seite 1185]
5.27.21 - 63.21 Images verbreiten [Seite 1187]
5.27.22 - 63.22 Azure Container Service (ACS) [Seite 1189]
5.28 - 64 Microsoft Azure [Seite 1190]
5.28.1 - 64.1 Azure Konzepte [Seite 1190]
5.28.2 - 64.2 Kommandozeilenwerkzeuge für die Azure-Verwaltung [Seite 1191]
5.28.3 - 64.3 Benutzeranmeldung und Informationsabfrage [Seite 1195]
5.28.4 - 64.4 Azure Ressourcen-Gruppen [Seite 1196]
5.28.5 - 64.5 Azure Web Apps [Seite 1196]
5.28.6 - 64.6 Azure SQL Server [Seite 1198]
5.28.7 - 64.7 Azure Kubernetes Services (AKS) [Seite 1199]
5.28.8 - 64.8 Azure DevOps [Seite 1223]
5.29 - 65 Grafische Benutzeroberflächen (GUI) [Seite 1238]
5.29.1 - 65.1 Einfache Nachfragedialoge [Seite 1238]
5.29.2 - 65.2 Einfache Eingabe mit Inputbox [Seite 1240]
5.29.3 - 65.3 Komplexere Eingabemasken [Seite 1240]
5.29.4 - 65.4 Universelle Objektdarstellung [Seite 1242]
5.29.5 - 65.5 WPF PowerShell Kit (WPK) [Seite 1244]
5.29.6 - 65.6 Direkte Verwendung von WPF [Seite 1252]
6 - Teil D: Profiwissen - Erweitern der PowerShell [Seite 1254]
6.1 - 66 Entwicklung von Commandlets in der PowerShell-Skriptsprache [Seite 1256]
6.1.1 - 66.1 Aufbau eines skriptbasierten Commandlets [Seite 1256]
6.1.2 - 66.2 Verwendung per Dot Sourcing [Seite 1258]
6.1.3 - 66.3 Parameterfestlegung [Seite 1259]
6.1.4 - 66.4 Fortgeschrittene Funktion (Advanced Function) [Seite 1265]
6.1.5 - 66.5 Mehrere Parameter und Parametersätze [Seite 1269]
6.1.6 - 66.6 Unterstützung für Sicherheitsabfragen (-whatif und -confirm) [Seite 1271]
6.1.7 - 66.7 Kaufmännisches Beispiel: Test-CustomerID [Seite 1272]
6.1.8 - 66.8 Erweitern bestehender Commandlets durch Proxy-Commandlets [Seite 1276]
6.1.9 - 66.9 Dokumentation [Seite 1281]
6.2 - 67 Entwicklung eigener Commandlets mit C# [Seite 1284]
6.2.1 - 67.1 Technische Voraussetzungen [Seite 1285]
6.2.2 - 67.2 Grundkonzept der .NET-basierten Commandlets [Seite 1286]
6.2.3 - 67.3 Schrittweise Erstellung eines minimalen Commandlets [Seite 1288]
6.2.4 - 67.4 Erstellung eines Commandlets mit einem Rückgabeobjekt [Seite 1297]
6.2.5 - 67.5 Erstellung eines Commandlets mit mehreren Rückgabeobjekten [Seite 1298]
6.2.6 - 67.6 Erstellen eines Commandlets mit Parametern [Seite 1303]
6.2.7 - 67.7 Verarbeiten von Pipeline-Eingaben [Seite 1305]
6.2.8 - 67.8 Verkettung von Commandlets [Seite 1308]
6.2.9 - 67.9 Fehlersuche in Commandlets [Seite 1312]
6.2.10 - 67.10 Statusinformationen [Seite 1315]
6.2.11 - 67.11 Unterstützung für Sicherheitsabfragen (-whatif und -confirm) [Seite 1320]
6.2.12 - 67.12 Festlegung der Hilfeinformationen [Seite 1322]
6.2.13 - 67.13 Erstellung von Commandlets für den Zugriff auf eine Geschäftsanwendung [Seite 1327]
6.2.14 - 67.14 Konventionen für Commandlets [Seite 1328]
6.2.15 - 67.15 Weitere Möglichkeiten [Seite 1330]
6.3 - 68 PowerShell-Module erstellen [Seite 1332]
6.3.1 - 68.1 Erstellen eines Skriptmoduls [Seite 1332]
6.3.2 - 68.2 Praxislösung: Umwandlung einer Skriptdatei in ein Modul [Seite 1334]
6.3.3 - 68.3 Erstellen eines Moduls mit Binärdateien [Seite 1334]
6.3.4 - 68.4 Erstellen eines Moduls mit Manifest [Seite 1335]
6.3.5 - 68.5 Erstellung eines Manifest-Moduls mit Visual Studio [Seite 1342]
6.4 - 69 Hosting der PowerShell [Seite 1344]
6.4.1 - 69.1 Voraussetzungen für das Hosting [Seite 1345]
6.4.2 - 69.2 Hosting mit PSHost [Seite 1346]
6.4.3 - 69.3 Vereinfachtes Hosting seit PowerShell 2.0 [Seite 1349]
7 - Anhang A: Crashkurs Objektorientierung [Seite 1352]
8 - Anhang B: Crashkurs .NET [Seite 1360]
8.1 - B.1 Was ist das .NET Framework? [Seite 1362]
8.2 - B.2 Was ist .NET Core? [Seite 1363]
8.3 - B.3 Eigenschaften von .NET [Seite 1364]
8.4 - B.4 .NET-Klassen [Seite 1365]
8.5 - B.5 Namensgebung von .NET-Klassen (Namensräume) [Seite 1365]
8.6 - B.6 Namensräume und Softwarekomponenten [Seite 1367]
8.7 - B.7 Bestandteile einer .NET-Klasse [Seite 1368]
8.8 - B.8 Vererbung [Seite 1369]
8.9 - B.9 Schnittstellen [Seite 1369]
9 - Anhang C: Literatur [Seite 1370]
10 - Anhang D: Weitere Informationen im Internet [Seite 1374]
11 - Anhang E: Abkürzungsverzeichnis [Seite 1376]
12 - Stichwortverzeichnis [Seite 1402]