Windows PowerShell 5 und PowerShell 7 (eBook)
1420 Seiten
Carl Hanser Fachbuchverlag
978-3-446-46081-2 (ISBN)
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.
Inhalt 6
Vorwort 26
Teil A: PowerShell-Basiswissen 36
1 Fakten zur PowerShell 38
1.1 Was ist die PowerShell? 38
1.2 Geschichte der PowerShell 39
1.3 Welche Varianten und Versionen der PowerShell gibt es? 41
1.4 Windows PowerShell versus PowerShell Core versus PowerShell 7.0 42
1.5 Motivation zur PowerShell 43
1.6 Betriebssysteme mit vorinstallierter PowerShell 46
1.7 Einflussfaktoren auf die Entwicklung der PowerShell 47
1.8 Anbindung an Klassenbibliotheken 49
1.9 PowerShell versus WSH 49
2 Erste Schritte mit der PowerShell 52
2.1 Windows PowerShell herunterladen und auf anderen Windows-Betriebssystemen installieren 52
2.2 Die Windows PowerShell testen 56
2.3 Woher kommen die PowerShell-Befehle? 65
2.4 PowerShell Community Extensions (PSCX) herunterladen und installieren 66
2.5 Den Windows PowerShell-Editor „ISE“ verwenden 69
2.6 PowerShell 7 installieren und testen 71
3 Einzelbefehle der PowerShell 80
3.1 Commandlets 80
3.2 Aliase 93
3.3 Ausdrücke 101
3.4 Externe Befehle (klassische Kommandozeilenbefehle) 102
3.5 Dateinamen 104
4 Hilfefunktionen 106
4.1 Auflisten der verfügbaren Befehle 106
4.2 Praxistipp: Den Standort eines Kommandozeilenbefehls suchen 107
4.3 Anzahl der Befehle 108
4.4 Volltextsuche 110
4.5 Erläuterungen zu den Befehlen 111
4.6 Hilfe zu Parametern 112
4.7 Hilfe mit Show-Command 113
4.8 Hilfefenster 115
4.9 Allgemeine Hilfetexte 116
4.10 Aktualisieren der Hilfedateien 117
4.11 Online-Hilfe 119
4.12 Fehlende Hilfetexte 120
4.13 Dokumentation der .NETKlassen 121
5 Objektorientiertes Pipelining 124
5.1 Befehlsübersicht 124
5.2 Pipeline-Operator 125
5.3 .NET-Objekte in der Pipeline 126
5.4 Pipeline Processor 127
5.5 Pipelining von Parametern 129
5.6 Pipelining von klassischen Befehlen 131
5.7 Zeilenumbrüche in Pipelines 133
5.8 Schleifen 134
5.9 Zugriff auf einzelne Objekte aus einer Menge 137
5.10 Zugriff auf einzelne Werte in einem Objekt 138
5.11 Methoden ausführen 140
5.12 Analyse des Pipeline-Inhalts 142
5.13 Filtern 157
5.14 Zusammenfassung von Pipeline-Inhalten 162
5.15 „Kastrierung“ von Objekten in der Pipeline 162
5.16 Sortieren 163
5.17 Duplikate entfernen 164
5.18 Gruppierung 165
5.19 Objekte verbinden mit Join-String 171
5.20 Berechnungen 172
5.21 Zwischenschritte in der Pipeline mit Variablen 173
5.22 Verzweigungen in der Pipeline 174
5.23 Vergleiche zwischen Objekten 176
5.24 Weitere Praxislösungen 177
6 PowerShell-Skripte 180
6.1 Skriptdateien 180
6.2 Start eines Skripts 182
6.3 Aliase für Skripte verwenden 184
6.4 Parameter für Skripte 184
6.5 Skripte dauerhaft einbinden (Dot Sourcing) 186
6.6 Das aktuelle Skriptverzeichnis 186
6.7 Sicherheitsfunktionen für PowerShell-Skripte 187
6.8 Skripte mit vollen Rechten (Elevation) 189
6.9 Blockierte PowerShell-Skripte 190
6.10 PowerShell-Skripte im Kontextmenü des Windows Explorers 191
6.11 Anforderungsdefinitionen von Skripten 193
6.12 Skripte anhalten 193
6.13 Versionierung und Versionsverwaltung von Skripten 193
7 PowerShell-Skriptsprache 196
7.1 Hilfe zur PowerShell-Skriptsprache 196
7.2 Befehlstrennung 197
7.3 Kommentare 197
7.4 Variablen 198
7.5 Variablenbedingungen 211
7.6 Zahlen 212
7.7 Zeichenketten (Strings) 214
7.8 Reguläre Ausdrücke 224
7.9 Datum und Uhrzeit 230
7.10 Objekte 231
7.11 Arrays 232
7.12 ArrayList 235
7.13 Assoziative Arrays (Hash-Tabellen) 236
7.14 Operatoren 237
7.15 Überblick über die Kontrollkonstrukte 241
7.16 Schleifen 242
7.17 Bedingungen 247
7.18 Unterroutinen (Prozedur/Funktionen) 249
7.19 Eingebaute Funktionen 255
7.20 Fehlerausgabe 255
7.21 Fehlerbehandlung 256
7.22 Laufzeitfehler erzeugen 268
7.23 Objektorientiertes Programmieren mit Klassen 268
8 Ausgaben 272
8.1 Ausgabe-Commandlets 272
8.2 Benutzerdefinierte Tabellenformatierung 275
8.3 Benutzerdefinierte Listenausgabe 277
8.4 Mehrspaltige Ausgabe 277
8.5 Out-GridView 278
8.6 Standardausgabe 280
8.7 Einschränkung der Ausgabe 283
8.8 Seitenweise Ausgabe 283
8.9 Ausgabe einzelner Werte 284
8.10 Details zum Ausgabeoperator 287
8.11 Ausgabe von Methodenergebnissen und Unterobjekten in Pipelines 290
8.12 Ausgabe von Methodenergebnissen und Unterobjekten in Zeichenketten 290
8.13 Unterdrückung der Ausgabe 291
8.14 Ausgaben an Drucker 292
8.15 Ausgaben in Dateien 292
8.16 Umleitungen (Redirection) 293
8.17 Fortschrittsanzeige 293
8.18 Sprachausgabe 294
9 Das PowerShell-Navigationsmodell (PowerShell Provider) 296
9.1 Einführungsbeispiel: Navigation in der Registrierungsdatenbank 296
9.2 Provider und Laufwerke 297
9.3 Navigationsbefehle 300
9.4 Pfadangaben 300
9.5 Beispiel 302
9.6 Eigene Laufwerke definieren 303
10 Fernausführung (Remoting) 304
10.1 RPC-Fernabfrage ohne WS-Management 305
10.2 Anforderungen an PowerShell Remoting 306
10.3 Rechte für PowerShell-Remoting 307
10.4 Einrichten von PowerShell Remoting 308
10.5 Überblick über die Fernausführungs-Commandlets 310
10.6 Interaktive Fernverbindungen im Telnet-Stil 311
10.7 Fernausführung von Befehlen 312
10.8 Parameterübergabe an die Fernausführung 316
10.9 Fernausführung von Skripten 317
10.10 Ausführung auf mehreren Computern 318
10.11 Sitzungen 319
10.12 Implizites Remoting 324
10.13 Zugriff auf entfernte Computer außerhalb der eigenen Domäne 325
10.14 Verwaltung des WS-Management-Dienstes 329
10.15 PowerShell Direct für Hyper-V 330
10.16 Praxislösung zu PowerShell Direct 332
11 PowerShell-Werkzeuge 336
11.1 PowerShell-Standardkonsole 336
11.2 Windows Terminal 346
11.3 PowerShell Integrated Scripting Environment (ISE) 348
11.4 PowerShell Script Analyzer 360
11.5 PowerShell Analyzer 365
11.6 PowerShell Tools for Visual Studio 366
11.7 PowerShell Pro Tools for Visual Studio 368
11.8 NuGet Package Manager 368
11.9 Visual Studio Code mit PowerShell-Erweiterung 369
11.10 PowerShell-Erweiterungen für andere Editoren 372
11.11 PowerShell Web Access (PSWA) 372
11.12 Azure Cloud Shell 378
11.13 ISE Steroids 378
11.14 PowerShellPlus 379
11.15 PoshConsole 382
11.16 PowerGUI 383
11.17 PrimalScript 384
11.18 PowerShell Help 386
11.19 CIM Explorer for PowerShell ISE 386
11.20 PowerShell Help Reader 387
11.21 PowerShell Remoting 388
12 Windows PowerShell Core 5.1 in Windows Nano Server 390
12.1 Installation 390
12.2 PowerShell-Skriptsprache 390
12.3 Werkzeuge 391
12.4 Fehlende Funktionen 391
13 PowerShell 7 für Windows, Linux und macOS 392
13.1 Motivation für den Einsatz der PowerShell 7 auf Linux und macOS 392
13.2 Basis der PowerShell 7 393
13.3 Identifizierung der PowerShell 7 394
13.4 Funktionsumfang der PowerShell 7 394
13.5 Entfallene Befehle in PowerShell 7 397
13.6 Erweiterungsmodule nutzen in PowerShell 7 402
13.7 Geänderte Funktionen in PowerShell 7 407
13.8 Neue Funktionen der PowerShell 7 409
13.9 PowerShell 7-Konsole 413
13.10 VSCode-PowerShell als Editor für PowerShell 7 413
13.11 Verwendung von PowerShell 7 auf Linux und macOS 418
13.12 PowerShell-Remoting via SSH 424
13.13 Dokumentation zur PowerShell 7 428
13.14 Quellcode zur PowerShell 7 429
Teil B: PowerShell-Aufbauwissen 432
14 Verwendung von .NET-Klassen 434
14.1 .NET versus .NET Core 434
14.2 Ermitteln der verwendeten .NET-Version 435
14.3 .NET-Bibliotheken 436
14.4 Microsoft Developer Network (MSDN) 438
14.5 Überblick über die Verwendung von .NET-Klassen 439
14.6 Erzeugen von Instanzen 439
14.7 Parameterbehaftete Konstruktoren 441
14.8 Initialisierung von Objekten 443
14.9 Nutzung von Attributen und Methoden 443
14.10 Statische Mitglieder in .NET-Klassen und statische .NET-Klassen 445
14.11 Generische Klassen nutzen 449
14.12 Zugriff auf bestehende Objekte 450
14.13 Laden von Assemblies 450
14.14 Liste der geladen Assemblies 453
14.15 Verwenden von Nuget-Assemblies 454
14.16 Objektanalyse 456
14.17 Aufzählungstypen (Auflistungen/Enumerationen) 457
15 Verwendung von COM-Klassen 462
15.1 Unterschiede zwischen COM und .NET 462
15.2 Erzeugen von COM-Instanzen 463
15.3 Abruf der Metadaten 463
15.4 Nutzung von Attributen und Methoden 464
15.5 Liste aller COM-Klassen 465
15.6 Holen bestehender COM-Instanzen 466
15.7 Distributed COM (DCOM) 466
16 Zugriff auf die Windows Management Instrumentation (WMI) 468
16.1 Einführung in WMI 468
16.2 WMI in der PowerShell 494
16.3 Open Management Infrastructure (OMI) 496
16.4 Abruf von WMI-Objektmengen 496
16.5 Fernzugriffe 497
16.6 Filtern und Abfragen 498
16.7 Liste aller WMI-Klassen 501
16.8 Hintergrundwissen: WMI-Klassenprojektion mit dem PowerShell-WMI-Objektadapter 502
16.9 Beschränkung der Ausgabeliste bei WMI-Objekten 506
16.10 Zugriff auf einzelne Mitglieder von WMI-Klassen 507
16.11 Werte setzen in WMI-Objekten 508
16.12 Umgang mit WMI-Datumsangaben 510
16.13 Methodenaufrufe 511
16.14 Neue WMI-Instanzen erzeugen 512
16.15 Instanzen entfernen 513
16.16 Commandlet Definition XML-Datei (CDXML) 514
17 Dynamische Objekte 518
17.1 Erweitern bestehender Objekte 518
17.2 Komplett dynamische Objekte 520
18 Einbinden von C# und Visual Basic .NET 522
19 Win32-API-Aufrufe 524
20 Benutzereingaben 528
20.1 Read-Host 528
20.2 Benutzerauswahl 529
20.3 Grafischer Eingabedialog 530
20.4 Dialogfenster 531
20.5 Authentifizierungsdialog 531
20.6 Zwischenablage (Clipboard) 533
21 Fehlersuche 534
21.1 Detailinformationen 534
21.2 Einzelschrittmodus 535
21.3 Zeitmessung 536
21.4 Ablaufverfolgung (Tracing) 537
21.5 Erweiterte Protokollierung aktivieren 538
21.6 Script-Debugging in der ISE 540
21.7 Kommandozeilenbasiertes Script-Debugging 540
22 Transaktionen 542
22.1 Commandlets für Transaktionen 542
22.2 Start und Ende einer Transaktion 543
22.3 Zurücksetzen der Transaktion 544
22.4 Mehrere Transaktionen 545
23 Standardeinstellungen ändern mit Profilskripten 546
23.1 Profilpfade 546
23.2 Ausführungsreihenfolge 548
23.3 Beispiel für eine Profildatei 548
23.4 Starten der PowerShell ohne Profilskripte 549
24 Digitale Signaturen für PowerShell-Skripte 550
24.1 Zertifikat erstellen 550
24.2 Skripte signieren 552
24.3 Verwenden signierter Skripte 554
24.4 Mögliche Fehlerquellen 554
25 Hintergrundaufträge („Jobs“) 556
25.1 Voraussetzungen 556
25.2 Architektur 556
25.3 Starten eines Hintergrundauftrags 557
25.4 Hintergrundaufträge abfragen 558
25.5 Warten auf einen Hintergrundauftrag 559
25.6 Abbrechen und Löschen von Aufträgen 559
25.7 Analyse von Fehlermeldungen 559
25.8 Fernausführung von Hintergrundaufträgen 560
25.9 Praxislösung: Einen Job auf mehreren Computern starten 560
26 Geplante Aufgaben und zeitgesteuerte Jobs 562
26.1 Geplante Aufgaben (Scheduled Tasks) 562
26.2 Zeitgesteuerte Jobs 566
27 PowerShell-Workflows 572
27.1 Ein erstes Beispiel 572
27.2 Unterschiede zu einer Function bzw. einem Skript 577
27.3 Einschränkungen bei Workflows 577
27.4 Workflows in der Praxis 579
27.5 Workflows in Visual Studio erstellen 586
28 Ereignissystem 604
28.1 WMI-Ereignisse 604
28.2 WMI-Ereignisabfragen 604
28.3 WMI-Ereignisse seit PowerShell 1.0 606
28.4 Registrieren von WMI-Ereignisquellen seit PowerShell 2.0 607
28.5 Auslesen der Ereignisliste 608
28.6 Reagieren auf Ereignisse 610
28.7 WMI-Ereignisse ab PowerShell- Version 3.0 612
28.8 Registrieren von .NET-Ereignissen 612
28.9 Erzeugen von Ereignissen 613
29 Datenbereiche und Datendateien 616
29.1 Datenbereiche 616
29.2 Datendateien 618
29.3 Mehrsprachigkeit/Lokalisierung 619
30 Desired State Configuration (DSC) 622
30.1 Grundprinzipien 623
30.2 DSC für Linux 623
30.3 Ressourcen 624
30.4 Verfügbare DSC-Ressourcen 624
30.5 Eigenschaften einer Ressource 627
30.6 Aufbau eines DSC-Dokuments 627
30.7 Commandlets für die Arbeit mit DSC 628
30.8 Ein erstes DSC-Beispiel 628
30.9 Kompilieren und Anwendung eines DSC-Dokuments 629
30.10 Variablen in DSC-Dateien 631
30.11 Parameter für DSC-Dateien 632
30.12 Konfigurationsdaten 633
30.13 Entfernen einer DSC-Konfiguration 636
30.14 DSC Pull Server 639
30.15 DSC-Praxislösung 1: IIS installieren 646
30.16 DSC-Praxislösung 2: Software installieren 648
30.17 DSC-Praxislösung 3: Software deinstallieren 650
30.18 Realisierung einer DSC-Ressource 651
30.19 Weitere Möglichkeiten 651
31 PowerShell-Snap-Ins 652
31.1 Einbinden von Snap-Ins 652
31.2 Liste der Commandlets 656
32 PowerShell-Module 658
32.1 Überblick über die Commandlets 658
32.2 Modularchitektur 659
32.3 Aufbau eines Moduls 660
32.4 Module aus dem Netz herunterladen und installieren mit PowerShellGet 661
32.5 Module manuell installieren 667
32.6 Doppeldeutige Namen 668
32.7 Auflisten der verfügbaren Module 669
32.8 Importieren von Modulen 670
32.9 Entfernen von Modulen 673
33 Ausgewählte PowerShell-Erweiterungen 674
33.1 PowerShell-Module in Windows 8.0 und Windows Server 2012 675
33.2 PowerShell-Module in Windows 8.1 und Windows Server 2012 R2 677
33.3 PowerShell-Module in Windows 10 und Windows Server 2019 679
33.4 PowerShell Community Extensions (PSCX) 683
33.5 PowerShellPack 687
33.6 www.IT-Visions.de: PowerShell Extensions 689
33.7 Quest Management Shell for Active Directory 689
33.8 Microsoft Exchange Server 691
33.9 System Center Virtual Machine Manager 692
33.10 PowerShell Management Library for Hyper-V (pshyperv) 692
33.11 Powershell Outlook Account Manager 693
33.12 PowerShell Configurator (PSConfig) 694
33.13 Weitere Erweiterungen 695
34 Delegierte Administration/Just Enough Administration (JEA) 696
34.1 JEA-Konzept 696
34.2 PowerShell-Sitzungskonfiguration erstellen 696
34.3 Sitzungskonfiguration nutzen 699
34.4 Delegierte Administration per Webseite 701
35 Unit Tests mit Pester 702
35.1 Einführung in das Konzept des Unit Testing 702
35.2 Pester installieren 703
35.3 Befehle in Pester 703
35.4 Testen einer PowerShell-Funktion 704
35.5 Testgenerierung 705
35.6 Tests starten 706
35.7 Prüf-Operationen 707
35.8 Mock-Objekte 707
35.9 Test von Dateisystemoperationen 708
36 Tipps und Tricks zur PowerShell 712
36.1 Alle Anzeigen löschen 712
36.2 Befehlsgeschichte 712
36.3 System- und Hostinformationen 713
36.4 Anpassen der Eingabeaufforderung (Prompt) 714
36.5 PowerShell-Befehle aus anderen Anwendungen heraus starten 715
36.6 ISE erweitern 716
36.7 PowerShell für Gruppenrichtlinienskripte 717
36.8 Einblicke in die Interna der Pipeline-Verarbeitung 720
Teil C: PowerShell im Praxiseinsatz 722
37 Dateisystem 724
37.1 Laufwerke 725
37.2 Ordnerinhalte 730
37.3 Dateieigenschaften verändern 734
37.4 Eigenschaften ausführbarer Dateien 735
37.5 Kurznamen 737
37.6 Lange Pfade 737
37.7 Dateisystemoperationen 738
37.8 Praxislösungen: Dateien umorganisieren 738
37.9 Praxislösung: Zufällige Dateisystemstruktur erzeugen 740
37.10 Praxislösung: Leere Ordner löschen 741
37.11 Einsatz von Robocopy 742
37.12 Dateisystemkataloge 745
37.13 Papierkorb leeren 746
37.14 Dateieigenschaften lesen 746
37.15 Praxislösung: Fotos nach Aufnahmedatum sortieren 747
37.16 Datei-Hash 748
37.17 Finden von Duplikaten 749
37.18 Verknüpfungen im Dateisystem 751
37.19 Komprimierung 756
37.20 Dateisystemfreigaben 759
37.21 Überwachung des Dateisystems 770
37.22 Dateiversionsverlauf 771
37.23 Windows Explorer öffnen 772
37.24 Windows Server Backup 772
38 Festplattenverschlüsselung mit BitLocker 774
38.1 Übersicht über das BitLocker-Modul 775
38.2 Verschlüsseln eines Laufwerks 776
39 Dokumente 778
39.1 Textdateien 778
39.2 CSV-Dateien 780
39.3 Analysieren von Textdateien 783
39.4 INI-Dateien 786
39.5 XML-Dateien 786
39.6 HTML- und Markdown-Dateien 796
39.7 JSON-Dateien 799
39.8 Binärdateien 809
39.9 Grafikdateien 810
40 Microsoft Office 812
40.1 Allgemeine Informationen zur Office-Automatisierung per PowerShell 812
40.2 Praxislösung: Terminserien aus Textdateien anlegen in Outlook 813
40.3 Praxislösung: Outlook-Termine anhand von Suchkriterien löschen 815
40.4 Praxislösung: Grafiken aus einem Word-Dokument (DOCX) extrahieren 816
41 Datenbanken 820
41.1 ADO.NET-Grundlagen 820
41.2 Beispieldatenbank 826
41.3 Datenzugriff mit den Bordmitteln der PowerShell 827
41.4 Hilfsfroutinen für den Datenbankzugriff (DBUtil.ps1) 839
41.5 Datenzugriff mit den PowerShell-Erweiterungen 842
41.6 Datenbankzugriff mit SQLPS 846
41.7 Datenbankzugriff mit SQLPSX 846
42 Microsoft-SQL-Server-Administration 848
42.1 PowerShell-Integration im SQL Server Management Studio 849
42.2 SQL-Server-Laufwerk „SQLSERVER:“ 850
42.3 Die SQLPS-Commandlets 853
42.4 Die SQL Server Management Objects (SMO) 855
42.5 SQLPSX 858
42.6 Microsoft-SQL-Server-Administration mit der PowerShell in der Praxis 866
43 ODBC-Datenquellen 872
43.1 ODBC-Treiber und -Datenquellen auflisten 873
43.2 Anlegen einer ODBC-Datenquelle 874
43.3 Zugriff auf eine ODBC-Datenquelle 875
44 Registrierungsdatenbank (Registry) 878
44.1 Schlüssel auslesen 878
44.2 Schlüssel anlegen und löschen 879
44.3 Laufwerke definieren 879
44.4 Werte anlegen und löschen 880
44.5 Werte auslesen 881
44.6 Praxislösung: Windows-Explorer-Einstellungen 881
44.7 Praxislösung: Massenanlegen von Registry-Schlüsseln 882
45 Computer- und Betriebssystemverwaltung 884
45.1 Computerinformationen 884
45.2 Versionsnummer des Betriebssystems 886
45.3 Zeitdauer seit dem letzten Start des Betriebssystems 886
45.4 BIOS- und Startinformationen 887
45.5 Windows-Produktaktivierung 888
45.6 Umgebungsvariablen 888
45.7 Schriftarten 891
45.8 Computername und Domäne 892
45.9 Herunterfahren und Neustarten 892
45.10 Windows Updates installieren 893
45.11 Wiederherstellungspunkte verwalten 897
46 Windows Defender 898
47 Hardwareverwaltung 900
47.1 Hardwarebausteine 900
47.2 Plug-and-Play-Geräte 902
47.3 Druckerverwaltung (ältere Betriebssysteme) 902
47.4 Druckerverwaltung (seit Windows 8 und Windows Server 2012) 904
48 Softwareverwaltung 906
48.1 Softwareinventarisierung 906
48.2 Installation von Anwendungen 910
48.3 Deinstallation von Anwendungen 910
48.4 Praxislösung: Installationstest 911
48.5 Praxislösung: Installierte .NET Core SDKs aufräumen 912
48.6 Windows 10 Apps verwalten 918
48.7 Installationen mit PowerShell Package Management („OneGet“) 920
48.8 Versionsnummer ermitteln 923
48.9 Servermanager 925
48.10 Windows-Features installieren auf Windows-Clientbetriebssystemen 935
48.11 Praxislösung: IIS-Installation 938
48.12 Softwareeinschränkungen mit dem PowerShell-Modul „AppLocker“ 940
49 Prozessverwaltung 946
49.1 Prozesse auflisten 946
49.2 Prozesse starten 947
49.3 Prozesse mit vollen Administratorrechten starten 948
49.4 Prozesse unter einem anderen Benutzerkonto starten 949
49.5 Prozesse beenden 950
49.6 Warten auf das Beenden einer Anwendung 951
50 Windows-Systemdienste 952
50.1 Dienste auflisten 952
50.2 Dienstzustand ändern 955
50.3 Diensteigenschaften ändern 955
50.4 Dienste hinzufügen 956
50.5 Dienste entfernen 957
51 Netzwerk 958
51.1 Netzwerkkonfiguration 958
51.2 DNS-Client-Konfiguration 963
51.3 DNS-Namensauflösung 967
51.4 Erreichbarkeit prüfen (Ping) 968
51.5 Windows Firewall 969
51.6 Remote Desktop (RDP) einrichten 976
51.7 E-Mails senden (SMTP) 977
51.8 Auseinandernehmen von E-Mail-Adressen 978
51.9 Abruf von Daten von einem HTTP-Server 978
51.10 Praxislösung: Linkprüfer für eine Website 984
51.11 Aufrufe von SOAP-Webdiensten 988
51.12 Aufruf von REST-Diensten 990
51.13 Aufrufe von OData-Diensten 992
51.14 Hintergrunddatentransfer mit BITS 993
52 Ereignisprotokolle (Event Log) 998
52.1 Protokolleinträge auslesen 998
52.2 Ereignisprotokolle erzeugen 1000
52.3 Protokolleinträge erzeugen 1000
52.4 Protokollgröße festlegen 1000
52.5 Protokolleinträge löschen 1000
53 Leistungsdaten (Performance Counter) 1002
53.1 Zugriff auf Leistungsindikatoren über WMI 1002
53.2 Get-Counter 1003
54 Sicherheitseinstellungen 1006
54.1 Aktueller Benutzer 1006
54.2 Grundlagen 1007
54.3 Zugriffsrechtelisten auslesen 1012
54.4 Einzelne Rechteeinträge auslesen 1013
54.5 Besitzer auslesen 1015
54.6 Benutzer und SID 1015
54.7 Hinzufügen eines Rechteeintrags zu einer Zugriffsrechteliste 1018
54.8 Entfernen eines Rechteeintrags aus einer Zugriffsrechteliste 1020
54.9 Zugriffsrechteliste übertragen 1022
54.10 Zugriffsrechteliste über SDDL setzen 1022
54.11 Zertifikate verwalten 1023
55 Optimierungen und Problemlösungen 1026
55.1 PowerShell-Modul „TroubleshootingPack“ 1026
55.2 PowerShell-Modul „Best Practices“ 1030
56 Active Directory 1032
56.1 Benutzer- und Gruppenverwaltung mit WMI 1033
56.2 Einführung in System.Directory Services 1034
56.3 Basiseigenschaften 1045
56.4 Benutzer- und Gruppenverwaltung im Active Directory 1047
56.5 Verwaltung der Organisationseinheiten 1055
56.6 Suche im Active Directory 1056
56.7 Navigation im Active Directory mit den PowerShell Extensions 1063
56.8 Verwendung der Active-Directory-Erweiterungen von www.IT-Visions.de 1064
56.9 PowerShell-Modul „Active Directory“ (ADPowerShell) 1066
56.10 PowerShell-Modul „ADDSDeployment“ 1095
56.11 Informationen über die Active Directory-Struktur 1098
57 Gruppenrichtlinien 1102
57.1 Verwaltung der Gruppenrichtlinien 1103
57.2 Verknüpfung der Gruppenrichtlinien 1104
57.3 Gruppenrichtlinienberichte 1106
57.4 Gruppenrichtlinienvererbung 1108
57.5 Weitere Möglichkeiten 1109
58 Lokale Benutzer und Gruppen 1110
58.1 Modul „Microsoft.PowerShell. LocalAccounts“ 1110
58.2 Lokale Benutzerverwaltung in älteren PowerShell-Versionen 1112
59 Microsoft Exchange Server 1114
59.1 Daten abrufen 1114
59.2 Postfächer verwalten 1115
59.3 Öffentliche Ordner verwalten 1116
60 Internet Information Services (IIS) 1118
60.1 Überblick 1118
60.2 Navigationsprovider 1120
60.3 Anlegen von Websites 1122
60.4 Praxislösung: Massenanlegen von Websites 1123
60.5 Ändern von Website-Eigenschaften 1126
60.6 Anwendungspool anlegen 1126
60.7 Virtuelle Verzeichnisse und IIS-Anwendungen 1127
60.8 Website-Zustand ändern 1128
60.9 Anwendungspools starten und stoppen 1128
60.10 Löschen von Websites 1129
61 Virtuelle Systeme mit Hyper-V 1130
61.1 Das Hyper-V-Modul von Microsoft 1131
61.2 Die ersten Schritte mit dem Hyper-V-Modul 1133
61.3 Virtuelle Maschinen anlegen 1137
61.4 Umgang mit virtuellen Festplatten 1143
61.5 Konfiguration virtueller Maschinen 1146
61.6 Dateien kopieren in virtuelle Systeme 1150
61.7 PowerShell Management Library for Hyper-V (für ältere Betriebssysteme) 1151
62 Windows Nano Server 1154
62.1 Das Konzept von Nano Server 1154
62.2 Einschränkungen von Nano Server 1156
62.3 Varianten des Nano Servers 1158
62.4 Installation eines Nano Servers 1158
62.5 Docker-Image 1159
62.6 Fernverwaltung mit PowerShell 1160
62.7 Windows Update auf einem Nano Server 1162
62.8 Nachträgliche Paketinstallation 1162
62.9 Abgespeckter IIS unter Nano Server 1164
62.10 Nano-Serververwaltung aus der Cloud heraus 1165
63 Docker-Container 1166
63.1 Docker-Varianten für Windows 1167
63.2 Docker-Installation auf Windows 10 1168
63.3 Docker-Installation auf Windows Server 1170
63.4 Installation von „Docker for Windows“ 1171
63.5 Docker-Registries 1173
63.6 Docker-Images laden 1173
63.7 Container starten 1173
63.8 Container-Identifikation 1175
63.9 Container mit Visual Studio 1176
63.10 Befehle in einem Container ausführen 1178
63.11 Ressourcenbeschränkungen für Container 1181
63.12 Dateien zwischen Container und Host kopieren 1181
63.13 Dockerfile 1181
63.14 Docker-Netzwerke 1182
63.15 Container anlegen, ohne sie zu starten 1183
63.16 Container starten und stoppen 1183
63.17 Container beenden und löschen 1183
63.18 Images löschen 1184
63.19 Images aus Containern erstellen 1184
63.20 .NET Core-Container 1185
63.21 Images verbreiten 1187
63.22 Azure Container Service (ACS) 1189
64 Microsoft Azure 1190
64.1 Azure Konzepte 1190
64.2 Kommandozeilenwerkzeuge für die Azure-Verwaltung 1191
64.3 Benutzeranmeldung und Informationsabfrage 1195
64.4 Azure Ressourcen-Gruppen 1196
64.5 Azure Web Apps 1196
64.6 Azure SQL Server 1198
64.7 Azure Kubernetes Services (AKS) 1199
64.8 Azure DevOps 1223
65 Grafische Benutzeroberflächen (GUI) 1238
65.1 Einfache Nachfragedialoge 1238
65.2 Einfache Eingabe mit Inputbox 1240
65.3 Komplexere Eingabemasken 1240
65.4 Universelle Objektdarstellung 1242
65.5 WPF PowerShell Kit (WPK) 1244
65.6 Direkte Verwendung von WPF 1252
Teil D: Profiwissen – Erweitern der PowerShell 1254
66 Entwicklung von Commandlets in der PowerShell-Skriptsprache 1256
66.1 Aufbau eines skriptbasierten Commandlets 1256
66.2 Verwendung per Dot Sourcing 1258
66.3 Parameterfestlegung 1259
66.4 Fortgeschrittene Funktion (Advanced Function) 1265
66.5 Mehrere Parameter und Parametersätze 1269
66.6 Unterstützung für Sicherheitsabfragen (-whatif und -confirm) 1271
66.7 Kaufmännisches Beispiel: Test-CustomerID 1272
66.8 Erweitern bestehender Commandlets durch Proxy-Commandlets 1276
66.9 Dokumentation 1281
67 Entwicklung eigener Commandlets mit C# 1284
67.1 Technische Voraussetzungen 1285
67.2 Grundkonzept der .NET-basierten Commandlets 1286
67.3 Schrittweise Erstellung eines minimalen Commandlets 1288
67.4 Erstellung eines Commandlets mit einem Rückgabeobjekt 1297
67.5 Erstellung eines Commandlets mit mehreren Rückgabeobjekten 1298
67.6 Erstellen eines Commandlets mit Parametern 1303
67.7 Verarbeiten von Pipeline-Eingaben 1305
67.8 Verkettung von Commandlets 1308
67.9 Fehlersuche in Commandlets 1312
67.10 Statusinformationen 1315
67.11 Unterstützung für Sicherheitsabfragen (-whatif und -confirm) 1320
67.12 Festlegung der Hilfeinformationen 1322
67.13 Erstellung von Commandlets für den Zugriff auf eine Geschäftsanwendung 1327
67.14 Konventionen für Commandlets 1328
67.15 Weitere Möglichkeiten 1330
68 PowerShell-Module erstellen 1332
68.1 Erstellen eines Skriptmoduls 1332
68.2 Praxislösung: Umwandlung einer Skriptdatei in ein Modul 1334
68.3 Erstellen eines Moduls mit Binärdateien 1334
68.4 Erstellen eines Moduls mit Manifest 1335
68.5 Erstellung eines Manifest-Moduls mit Visual Studio 1342
69 Hosting der PowerShell 1344
69.1 Voraussetzungen für das Hosting 1345
69.2 Hosting mit PSHost 1346
69.3 Vereinfachtes Hosting seit PowerShell 2.0 1349
Anhang A: Crashkurs Objektorientierung 1352
Anhang B: Crashkurs .NET 1360
B.1 Was ist das .NET Framework? 1362
B.2 Was ist .NET Core? 1363
B.3 Eigenschaften von .NET 1364
B.4 .NET-Klassen 1365
B.5 Namensgebung von .NET-Klassen (Namensräume) 1365
B.6 Namensräume und Softwarekomponenten 1367
B.7 Bestandteile einer .NET-Klasse 1368
B.8 Vererbung 1369
B.9 Schnittstellen 1369
Anhang C: Literatur 1370
Anhang D: Weitere Informationen im Internet 1374
Anhang E: Abkürzungsverzeichnis 1376
Stichwortverzeichnis 1402
Erscheint lt. Verlag | 11.5.2020 |
---|---|
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik ► Betriebssysteme / Server |
Schlagworte | Administration • Kommandozeile • Linux • MacOS • .NET • PowerShell 5 • PowerShell Core 6 • Scripting • WINDOWS • Windows Administration • Windows Server |
ISBN-10 | 3-446-46081-0 / 3446460810 |
ISBN-13 | 978-3-446-46081-2 / 9783446460812 |
Haben Sie eine Frage zum Produkt? |
Größe: 63,3 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
Größe: 315,5 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich