Suchen und Finden

Titel

Autor

Inhaltsverzeichnis

Nur ebooks mit Firmenlizenz anzeigen:

 

Windows PowerShell 5 und PowerShell 7 - Das Praxisbuch

Windows PowerShell 5 und PowerShell 7 - Das Praxisbuch

Holger Schwichtenberg

 

Verlag Carl Hanser Fachbuchverlag, 2020

ISBN 9783446460812 , 1420 Seiten

4. Auflage

Format PDF, ePUB, OL

Kopierschutz Wasserzeichen

Geräte

49,99 EUR

Für Firmen: Nutzung über Internet und Intranet (ab 2 Exemplaren) freigegeben

Derzeit können über den Shop maximal 500 Exemplare bestellt werden. Benötigen Sie mehr Exemplare, nehmen Sie bitte Kontakt mit uns auf.

Mehr zum Inhalt

Windows PowerShell 5 und PowerShell 7 - Das Praxisbuch


 

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