Читать книгу PowerShell 7 und Windows PowerShell - Tobias Weltner - Страница 5
Inhalt
ОглавлениеPowerShell nachrüsten: macOS und Linux
Vorsicht mit Administratorrechten!
Autovervollständigung: Tippfehler vermeiden
Befehlszeilen erneut verwenden
Unvollständige und mehrzeilige Eingaben
PowerShell-Hilfe aus dem Internet nachladen
Weitere PowerShell-Einschränkungen
Codebeispiele automatisch herunterladen
Befehl zum Herunterladen von Codebeispielen nachrüsten
Beispielcode in Zwischenablage kopieren
Profilskripte: PowerShell dauerhaft anpassen
Einzelne Profilskripte verwenden
Ausführungsrichtlinie festlegen
Windows PowerShell aktualisieren
Hilfsbefehle zum Download von Beispielcode
2Überblick: Was PowerShell leistet
Cmdlets: die PowerShell-Befehle
Nach Tätigkeitsbereich suchen (»Noun«)
Nach Tätigkeit suchen (»Verb«)
Ausführliche Hilfe und Beispiele
Anwendungsprogramme (Applications)
Hilfe für Applications abrufen
Methoden: vielseitiger, aber kleinteiliger
Modernes Pipeline-Streaming: »Türchen 1«
Klassische Variablen: »Türchen 2«
Beispiel 1: QR-Codes generieren
Beispiel 2: Automatische HTML-Reports
Skripte mit dem ISE-Editor entwickeln
Skripte mit dem VSCode-Editor entwickeln
Skripte innerhalb von PowerShell starten
Skripte außerhalb von PowerShell starten
Skriptstart durch Task Scheduler
Profilskripte – die Autostartskripte
Profilskript anlegen und öffnen
Typische Profilskriptaufgaben durchführen
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
Argumente an Parameter übergeben
Parameter machen Cmdlets vielseitig
Politisch inkorrekt: positionale Argumente
Gratiszugabe: »Common Parameters«
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
Vorteile des Pipeline-Streamings
Aufbau der PowerShell-Pipeline
Befehle reichen Ergebnisse weiter
Prinzipieller Aufbau der Pipeline
Die sechs wichtigsten Pipeline-Befehle
Unsichtbare Eigenschaften sichtbar machen
Eine bestimmte Eigenschaft auswählen: -ExpandProperty
Selbst festlegen, welche Informationen wichtig sind
Clientseitiger Universalfilter
Fortgeschrittene Syntax bietet mehr Möglichkeiten
Out-GridView: das »menschliche« Where-Object
Sortierung mit anderen Cmdlets kombinieren
Datentyp der Sortierung ändern
Mehrere Spalten in umgekehrter Sortierung
Berechnete Gruppierungskriterien
Gefährlich: Format-Cmdlets verändern Objekte
Tabellenausgabe mit Gruppierung
Eigene Arrays (und einige Fallen)
Hashtables – »sprechende Arrays«
Hashtables in Objekte umwandeln
Neue Objekte mit Eigenschaften initialisieren
Cmdlets für das Dateisystem finden
Dateien anlegen und Informationen speichern
Größe eines Laufwerks ermitteln
Alle Umgebungsvariablen auflisten
Auf einzelne Umgebungsvariablen zugreifen
Windows-Registrierungsdatenbank
Neue Registry-Schlüssel anlegen
Werte hinzufügen, ändern und löschen
Virtuelle Laufwerke und Provider
Ohne Laufwerksbuchstaben direkt auf Provider zugreifen
Operatoren – Aufbau und Namensgebung
Wie Operatornamen aufgebaut sind
Unterscheidung zwischen Groß- und Kleinschreibung
Unterschiedliche Datentypen vergleichen
Vergleiche auf Arrays anwenden
Pipeline-Verkettungsoperatoren
9Textoperationen und reguläre Ausdrücke
Doppelte Anführungszeichen lösen Variablen auf
Array-Elemente in Text umwandeln
Textstellen finden und extrahieren
Informationen in Texten finden
Reguläre Ausdrücke: Textmustererkennung
Erste Schritte: Textmuster basteln
Eigene reguläre Ausdrücke konzipieren
Sichere Ersetzungen mit -replace
Mehrere Zeichen durch eins ersetzen
Split und Join: eine mächtige Strategie
10Anwendungen und Konsolenbefehle
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
Fragen an Benutzer stellen mit choice.exe
Feststellen, ob ein Prozess läuft
Einstellungen laufender Prozesse ändern
Geeignete Datentypen auswählen
Deutsches Datumsformat mit dem Operator -as
Typen: optimale Informationsbehälter
Statische Methoden eines Typs verwenden
Statische Eigenschaften verwenden
Aktuell geladene Assemblies auflisten
Zusätzliche Assembly nachladen
Objekte funktionieren wie beschriftete Schubladen
Objekteigenschaften erforschen
Ein Credential-Object zur automatischen Anmeldung
Typen (Klassen) selbst herstellen
Neue Objekte eines Typs generieren
Konstruktoren werden nicht geerbt
Philips Hue Smart Home mit Typen steuern
Kontakt zur Philips Hue Bridge herstellen
Lampen und Steckdosen ansprechen
SecureString-Transformationsattribute
Wiederverwertbare PowerShell-Funktion herstellen
14Parameter für Fortgeschrittene
Statische Autovervollständigung
Autovervollständigung über Enumerationsdatentyp
Eigene Enumerationsdatentypen erstellen
Autovervollständigung über ValidateSet
Dynamische Argumentvervollständigung
Zuweisungen mit Validierern überprüfen
Nullwerte und andere Validierer
Parameter in ParameterSets einteilen
Gegenseitig ausschließende Parameter
Parameter in mehreren Parametersätzen
Simulationsmodus (-WhatIf) und Sicherheitsabfrage (-Confirm)
Festlegen, welche Codeteile übersprungen werden sollen
Gefährlichkeit einer Funktion festlegen
Dynamische Parameter selbst definieren
Splatting: Argumente an Parameter binden
Übergebene Parameter als Hashtable empfangen
Mit Splatting Parameter weiterreichen
Pipeline-fähige Funktion erstellen
Where-Object durch eine Funktion ersetzen
Parameter und Pipeline-Kontrakt
ISA-Kontrakt: Pipeline-Eingaben direkt binden
HASA-Kontrakt: Objekteigenschaften lesen
CSV-Dateien direkt an Funktionen übergeben
PowerShellGet – die PowerShell-Softwareverteilung
PowerShellGet – Softwareverteilung per Cmdlets
Unterschiede zwischen Windows PowerShell und PowerShell
Installierte Module untersuchen
Module mit PowerShellGet nachinstallieren
Module finden und installieren
Modul in Repository übertragen
Modul aus privatem Repository installieren
Bestimmen, wie Cmdlets auf Fehler reagieren
Fehler mitprotokollieren lassen
Erfolg eines Befehlsaufrufs prüfen
Lokaler Fehlerhandler: try…catch
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?
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
Parallelverarbeitung mit PSSessions
Unbeaufsichtigte Ausführung und Parallelbearbeitung
19Grafische Oberflächen gestalten