Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Cover Titel Impressum Inhalt Vorwort
Wie Sie dieses Buch nutzen Achtung Noch mehr Unterstützung
1 PowerShell: Erste Schritte
PowerShell installieren Windows-Betriebssystem PowerShell nachrüsten: macOS und Linux Kompatibilität der PowerShell PowerShell einrichten Vorsicht mit Administratorrechten! Interaktive Befehle eingeben Autovervollständigung: Tippfehler vermeiden Befehlszeilen erneut verwenden Groß- und Kleinschreibung Unvollständige und mehrzeilige Eingaben PowerShell-Hilfe aus dem Internet nachladen Skriptausführung erlauben Weitere PowerShell-Einschränkungen Wichtige PowerShell-Werkzeuge PowerShell-ISE-Editor VSCode (Visual Studio Code) Windows-Terminal Codebeispiele automatisch herunterladen Befehl zum Herunterladen von Codebeispielen nachrüsten Beispielcode in Zwischenablage kopieren Beispielcode sofort ausführen Profilskripte: PowerShell dauerhaft anpassen Einzelne Profilskripte verwenden Fragen stellen Alle Skripte herunterladen Zusammenfassung Ausführungsrichtlinie festlegen Hilfe nachrüsten Windows PowerShell aktualisieren Hilfsbefehle zum Download von Beispielcode »Fehlende Befehle« verstehen Zusätzliche Werkzeuge
2 Überblick: Was PowerShell leistet
Befehle lösen Aufgaben Literale Text Zahlen Datum und Zeit Kommentare Cmdlets: die PowerShell-Befehle Nach Tätigkeitsbereich suchen (»Noun«) Nach Tätigkeit suchen (»Verb«) Nach Herkunft suchen Standardisierte Verben Cmdlets per Fenster suchen Syntax verstehen Ausführliche Hilfe und Beispiele Anwendungsprogramme (Applications) Applications starten Applications finden Systembefehle nutzen Hilfe für Applications abrufen .NET-Methoden Methoden verwenden Hilfe für Methoden Noch mehr Methoden Methoden: vielseitiger, aber kleinteiliger Operatoren Operatoren nachschlagen Vergleichsoperatoren Textoperatoren Zuweisungen und Pipeline Zahlenreihen Befehle verbinden Das Türchen-Modell Normalfall: »Türchen 3« Modernes Pipeline-Streaming: »Türchen 1« Klassische Variablen: »Türchen 2« Neue Befehle nachrüsten Beispiel 1: QR-Codes generieren Beispiel 2: Automatische HTML-Reports Beispiel 3: Musik spielen Zusammenfassung
3 Skripte und Funktionen
PowerShell-Skripte verstehen Skriptcode eingeben Skripte mit dem ISE-Editor entwickeln Neues Skript anlegen Skripte mit dem VSCode-Editor entwickeln Neue Skripte anlegen Skripte ausführen Skripte innerhalb von PowerShell starten Skripte außerhalb von PowerShell starten Skripte automatisch starten Skriptstart durch Task Scheduler Profilskripte – die Autostartskripte Profilskript anlegen und öffnen Typische Profilskriptaufgaben durchführen Neue Befehle: Funktionen Schritt 1: Nützlicher Code Schritt 2: Als Funktion verpacken Schritt 3: Parameter definieren Schritt 4: Funktionen dauerhaft verfügbar machen Funktionen im Modul permanent verfügbar Die gemeinsame Grundlage: der Skriptblock Skripte sind gespeicherte Skriptblöcke Funktionen sind vorgeladene Skriptblöcke Module laden Funktionen bei Bedarf in den Speicher Skript oder Funktion?
4 Cmdlets – PowerShell-Befehle
Parameter steuern Cmdlets Argumente an Parameter übergeben Parameter machen Cmdlets vielseitig Politisch inkorrekt: positionale Argumente Gratiszugabe: »Common Parameters« Auf Fehler reagieren Vielseitigkeit durch Parametersätze »Schmal, aber tief« – Cmdlets sind Spezialisten Mehrere Parametersätze: noch mehr Vielseitigkeit Praxis: Ereignisse aus dem Ereignislogbuch lesen »ISA/HASA« – wie Cmdlets in der Pipeline funktionieren Das »ISA/HASA«-Prinzip Praxisnutzen Vorteile des Pipeline-Streamings
5 Die PowerShell-Pipeline
Aufbau der PowerShell-Pipeline Befehle reichen Ergebnisse weiter Pipeline steuert Befehle Prinzipieller Aufbau der Pipeline Die sechs wichtigsten Pipeline-Befehle Select-Object Detailinformationen festlegen Unsichtbare Eigenschaften sichtbar machen Eine bestimmte Eigenschaft auswählen: -ExpandProperty Selbst festlegen, welche Informationen wichtig sind Weitere Informationen anfügen -First, -Last und -Skip Berechnete Eigenschaften Where-Object Clientseitiger Universalfilter Leere Elemente aussortieren Fortgeschrittene Syntax bietet mehr Möglichkeiten Out-GridView: das »menschliche« Where-Object Sort-Object Cmdlet-Ergebnisse sortieren Sortierung mit anderen Cmdlets kombinieren Datentyp der Sortierung ändern Mehrere Spalten in umgekehrter Sortierung Group-Object Häufigkeiten feststellen Daten gruppieren Berechnete Gruppierungskriterien Measure-Object Statistische Berechnungen Ordnergrößen berechnen Foreach-Object Grundprinzip: eine Schleife Format-Cmdlets Gefährlich: Format-Cmdlets verändern Objekte Mehrspaltige Anzeigen Tabellenausgabe mit Gruppierung
6 Arrays und Hashtables
Arrays verwenden Auf Array-Elemente zugreifen Eigene Arrays (und einige Fallen) Automatische Array-Erzeugung Manuelle Array-Erzeugung Hashtables – »sprechende Arrays« Hashtables in Objekte umwandeln Neue Objekte mit Eigenschaften initialisieren
7 PowerShell-Laufwerke
Dateisystemaufgaben meistern Cmdlets für das Dateisystem finden Erste Schritte Ordner anlegen Dateien anlegen und Informationen speichern Encoding von Textdateien Encodings sichtbar machen Dateien finden Dateien und Ordner kopieren Dateien umbenennen Dateien und Ordner löschen Größe eines Laufwerks ermitteln Größe eines Ordners ermitteln Umgebungsvariablen Alle Umgebungsvariablen auflisten Auf einzelne Umgebungsvariablen zugreifen Umgebungsvariablen ändern Windows-Registrierungsdatenbank Schlüssel suchen Werte lesen Neue Registry-Schlüssel anlegen Registry-Schlüssel löschen Werte hinzufügen, ändern und löschen Virtuelle Laufwerke und Provider Neue PowerShell-Laufwerke Ohne Laufwerksbuchstaben direkt auf Provider zugreifen -Path oder -LiteralPath? Existenz eines Pfads prüfen Pfadnamen auflösen
8 Operatoren und Bedingungen
Operatoren – Aufbau und Namensgebung Wie Operatornamen aufgebaut sind Unäre Operatoren Zuweisungsoperatoren Vergleichsoperatoren Ternary-Operator Unterscheidung zwischen Groß- und Kleinschreibung Unterschiedliche Datentypen vergleichen Vergleiche umkehren Vergleiche kombinieren Vergleiche auf Arrays anwenden Bedingungen if-Bedingung switch-Bedingung Where-Object Null-Koaleszenz-Operatoren Pipeline-Verkettungsoperatoren
9 Textoperationen und reguläre Ausdrücke
Texte zusammenfügen Doppelte Anführungszeichen lösen Variablen auf Der Formatierungsoperator -f Array-Elemente in Text umwandeln Textstellen finden und extrahieren Texte splitten Informationen in Texten finden Reguläre Ausdrücke: Textmustererkennung Erste Schritte: Textmuster basteln Eigene reguläre Ausdrücke konzipieren Textstellen ersetzen Einfache Ersetzungen Sichere Ersetzungen mit -replace Mehrere Zeichen durch eins ersetzen Split und Join: eine mächtige Strategie Dateipfade ändern X500-Pfade auslesen
10 Anwendungen und Konsolenbefehle
Programme starten Optionen für den Programmstart festlegen Argumente an Anwendungen übergeben Hilfe für Konsolenbefehle anzeigen Beispiel: Lizenzstatus von Windows überprüfen Ergebnisse von Anwendungen weiterverarbeiten Error Level auswerten Fragen an Benutzer stellen mit choice.exe Rückgabetext auswerten Laufende Programme steuern Feststellen, ob ein Prozess läuft Auf einen Prozess warten Einstellungen laufender Prozesse ändern Prozesse vorzeitig abbrechen
11 Typen verwenden
Typumwandlungen Geeignete Datentypen auswählen Explizite Umwandlung Deutsches Datumsformat mit dem Operator -as Verkettete Umwandlungen Typen: optimale Informationsbehälter Implizite Umwandlung Typisierte Variablen Parameter und Argumente Vergleichsoperationen Statische Methoden eines Typs verwenden Dateiextension ermitteln Mathematische Funktionen Zahlenformate konvertieren DNS-Auflösung Umgebungsvariablen Pfade zu Systemordnern finden Konsoleneinstellungen Spezielle Datumsformate lesen Statische Eigenschaften verwenden Neue .NET-Typen finden Type Accelerators untersuchen Typen nachladen Assembly-Namen feststellen Aktuell geladene Assemblies auflisten Zusätzliche Assembly nachladen Assembly aus Datei nachladen
12 Mit Objekten arbeiten
Objekte kennenlernen Objekte funktionieren wie beschriftete Schubladen Typisierte Variablen Objekteigenschaften erforschen Eigenschaften lesen Eigenschaften ändern Methoden verwenden Zusammenfassende Systematik Eigenschaften Methoden Hilfe finden Neue Objekte herstellen Konstruktoren verstehen Ein Credential-Object zur automatischen Anmeldung Eigene Objekte erstellen
13 Eigene Typen und Attribute
Typen (Klassen) selbst herstellen Einen eigenen Typ erfinden Neue Objekte eines Typs generieren Konstruktoren hinzufügen Methoden zum Typ hinzufügen Vererbung von Typen Konstruktoren werden nicht geerbt Philips Hue Smart Home mit Typen steuern Kontakt zur Philips Hue Bridge herstellen Lampen- und Schalterinventar Lampen und Steckdosen ansprechen Attribute erstellen SecureString-Transformationsattribute Auf API-Funktionen zugreifen API-Funktion einsetzen Wiederverwertbare PowerShell-Funktion herstellen
14 Parameter für Fortgeschrittene
Argumentvervollständigung Statische Autovervollständigung Autovervollständigung über Enumerationsdatentyp Eigene Enumerationsdatentypen erstellen Autovervollständigung über ValidateSet Dynamische Argumentvervollständigung Zuweisungen mit Validierern überprüfen ValidateSet ValidateRange ValidateLength ValidatePattern ValidateCount ValidateScript Nullwerte und andere Validierer Parameter in ParameterSets einteilen Gegenseitig ausschließende Parameter Binding über Datentyp Parameter in mehreren Parametersätzen Simulationsmodus (-WhatIf) und Sicherheitsabfrage (-Confirm) Festlegen, welche Codeteile übersprungen werden sollen Weiterleitung verhindern Gefährlichkeit einer Funktion festlegen Dynamische Parameter Dynamische Parameter selbst definieren Splatting: Argumente an Parameter binden Splatting im Alltag einsetzen Übergebene Parameter als Hashtable empfangen Mit Splatting Parameter weiterreichen
15 Pipeline-fähige Funktionen
Anonyme Pipeline-Funktion Prototyping Pipeline-fähige Funktion erstellen Benannte Parameter Where-Object durch eine Funktion ersetzen Kurzes Resümee Parameter und Pipeline-Kontrakt ISA-Kontrakt: Pipeline-Eingaben direkt binden HASA-Kontrakt: Objekteigenschaften lesen HASA und ISA kombinieren CSV-Dateien direkt an Funktionen übergeben Aliasnamen für Parameter
16 PowerShellGet und Module
PowerShellGet – die PowerShell-Softwareverteilung Grundlage »PackageManagement« PowerShellGet – Softwareverteilung per Cmdlets Wo PowerShell Module lagert Unterschiede zwischen Windows PowerShell und PowerShell Installierte Module untersuchen Module mit PowerShellGet nachinstallieren Module finden und installieren Modul herunterladen Modul testweise ausführen Modul dauerhaft installieren Module aktualisieren Side-by-Side-Versionierung Eigene Module veröffentlichen Eigene Module herstellen Neue Manifestdatei anlegen Neue Moduldatei anlegen Modul testen Nächste Schritte Eigene Module verteilen Netzwerkfreigabe Modul in Repository übertragen Modul aus privatem Repository installieren
17 Fehlerhandling
Fehlermeldungen unterdrücken Bestimmen, wie Cmdlets auf Fehler reagieren Fehler mitprotokollieren lassen Erfolg eines Befehlsaufrufs prüfen Fehlerhandler einsetzen Lokaler Fehlerhandler: try…catch Globaler Fehlerhandler: Trap
18 Windows PowerShell-Remoting
PowerShell-Remoting aktivieren Zugriff auch auf Windows-Clients Remoting-Verbindung überprüfen NTLM-Authentifizierung erlauben PowerShell-Remoting überprüfen Erste Schritte mit PowerShell-Remoting Befehle und Skripte remote ausführen Kontrolle: Wer besucht »meinen« Computer? Remotefähigen Code entwickeln Argumente an Remote-Code übergeben Ergebnisse vom Remote-Code an den Aufrufer übertragen Fan-Out: integrierte Parallelverarbeitung ThrottleLimit: Parallelverarbeitung begrenzen Double-Hop und CredSSP: Anmeldeinfos weiterreichen Eigene Sitzungen verwenden Eigene Sitzungen anlegen Parallelverarbeitung mit PSSessions SSH-basiertes Remoting SSH-Remoting aktivieren Enter-PSSession über SSH Invoke-Command über SSH Unbeaufsichtigte Ausführung und Parallelbearbeitung
19 Grafische Oberflächen gestalten
Eigene Fenster herstellen GUI mit Code definieren GUI mit XAML definieren Beispiel: Dienststopper-Anwendung
Index
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion