Tag 1

Sie erhalten einen ersten Überblick über Funktion und Architektur der PowerShell. Sie lernen, mit PowerShell-Cmdlets und -Providern umzugehen und zahlreiche Praxisaufgaben zu lösen. Dazu gehören kleinere Backup-Jobs im Dateisystem, Zugriff und Analyse eines Active Directories einschließlich Benutzerkontenverwaltung, Prozess-Steuerung und allgemeine administrative Aufgaben im Bereich Client und Server. Außerdem erfahren Sie, wie Sie mittels virtueller Laufwerke die Windows-Registrierungsdatenbank lesen und beschreiben, beispielsweise um Systeminformationen abzufragen oder Systeme zu konfigurieren. Schließlich lernen Sie die erweiterbare Architektur der PowerShell kennen, die es Ihnen ermöglicht, zusätzliche Cmdlets und Provider zur Verwaltung spezieller Technologien wie beispielsweise Active Directory oder VMWare nachzuladen und einzusetzen.
Ziel dieses Tages ist, dass Sie für Aufgaben das passende PowerShell-Cmdlet finden, sich über seine Bedienung informieren, Beispielcode abrufen und den zur Lösung der Aufgabe nötigen Befehlsaufruf entwickeln.

10:00 Begrüßung
10:15 - 11:30 Einführung Konsole
PowerShell-Cmdlets
Cmdlet-Parameter
Praxisaufgaben
11:30 - 11:45 Kaffeepause
11:45 - 12:15 Hilfe-System
12:15 - 13:00 Native Anwendungen in PowerShell
Alias-System
Praxisaufgaben
PowerShell-Skripts und Profilskripts
Sicherheitseinstellungen
13:00 - 14:00 Mittagessen
14:00 - 15:15 Provider und PowerShell-Drives
Praxisaufgaben
15:15 - 15:30 Kaffeepause
15:30 - 16:15 Snapins und Module
PowerShell-Befehle und -Provider nachrüsten
Praxisaufgaben Active Directory-Zugriff
16:15 - 16:30 Zusammenfassung

Tag 2

Sie lernen die Funktionsweise der PowerShell-Pipeline kennen, mit der einzelne Befehle zu einer Befehlskette zusammengefasst werden. Auf diese Weise fokussieren Sie Informationen auf die für Sie relevanten Dinge, sortieren, gruppieren und können anspruchsvolle Reports erstellen.
Außerdem arbeiten Sie mit ersten eigenen PowerShell-Skripts, lernen die dafür notwendigen Sicherheitseinstellungen kennen und übergeben PowerShell-Skripts variable Parameter. Sie werden PowerShell-Skripts automatisiert vom System ausführen lassen, beispielsweise für regelmäßige Überwachungsaufgaben, und erfahren, wie solche Skripts extern (außerhalb der PowerShell) aufgerufen werden.
Am Ende dieses Tages haben Sie bereits umfangreiche Grundkenntnisse der PowerShell gewonnen. Diese überprüfen Sie anhand einer Präsentation bewährter Praxislösungen. Sie werden diese Praxislösungen einsetzen und im Detail verstehen und anpassen.
9:00 - 10:15 Warm-Up mit Praxisübungen und Wiederholungen

10:15 - 10:30 Kaffeepause
10:30 - 11:45 PowerShell Pipeline Architektur
Eigene Pipelines entwickeln
Informationen sortieren, filtern, umwandeln
Praxisübungen
11:45 - 12:00 Kaffeepause
12:00 - 12:30 Informationen exportieren
Textexport
Reporting in Excel und HTML
Objektexport nach XML
12:30 - 13:30 Mittagessen
13:30 - 14:45 PowerShell-Skripts erstellen
Sicherheitseinstellungen
Schleifen und Bedingungen
14:45 - 15:00 Kaffeepause
15:00 - 16:00 Einfache Parameterübergabe
PowerShell zeitgesteuert ausführen
Skripts extern aufrufen
Skripts unter anderem Benutzerkontext ausführen
16:00 - 16:30 Theorie meets Praxis
Präsentation ausgewählter Praxislösungen
Diskussion der Funktionsweise
Zusammenfassung

Tag 3

Sie lernen, anspruchsvolle wiederverwendbare Funktionen und Skripts zu schreiben. Dazu erfahren Sie alle Möglichkeiten, um Funktionen mit denselben komfortablen Parametern auszustatten, wie Sie dies von Cmdlets kennen. Auch sorgen Sie dafür, dass Ihre Funktionen über eine Standard-Hilfe verfügen und sich ins Hilfesystem von PowerShell integrieren. Ihre Funktionen verpacken Sie schließlich als Modul, das an andere Anwender weitergegeben und von diesen als Befehlserweiterung nachgeladen werden kann.
Im Nachmittagsteil erfahren Sie, wie PowerShell-Fehler per Debugging gefunden und behoben werden. Sie lernen verschiedene Verfahren kennen, um Laufzeitfehler abzufangen und zu behandeln. Ihre professionellen PowerShell-Skripts und -Module werden Sie dann am Ende des Tages mit einer gültigen digitalen Signatur versehen und dabei Verfahren kennen lernen, wie Sie auf sicherheitskritischen Systemen die PowerShell-Sicherheit und den Zustand aller PowerShell-Skripts als Sicherheitsaudit überwachen.
Mit Hilfe des PowerShell-Remotings werden Sie in die Lage versetzt, PowerShell-Code auf entfernen Systemen auszuführen.
9:00 - 10:15 Warm-Up mit Praxisübungen und Wiederholungen

10:15 - 10:30 Kaffeepause
10:30 - 11:30 Advanced Functions
Rückgabewerte
anspruchsvolle Parameter-Definitionen
integrierte Hilfe
automatische Validierung
11:30 - 11:45 Debugging-Techniken
PowerShell schrittweise ausführen
11:45 - 12:00 Kaffeepause
12:00 - 12:30 Module
selbsterstellte Module zur Weitergabe an Dritte
12:30 - 13:30 Mittagessen
13:30 - 14:30 Fehlerhandling
ErrorAction und integriertes Fehlerhandling
Try/Catch und Trap-Verfahren
Fehlerbehandlung für externe Programme
Verfahren zum Fehler-Logging
14:30 - 15:00 Sicherheit und digitale Signaturen
Sicherheitsaudit
15:00 - 15:15 Kaffeepause
15:15 - 16:00 PowerShell-Remoting
klassisches COM-basiertes Remoting
Interaktives Remoting
Code und Skripts remote ausführen (Fan-Out)
Implizites Remoting
Hintergrundjobs und Multi-Threading
16:00 - 16:30 Theorie meets Praxis
Ausgewählte Praxislösungen
Häufige Fallen und Fehler
Diskussion
Zusammenfassung

Tag 4

Der vierte Tag rückt die objektorientierte Natur der PowerShell in den Vordergrund. Sie lernen Objekte und Typen zu verstehen und perfektionieren damit Ihre PowerShell-Kenntnisse. Hierzu gehört auch die Code-Optimierung, mit der Sie PowerShell-Skripts schneller und ressourcenschonender gestalten.
Über Low-Level-Zugriffe auf WMI, .NET, COM und API erweitern Sie den Funktionsumfang und Ihre Möglichkeiten und lernen diese an zahlreichen Praxislösungen kennen. So werden Sie Rohdaten in Logbüchern parsen, Fernzugriffe auf Webservices und Webseiten durchführen, über die WMI Systeminformationen lokal und remote abfragen und daraus Inventarisierungsreports erstellen und schließlich ganz eigene Dialogfelder erstellen, um Skripten eine grafische Oberfläche zu geben. Spezialtechniken wie die Umwandlung von Skripts in ausführbare Programme (EXE) oder der Einsatz regulärer Ausdrücke runden diesen Tag ab.
Ziel dieses Tages ist es, PowerShell als Sprache und Plattform vollständig zu verstehen und insbesondere die zugrundeliegenden Typen und Objekte sicher einzusetzen.

9:00 - 10:15 Warm-Up mit Praxisübungen und Wiederholungen
10:15 - 10:30 Kaffeepause
10:30 - 11:30 Objekte
Terminologie
Praxis Text- und Datumsmanipulationen
11:30 - 12:00 WMI
WMI-Namensräume und -Klassen erkunden
Systeminformationen lokal und remote abrufen
Remoting
WMI-Spezialtechniken
12:00 - 12:30 Typen/Klassen
Terminologie
Objekttypen ermitteln
Objekttypen umwandeln
streng typisierte Variablen und Parameter
12:30 - 13:30 Mittagessen
13:30 - 14:45 Low-Level-PowerShell
Neue Objekte ableiten
Zugriff auf COM-Objekte
Zugriff auf statische Member
Zugriff auf API-Funktionen
Praxis Dialogfelder
14:45 - 15:00 Kaffeepause
15:00 - 15:30 Reguläre Ausdrücke: -match und -replace
RegEx-Typen
Praxisbeispiele Parsing/Analyse
15:30 - 16:00 Zusammenfassung
Überblick Ressourcen, Websites, Script-Bibliotheken
Best Practice und abschließende Frage- und Diskussionsrunde