image

image

Zu diesem Buch – sowie zu vielen weiteren O’Reilly-Büchern – können Sie auch das entsprechende E-Book im PDF-Format herunterladen. Werden Sie dazu einfach Mitglied bei oreilly.plus+:

www.oreilly.plus

Thomas Lee

Windows Server 2019 Automatisierung mit PowerShell – Das Kochbuch

Praxisorientierte Rezepte zur Automatisierung und Verwaltung von Administrationsaufgaben

image

Thomas Lee

Übersetzung: Rainer G. Haselier

Lektorat: Sandra Bollenbacher

Copy-Editing: Geesche Kieckbusch, Hamburg

Satz: Gerhard Alfes, mediaService, Siegen, www.mediaservice.tv

Herstellung: Frank Heidt

Umschlaggestaltung: Michael Oréal, www.oreal.de

Bildnachweis: iStockNr. 655105984, Autor: Besjunior

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

ISBN:

Print

978-3-96009-126-4

PDF

978-3-96010-345-5

ePub

978-3-96010-346-2

mobi

978-3-96010-347-9

1. Auflage 2020

Copyright © 2020 dpunkt.verlag GmbH

Wieblinger Weg 17

69123 Heidelberg

Copyright ©Packt Publishing 2019. First published in the English language under the title »Windows Server 2019 Automation with PowerShell Cookbook« – Third Edition – 9781789808537

Hinweis:

Dieses Buch wurde auf PEFC-zertifiziertem Papier aus nachhaltiger Waldwirtschaft gedruckt. Der Umwelt zuliebe verzichten wir zusätzlich auf die Einschweißfolie.

image

Schreiben Sie uns:

Falls Sie Anregungen, Wünsche und Kommentare haben, lassen Sie es uns wissen: kommentar@oreilly.de.

Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten.

Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen. Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen. Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag noch Übersetzer können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen.

5 4 3 2 1 0

Inhaltsverzeichnis

Über den Autor

Danksagungen

Über den Fachlektor der Originalausgabe

Vorwort

Einleitung

In diesem Buch

Was brauchen Sie für dieses Buch?

Für wen ist dieses Buch?

Das Buch optimal nutzen

Konventionen in diesem Buch

Abschnitte und Aufbau der Rezepte

Überschriften der Kapitel und der Rezepte

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

Die Begleitdateien

Support und Feedback

1PowerShell-Umgebung für die Systemverwaltung einrichten

Einführung

Remoteserver-Verwaltungstools auf Windows 10 und Windows Server 2019 installieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Paketverwaltung kennenlernen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

PowerShellGet und den PowerShell-Katalog kennenlernen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

Ein internes PowerShell-Repository erstellen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Eine Umgebung für die Codesignierung einrichten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Just Enough Administration implementieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

2Windows-Netzwerke verwalten

Einführung

Neue Wege, um Altbekanntes zu tun

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

IP-Adressen konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Einen DHCP-Server installieren und autorisieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

DHCP-Bereiche konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Statt statischer IP-Adresse DHCP verwenden

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

DHCP-Failover und Lastenausgleich konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

DNS-Server, Zonen und Ressourceneinträge konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

3Windows Active Directory verwalten

Einführung

Active Directory mit DNS installieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

AD-Benutzer, Gruppen und Computer erstellen und verwalten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Benutzer aus einer CSV-Datei in AD importieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Ein Gruppenrichtlinienobjekt erstellen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

Berichte zu AD-Benutzern

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Inaktive Computer und Benutzer im AD finden

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

4Windows-Speichertechnologien verwalten

Einführung

Physikalische Datenträger und logische Laufwerke verwalten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

NTFS-Berechtigungen verwalten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

Speicherreplikat verwalten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Kontingente für Dateiserver verwalten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Speicherberichte verwenden

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

5Freigegebene Daten verwalten

Einführung

Einen SMB-Dateiserver einrichten und absichern

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

SMB-Freigaben erstellen und absichern

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

Auf Daten auf SMB-Freigaben zugreifen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Ein iSCSI-Ziel erstellen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

Ein iSCSI-Ziel verwenden

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Einen DFS-Namespace konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

DFS-Replikation konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

6Windows Update verwalten

Einführung

Windows Server Update Services installieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

WSUS-Update-Synchronisierung konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Den Windows Update-Client konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Computer-Zielgruppen erstellen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Automatische Genehmigungen für WSUS konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

WSUS-Updates verwalten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

7Windows-Druckumgebung verwalten

Einführung

Drucker installieren und freigeben

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Einen Drucker veröffentlichen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Spoolerverzeichnis ändern

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Druckertreiber ändern

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Eine Testseite drucken

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Druckerberechtigungen verwalten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Einen Druckerpool einrichten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

8Einführung in Container

Einführung

Einen Container-Host konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Eine Hello World-Beispielanwendung bereitstellen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

IIS in einem Container bereitstellen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

Ein Dockerfile verwenden, um einen Container zu erstellen und zu verwenden

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

9Internetinformationsdienste verwalten

Einführung

IIS installieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

IIS für SSL konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

TLS-Verschlüsselungssuites verwalten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

Einen zentralen Zertifikatsspeicher konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

IIS-Bindungen konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

IIS-Protokollierung und Protokolldateien verwalten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

IIS-Anwendungen und Anwendungspools verwalten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

IIS-Protokolldateien analysieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Netzwerklastenausgleich verwalten und überwachen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

10Desired State Configuration verwalten

Einführung

DSC und integrierte Ressourcen verwenden

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

DSC-Konfiguration mit Parametern versehen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

DSC-Ressourcen finden und installieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

DSC mit Ressourcen aus der PowerShell-Gallery nutzen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Den lokalen DSC-Konfigurations-Manager konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Einen DSC-SMB-Pullserver implementieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

Einen DSC-HTTP-Pullserver implementieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

DSC-Teilkonfigurationen verwenden

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

11Hyper-V verwalten

Einführung

Hyper-V installieren und konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

Eine VM erstellen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

PowerShell Direct verwenden

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

VM-Gruppen verwenden

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

VM-Hardware konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Netzwerke in Hyper-V konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Verschachtelte Hyper-V-Virtualisierung implementieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

VM-Status verwalten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

VMs und VM-Datenträger verschieben

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

VM-Replikation konfigurieren

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

VM-Prüfpunkte verwalten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

12Azure verwalten

Einführung

PowerShell mit Azure verwenden

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

Azure-Kernressourcen erstellen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

Erforschen Sie Ihr Speicherkonto

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Erstellen einer SMB-Dateifreigabe in Azure Files

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Eine Azure-Website erstellen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

Eine Azure-VM erstellen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Siehe auch …

13Leistung und Nutzung überwachen

Einführung

Leistungsindikatoren mit Get-Counter abrufen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Leistungsindikatoren mit WMI abrufen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

PLA-Datensammlersätze erstellen und verwenden

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Berichte mit den Leistungsdaten erstellen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Die Leistungsüberwachung als Diagramm darstellen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Den Systemdiagnosebericht erstellen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Bericht zur Druckernutzung

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Hyper-V-Nutzung und Performance überwachen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

14Probleme mit Windows Server lösen

Einführung

Netzwerkkonnektivität überprüfen

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Den Best Practices Analyzer verwenden

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Ereignisprotokolle verwalten

Vorbereitungen

So wird’s gemacht

So funktioniert’s

Weitere Informationen

Index

Über den Autor

Thomas Lee ist Berater/Trainer/Schriftsteller aus England und seit Ende der 1960er Jahre im IT-Geschäft tätig. Nach seinem Abschluss an der Carnegie Mellon University wechselte Thomas zu ComShare, wo er als Systemprogrammierer das Time-Sharing-Betriebssystem Commander II baute, ein Vorläufer des heutigen Cloud-Computing-Paradigmas. Mitte der 1970er Jahre wechselte er zur ICL, um am Betriebssystem VME/K zu arbeiten. Nach einem Sabbatical 1980/81 war er bei der Firma beschäftigt, die heute Accenture heißt. Diese verließ er 1988, um sein eigenes Beratungs- und Schulungsunternehmen zu gründen, das bis heute aktiv ist.

Thomas besitzt zahlreiche Microsoft-Zertifizierungen, darunter MCSE (eine der ersten der Welt) sowie deren Nachfolgeversionen; er ist seit 25 Jahren MCT (Microsoft Certified Trainer) und wurde 17 Mal von Microsoft mit dem MVP Award ausgezeichnet. Er lebt heute mit seiner Familie in einem Cottage auf dem Land in England, besitzt einen gut ausgestatteten Weinkeller sowie eine riesige Sammlung von Live-Aufnahmen der Bands The Grateful Dead und The Jerry Garcia.

Danksagungen

Zunächst möchte ich Jeffrey Snover von Microsoft für die Erfindung von PowerShell danken. Ich hatte das Glück, in dem Raum anwesend zu sein, als er zum ersten Mal das präsentierte, was damals unter dem Codenamen Monad lief und später zu PowerShell wurde. Seine Begeisterung war ansteckend, und 15 Jahre später bin ich immer noch begeistert.

Ein großes Dankeschön gilt dem Team von Packt, dem Verlag der englischen Originalausgabe: Meeta Rajani, Abhishek Jadhav, Mohd Riyan Khan und Danish Shaikh. Ihr habt einen tollen Job gemacht und geholfen, dass dieses Buch fertig wurde, indem ihr euch mit den Problemen beschäftigt habt, die beim Schreiben auftauchten. Danke auch an den exzellenten Fachlektor Alexander Wittig. Eure Kommentare waren immer eine große Hilfe.

Bei der Entwicklung der verschiedenen Rezepte traten manchmal Probleme auf. Ich habe viel Hilfe von der Spiceworks-Community erhalten. Das dortige PowerShell-Forum ist eine großartige Informationsquelle und bietet Unterstützung, wenn man sie braucht. Wenn Sie Probleme mit PowerShell haben, ist dies ein großartiger Ort, um nach einer Lösung zu suchen.

Und schließlich muss ich meiner wunderbaren Frau Susan danken. Sie war geduldig, als die Dinge vorankamen, sie hat meine schlechten Stimmungen hingenommen, als der Fortschritt nicht so war wie gewünscht, und half mir, nicht durchzudrehen, wenn um mich herum der Wahnsinn tobte.

Über den Fachlektor der Originalausgabe

Alex Wittig ist ein aus Deutschland stammender Systemingenieur, der heute in den USA lebt. Er ist Spiceworks Hero Award Gewinner und Moderator bei PowerShell. Er ist Bachelor of Science im Fachgebiet IT Security und besitzt ein gutes halbes Kilo an professionellen IT-Zertifizierungen. Er ist Kaffee-Experte, Katzen-Streichler, Internet-Fanatiker und ein lebenslang Lernender.

Sie finden ihn auf Twitter unter @alexvvittig.

Vorwort

»Nimm mein Geld!«

»Ich kaufe es sofort!«

Ich war verwirrt.

Ein kleiner Saal mit ein paar hundert Leuten, denen ich Monad (was später PowerShell wurde) präsentierte. Ein Typ im hinteren Teil rief: »Nimm mein Geld!« So habe ich Thomas Lee kennengelernt. Nach dem Vortrag kam Thomas auf mich zu und gab mir eine 20-Dollar-Note mit seinem Namen darauf und sagte, dass Monad genau das war, was Windows-Administratoren brauchten, dass es die Welt revolutionieren würde und dass er der Erste sein wollte, der es kauft. Als ich erklärte, dass es ein kostenloses Feature von Windows werden würde, sagte Thomas, dass ihm das egal sei, er wolle trotzdem der Erste sein, der es kauft.

Ich habe zur Sicherheit noch mal nachgesehen und ja, der 20-Dollar-Schein befindet sich immer noch in meinem Portemonnaie. Ich habe ihn in den vergangenen 17 Jahren bei mir behalten, um nicht zu vergessen, was Thomas an diesem Tag so deutlich gesehen hat – PowerShell ist ein äußerst wichtiges Tool für jeden professionellen Windows-Administrator. Ich benutze das Adjektiv »professionell«, weil es wirklich zwei verschiedene Arten von Windows-Administratoren gibt: professionelle und nicht-professionelle. Einer der Gründe, warum Windows so erfolgreich war, ist, dass nicht-professionelle Administratoren es erfolgreich einrichten und für einfache Szenarien einsetzen konnten. Wenn Sie auf die Schaltfläche Weiter klicken können, ist die Wahrscheinlichkeit groß, dass Sie Windows erfolgreich einrichten können. Was Thomas richtig sah, war, dass die Welt der »Klicken Sie auf Weiter«-Administration begrenzt war und dass es einen wachsenden Bedarf an professionellen Administratoren gab, die die spezifischen Bedürfnisse ihres Szenarios verstehen und Windows so nutzen konnten, um diese Anforderungen zu erfüllen. Diese Aufgabe brauchte ein neues Werkzeug. Diese Aufgabe brauchte PowerShell.

Wenn Sie ein professioneller Administrator (oder nur ein leidenschaftlicher Power-User) sind, müssen Sie sich mit PowerShell gut auskennen und wissen, wie die spezifische Version des Betriebssystems, mit dem Sie arbeiten, mit PowerShell verwaltet werden kann. Jede Version von Windows hat neue Funktionen hinzugefügt, die von PowerShell verwaltet werden können. In diesem Buch zeigt Ihnen Thomas, wie Sie Ihre Investition in Windows Server 2019 nutzen können, indem es erläutert, wie Sie es mit PowerShell Windows administrieren und automatisieren können. Automatisierung bedeutet, herauszufinden, wie Sie einen Server verwalten und dann dieses Skript verwenden, um zehn, hunderte oder hunderttausend andere Server zu administrieren. Es bedeutet Konsistenz, Wiederholbarkeit und Produktivität. Es geht um professionelle Administration.

Im Laufe der Jahre haben mir unzählige Administratoren für PowerShell gedankt und mir ihre Erfolgsgeschichten erzählt. Sie wurden in die Lage versetzt, komplizierte Situationen zu retten – Situationen in Unternehmen, die durch »Klicken-Sie-auf-Weiter«-Mitarbeiter nicht zu lösen waren. Sie wurden mit Boni, Gehaltserhöhungen, Beförderungen und neuen Jobs belohnt. Ich habe viele Leute getroffen, die berichteten, dass sich ihre Gehälter verdreifacht hätten, nachdem sie PowerShell gelernt hätten.

PowerShell stattet SIE mit Power aus.

Thomas war der erste, der dies mit absoluter Klarheit verstand. Er war von Anfang an mit im Team und gab uns aktiv Feedback zu dem, was professionelle Administratoren von PowerShell benötigten. Die Ansichten von Thomas über die Windows-Administration finden sich in der PowerShell – so wie sie sich heute darstellt – wieder. Daher gibt es meiner Meinung nach nur wenig andere Leute, die besser geeignet wären, um Ihnen zu helfen und zu verstehen, wie Sie dieses wunderbare Tool verwenden können. Mit PowerShell können Sie Ihre Windows Server 2019 verwalten, Ihrem Unternehmen einen großen Nutzen bieten, und Sie werden hierfür sicherlich belohnt.

Jeffrey Snover

Microsoft Technical Fellow

Einleitung

PowerShell wurde erstmals im Jahre 2003 auf der Professional Developers Conference in Los Angeles von Jeffrey Snover der Welt vorgestellt. PowerShell – mit dem Codenamen Monad – stellte damals eine komplette Revolution im Management dar. Das in dieser Zeit geschriebene Whitepaper The Monad Manifesto (siehe http://www.jsnover.com/blog/2011/10/01/monad-manifesto) enthielt eine wunderbare Analyse des damaligen Problems – nämlich die Verwaltung einer großen Anzahl von Windows-Systemen. Ein wichtiger Punkt ist, dass die GUI nicht skaliert wird, während PowerShell dies tut.

PowerShell hat die Verwaltung komplexer, netzwerkbasierter Windows-Infrastrukturen und zunehmend auch von Nicht-Windows-Infrastrukturen verändert. Kenntnisse über PowerShell zu haben und zu wissen, wie man das meiste aus PowerShell herausholen kann, sind heutzutage für jeden professionellen IT Pro obligatorisch.

Dieses Buch führt Sie in einer Vielzahl von Szenarien durch den Einsatz von PowerShell, wobei viele der zahlreichen Features in Windows Server 2019 behandelt werden. Diese Einleitung bietet eine Einführung in die Inhalte des Buches; außerdem erhalten Sie ein paar Tipps dazu, wie Sie das Beste aus dem Buch herausholen können.

In diesem Buch

Kapitel 1, »PowerShell-Umgebung für die Systemverwaltung einrichten«, befasst sich mit der Konfiguration Ihrer Workstation und damit, wie Sie Ihre Infrastruktur für die Nutzung von PowerShell vorbereiten und wie Sie die Remoteserver-Verwaltungstools installieren.

Kapitel 2, »Windows-Netzwerke verwalten«, zeigt Ihnen, wie Sie Windows-Netzwerke mit PowerShell verwalten. Netzwerke sind heute für fast jede Organisation von zentraler Bedeutung, und in diesem Kapitel werden eine Vielzahl netzwerkbezogener Aufgaben behandelt. Sie lernen neue Verfahren kennen, um Altbekanntes mit PowerShell zu erledigen. Außerdem erfahren Sie, wie Sie DNS, DHCP und Active Directory einrichten.

Kapitel 3, »Windows Active Directory verwalten«, erörtert, wie Active Directory installiert, verwaltet und genutzt werden kann. Hierbei lernen Sie auch die Verwendung von AD-Objekten und von Gruppenrichtlinien kennen.

Kapitel 4, »Windows-Speichertechnologien verwalten«, befasst sich mit dem Thema Datenspeicher in Windows Server 2019.

Kapitel 5, »Freigegebene Daten verwalten«, untersucht verschiedene Möglichkeiten, wie Sie Daten mit Windows Server und PowerShell freigeben können, einschließlich SMB-Freigaben, iSCSI und DFS (Distributed File System).

Kapitel 6, »Windows Update verwalten«, hilft Ihnen, die Verwaltung von Updates über Windows Update zu implementieren, weil es wichtig ist, dass all Ihre Windows-Clients und Server immer mit den aktuellsten Patches versehen sind.

Kapitel 7, »Windows-Druckumgebung verwalten«, zeigt Ihnen, wie Sie Drucker, Druckwarteschlangen und Druckertreiber verwalten, und wie Sie Drucker über Gruppenrichtlinien bereitstellen.

Kapitel 8, »Einführung in Container«, stellt die Docker-Container in Windows Server 2019 vor. Sie werden fertige Container-Images herunterladen und verwenden sowie eigene erstellen.

Kapitel 9, »Internetinformationsdienste verwalten«, zeigt, wie Sie eine Vielzahl von IIS-bezogenen Aufgaben durchführen, einschließlich der Installation und Konfiguration von IIS, der Einrichtung von SSL, der Verwaltung der Verschlüsselungssuites sowie der Konfiguration des Netzwerklastenausgleichs.

Kapitel 10, »Desired State Configuration verwalten«, zeigt, wie Sie diese wichtige Funktion verwenden, um sicherzustellen, dass ein Server ordnungsgemäß eingerichtet ist und dass er auch in Zukunft entsprechend konfiguriert bleibt. Hierbei werden auch die Einrichtung eines Pullservers und das Konfigurieren von Teilkonfigurationen behandelt.

Kapitel 11, »Hyper-V verwalten«, veranschaulicht die Verwendung von Hyper-V. In diesem Kapitel erfahren Sie, wie Sie VMs mit Hyper-V erstellen und bereitstellen. Dazu gehört auch die verschachtelte Virtualisierung, bei der eine Hyper-V-VM innerhalb einer anderen Hyper-V-VM ausgeführt wird, was für eine Reihe von Einsatzszenarien nützlich ist.

Kapitel 12, »Azure verwalten«, befasst sich mit der Verwaltung von IaaS- und PaaS-Ressourcen in Azure mithilfe von PowerShell. Zum Testen der Rezepte in diesem Kapitel benötigen Sie Zugriff auf Azure. In diesem Kapitel wird beschrieben, wie Sie einen virtuellen Computer, eine Azure-Website und eine SMB3-Dateifreigabe einrichten.

Kapitel 13, »Leistung und Nutzung überwachen«, erfahren Sie, wie Sie die Leistung Ihrer Windows 2019-Server messen, überwachen und die Ergebnisse in einem Bericht darstellen. Es gibt mehrere Rezepte, die zeigen, wie Sie bestimmte Leistungsmesswerte erhalten und wie Sie aus diesen Messwerten Diagramme erstellen, die Sie für weitergehende Analysen nutzen können.

Kapitel 14, »Probleme mit Windows Server lösen«, befasst sich mit einer Reihe von Aspekten der reaktiven und proaktiven Fehlerbehebung. Dazu gehören das Abrufen von Ereignissen aus dem Ereignisprotokoll und die Verwendung des Best Practice Analyzer in Windows Server 2019.

Was brauchen Sie für dieses Buch?

Um wirklich alles aus diesem Buch herauszuholen, müssen Sie mit dem Code aus den Rezepten experimentieren. Um Fehler zu vermeiden, die sich auf Live-Server in der Produktivumgebung auswirken, sollten Sie stattdessen entweder Testhardware oder virtuelle Computer verwenden, um ein Testlabor zu erstellen, in dem Fehler keinen ernsthaften Schaden verursachen.

Dieses Buch verwendet eine Vielzahl von Servern sowie einen Windows 10-Client; alle Computer sind Mitglieder der Domäne Reskit.Org. Die Computer in dieser Domäne verwenden den IP-Adressblock, 10.10.10/24, der im Abschnitt »Das Buch optimal nutzen« beschrieben wird.

Sie sollten einen Windows 10- oder Windows Server 2019-Host mit aktivierter Hardware-Virtualisierung sowie eine Virtualisierungslösung verwenden. Wenn Sie Zugriff auf eine Cloud-Computing-Plattform haben, können Sie die meisten Rezepte auf in der Cloud gehosteten virtuellen Maschinen ausführen, obwohl dies nicht von uns getestet wurde. Sie können jede Virtualisierungslösung verwenden.

Das Buch wurde mit Hyper-V sowie verschachtelter Hyper-V-Virtualisierung unter Windows 10 und Windows Server 2019 entwickelt.

Für wen ist dieses Buch?

Dieses Buch richtet sich an IT-Experten, einschließlich Systemadministratoren, Systemingenieuren, Systemarchitekten und Berater, die Windows PowerShell nutzen müssen, um ihre täglichen Aufgaben zu vereinfachen und zu automatisieren.

Das Buch optimal nutzen

Dieses Buch wurde auf der Grundlage einiger Annahmen und im Hinblick auf verschiedene mögliche Einschränkungen geschrieben. Sie sollten diesen Abschnitt lesen, um zu verstehen, wie ich dieses Buch konzipiert habe, wie ich mir seine Verwendung vorstelle und welche Annahmen ich über Sie, den Leser, mache. Dies kann Ihnen dabei helfen, das meiste aus diesem Buch herauszuholen.

Die erste Annahme, die ich beim Schreiben dieses Buches gemacht habe, ist, dass Sie die Grundlagen von PowerShell kennen. Dieses Buch ist kein PowerShell-Tutorial. Die Rezepte verwenden eine breite Palette der PowerShell-Features, einschließlich WMI, Remoting, AD usw., jedoch müssen Sie die Grundlagen von PowerShell kennen. Das Buch verwendet PowerShell, seine Syntax und die Cmdlets auf der Basis von Windows Server 2019 und Windows 10.

Die zweite, damit zusammenhängende Annahme ist, dass Sie ein angemessenes Hintergrundwissen über die Windows-Infrastruktur und die verschiedenen Technologien besitzen, einschließlich Active Directory, Netzwerk und Datenspeicher. Die Rezepte geben einen Überblick über die verschiedenen Technologien und enthalten Links zu weiterführenden Informationen. Außerdem finden Sie zahlreiche Links zu Websites, die ausführliche Informationen zu den Themen in diesem Buch enthalten.

Die Rezepte stellen die Grundlagen dar – Sie können sie übernehmen, anpassen und erweitern. Ziel der Rezepte ist, die Grundlagen der Verwaltung bestimmter Aspekte von Windows Server zu veranschaulichen. In vielen Fällen schlägt ein Rezept vor, wie Sie es für Ihre Umgebung verbessern können. Ein Rezept soll Ihnen zeigen, wie ein bestimmtes Feature funktioniert, damit Sie es für Ihre Umgebung nutzen und erweitern können.

Führen Sie die Rezepte Schritt für Schritt in der PowerShell ISE oder mit Visual Studio Code (VS Code) aus. Eine Ausnahme bilden die Rezepte in Kapitel 8 (Einführung in Container). Das Haupttool, das Sie in diesem Kapitel verwenden, docker.exe, wird in einer GUI (ISE oder VS Code) anders ausgeführt; daher sollten Sie diese Rezepte in der PowerShell-Konsole ausführen.

Ich habe die Rezepte in diesem Buch Schritt für Schritt erstellt und getestet (d. h., nicht das gesamte Rezept als eine einzige Skriptdatei ausgeführt). Wenn Sie das gesamte Rezept in einem einzigen Schritt ausführen, entspricht ein Teil der Bildschirmausgabe möglicherweise nicht dem, was Sie im Buch sehen, was damit zusammenhängt, wie PowerShell Objekte formatiert.

Sobald eines der Rezepte gut funktioniert, versuchen Sie, den Code des Rezepts zu refaktorieren und so Ihre eigenen, wiederverwendbaren Funktionen zu erstellen. In einigen Fällen erstellen wir einfache Funktionen, die als Leitfaden für umfangreichere Skripte dienen können, die Sie erstellen. Sobald Sie über funktionierende und nützliche Funktionen verfügen, integrieren Sie diese in Ihre persönlichen Module oder die Ihrer Organisation und verwenden Sie den Code wieder.

Wie jeder Autor weiß, ist das Schreiben von PowerShell-Skripten, die in einem Buch veröffentlicht werden, sowohl ein Layout- und Produktionsalbtraum. Um die Probleme speziell mit der maximalen Zeichenanzahl pro Zeile und Zeilenumbrüchen zu reduzieren, habe ich vielfältige Methoden verwendet, die sicherstellen, dass die Codezeilen ohne zusätzliche Umbrüche in die Seitenbreite des Buches passen. Viele Rezepte verwenden daher Hashtabellen für die Cmdlet-Parameter, um sicherzustellen, dass jede Zeile jedes Rezepts die maximale Zeichenanzahl nicht überschreitet und dass es keine unbeabsichtigten Zeilenumbrüche gibt. Ich hoffe, es gibt nicht zu viele Probleme mit dem Layout!

Viele der in diesem Buch verwendeten Cmdlets, Befehle und Objektmethoden, erzeugen eine Ausgabe, die möglicherweise nicht so hilfreich oder nützlich ist, insbesondere in einer Produktivumgebung. Einige Cmdlets erzeugen eine Ausgabe, die viele Seiten dieses Buches füllen würde, aber nur wenig Mehrwert bieten. Aus diesem Grunde verwenden viele Rezepte das Cmdlet Out-Null, wodurch die Ausgabe an NULL gesendet und somit gelöscht wird. Fühlen Sie sich frei, dies zu entfernen, wenn Sie irgendwo mehr Details sehen möchten. Außerdem habe ich die Ausgabe in vielen Fällen angepasst, um überflüssigen Leerraum zu vermeiden. Wenn Sie also ein Rezept testen, sehen Sie möglicherweise eine Ausgabe, die etwas anders aufgebaut ist, aber sie sollte die gleichen Informationen enthalten. Denken Sie schließlich daran, dass die spezifische Ausgabe, die Sie sehen, je nach Umgebung und den spezifischen Werten, die Sie in jedem Schritt verwenden, unterschiedlich sein kann.

Beim Schreiben dieses Buches habe ich eine große VM-Farm verwendet, die aus über 20 Windows 2019-Servern und Windows 10-Clients besteht. Mein Hauptentwicklungs-Host war ein gut konfiguriertes Windows 10-System (96 GB RAM, 2 × 6-Kern-Xeon-Prozessoren und schnelle SSDs). Alle in diesem Buch verwendeten Hosts sind eine Kombination aus physischer Hardware (die fast ausschließlich unter Windows 10 und einem großen Satz von VMs ausgeführt wird), wie im Rezept beschrieben.

Als Unterstützung beim Schreiben dieses Buches habe ich eine Reihe von Skripten erstellt, die die Hyper-V-VMs erstellen, die ich für die Entwicklung der Rezepte verwendet habe. Diese Skripte finden Sie unter: https://github.com/doctordns/ReskitBuildScripts. Dort finden Sie auch einige Details zu dem Netzwerk, das die mit diesen Skripten erstellten VMs verwenden, einschließlich Hostnamen und IP-Adressen. Der vollständige Satz von VMs nahm, nachdem ich mit dem Schreiben fertig war, rund 600 GB Speicherplatz ein. Glücklicherweise sind Datenträger heute preiswert!

PowerShell bietet eine hervorragende Funktionsabdeckung – Sie können die meisten Funktionen und Features von Windows Server 2019 mit PowerShell verwalten, aber eben nicht alle. In einigen Fällen können Sie mithilfe von CIM-Cmdlets in die Windows Management Instrumentation (WMI) eintauchen, um zu Objekteigenschaften und Methoden zu gelangen, die nicht durch Cmdlets verfügbar sind. Durch das Aufkommen von CDXML-basierten Cmdlets (Commandlet Definition XML) hat die Anzahl der Netzwerk- und anderer Cmdlets, die auf WMI basieren, zugenommen. Aber selbst dann gibt es noch eine Reihe von Stellen, an denen Sie eine Windows-Konsolenanwendung verwenden oder eine nicht verwaltete DLL aufrufen müssen. Unterm Strich bedeutet dies, dass Sie manchmal ältere Tools verwenden müssen, um bestimmte Aspekte von Windows zu verwalten, z. B. die Ereignisweiterleitung oder die Leistungsprotokollierung. Ich versuche, so etwas zu vermeiden, aber in vielen Fällen zeigt das betreffende Rezept, wie die Konsolenanwendungen in PowerShell verwendet werden.

In vielen Fällen gibt es in Windows Server keine offiziellen von Microsoft erstellten Cmdlets, die Ihnen bei der Verwaltung bestimmter Aspekte Ihrer Infrastruktur helfen könnten. Der PowerShell-Katalog (PS Gallery) sowie die großartigen Add-Ins von Drittanbietern haben dazu geführt, dass Sie eine Fülle von Funktionen finden, herunterladen und installieren können.

Der gesamte Code in diesem Buch wurde getestet; es funktionierte und tat, was es sagt (zumindest während der Schreibphase). Der Produktionsprozess ist komplex, und es ist möglich, dass sich während der Produktionsphase Codefehler einschleichen. Bei einigen der komplexeren Schritte können während der Produktion Fehler auftreten. Wenn ein Schritt für Sie fehlschlägt, wenden Sie sich bitte an den Verlag. Sie können natürlich auch im Spiceworks PowerShell-Forum posten, wenn Sie schnell nach einer Lösung suchen.

Beim Schreiben der Rezepte verwende ich die vollständigen Namen der Cmdlets und keine Aliase, außerdem sind auch die Namen der Parameter vollständig ausgeschrieben. Es werden also keine abgekürzten Parameternamen verwendet und auch auf den Einsatz von Positionsparametern verzichtet. Das macht den Code etwas länger, aber hoffentlich ist er so leichter zu lesen und zu verstehen.

Beim Schreiben dieses Buches habe ich mir vorgenommen, Inhalte zu einer Reihe von Features von Windows Server 2019 zu erstellen. Im Verlauf des Buches haben wir schnell mehrere inhaltliche Grenzen erreicht (und überschritten). Um das Buch zu veröffentlichen, war es notwendig, einige Inhalte zu entfernen, was wir nur sehr widerwillig taten. Fast jedes der Kapitel hätte leicht ein eigenes kleines Buch werden können. Um Jeffrey Snover zu paraphrasieren: To ship is to choose. Ich hoffe, ich habe die richtige Wahl getroffen.

Einige Rezepte in diesem Buch setzen voraus, dass andere Rezepte bereits abgeschlossen wurden. Diese miteinander zusammenhängenden Rezepte funktionierten gut, als wir sie schrieben, und funktionieren hoffentlich auch bei Ihnen.

Es gibt einen feinen, aber wichtigen Unterschied zwischen PowerShell und einem Windows-Feature. Um PowerShell zum Verwalten eines Windows-Features zu verwenden, müssen Sie das Feature selbst verstehen. Die Kapitel beschreiben kurz jedes Feature. Da der Platz begrenzt ist, kann ich nicht zu jedem Feature alle Details beschreiben. Jedoch finden Sie im Buch zahlreiche Links, die helfen, weiterführende Informationen zu finden. Und wie immer sind Bing und Google Ihre besten Freunde.

Konventionen in diesem Buch

Dieses Buch verwendet eine Reihe von typografischen Konventionen.

Schrift mit fester Laufweite wird für Code im Fließtext, für Namen von Datenbanktabellen, Ordnernamen, Dateinamen, Dateierweiterungen, URLs, Benutzereingaben, Namen der Server usw. verwendet. Hier ein Beispiel: »Abschließend rufen Sie die Funktion Get-HelloWorld auf.«

Codeblöcke werden wie folgt dargestellt:

$Sb = {

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools

}

Invoke-Command -ComputerName HV1, HV2 -ScriptBlock $Sb