Sie sind hier
E-Book

Windows Server-Administration mit PowerShell 5.1

Eine kompakte und praxisorientierte Einführung

AutorPeter Monadjemi
VerlagSpringer Vieweg
Erscheinungsjahr2017
Seitenanzahl368 Seiten
ISBN9783658176662
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis39,99 EUR
Das Praxisbuch stellt die Windows PowerShell in der aktuellsten Version als vielseitiges Werkzeug für die Administration von Windows Server 2008 R2/2012/2012 R2 und Windows Server 2016 vor. Es richtet sich an Administratoren, die sich bereits mit der PowerShell auskennen und ihr Wissen an aktuellen Themen vertiefen wollen. Es beschreibt zunächst die Kernkonzepte der PowerShell wie Typen, Objekte, stellt die mit der Version 5.0 dazu gekommenen Klassen vor, und gibt einen Überblick über Advanced Functions und Module. Danach werden fortgeschrittenere Themen wie Debuggen, die Umwandlung von Texten in Objekte und das Testen von Skripten mit Pester vorgestellt. 
Ein weiterer Schwerpunkt ist das Thema DevOps, das bei der PowerShell zum einen über die Desired State Configuration (DSC) adressiert wird, zum anderen über moderne Bereitstellungsmechanismen von Modulen und Ressourcen im Rahmen einer Release-Pipeline. Anwendungsorientierte Themen wie die Administration eines Active Directory, Azure-Dienste, Empfehlungen für gute Skripte und ein wenig Spaß, der beim Arbeiten mit der PowerShell, wie bei jeder Shell auch, dazu gehören sollte, runden das Buch ab.

Peter Monadjemi ist ein erfahrener IT-Trainer und Entwickler, der die PowerShell seit der ersten Version kennt und intensiv nutzt. Seine Schwerpunkte sind das Automatisieren administrativer Abläufe und die Software-Entwicklung mit .NET und .NET Core.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Windows Server-Administration mit PowerShell 5.14
Eine kompakte und praxisorientierte Einführung4
Impressum5
Vorwort6
Open Source und PowerShell „on every System“7
Was lesen Sie in diesem Buch?7
Die Beispiele zu diesem Kapitel8
Kontakt zum Autor8
Danksagungen8
Inhaltsverzeichnis9
1: PowerShell für Kurzentschlossene18
1.1 Das WMF im Überblick18
1.2 Die .NET-Laufzeit20
1.2.1 Assemblys20
1.3 Die Objekt-Pipeline22
1.4 PSProvider und PSDrives23
1.4.1 Dynamische Parameter24
1.5 Functions, Aliase, Workflows und Configurations25
1.6 Erweiterbarkeit25
1.6.1 Ein Modulmanager in Gestalt des PowerShellGet-Moduls27
1.7 Befehlssyntax28
1.8 Die moderne Konsole29
1.9 Hilfe30
1.10 Andere Plattformen31
2: Der Umgang mit Typen32
2.1 Alles ist ein Objekt32
2.1.1 Objekte basieren auf Typen32
2.1.2 Den Typ eines Objekts herausfinden33
2.2 Typen als Objekte33
2.3 Die Typen eines Arrays erhalten34
2.3.1 Auflisten der Konstruktoren einer Klasse34
2.4 Neue Objekte anlegen mit dem New-Object-Cmdlet36
2.4.1 Neue Objekte anlegen über die statische Methode New36
2.4.2 Objekte mit Argumenten anlegen36
2.4.3 Neue Objekte anlegen per [PSCustomObject]37
2.5 Objektschreibweise37
2.6 Das versteckte Member PSObject38
2.7 Typen erweitern38
2.8 Objekte erweitern über das Add-Member-Cmdlet40
2.9 Typen definieren über externen Code41
2.9.1 Zusammenfassung43
3: Klassen definieren mit dem class-Befehl44
3.1 Einleitung44
3.1.1 Befehlswörter für die Definition von Klassen45
3.2 Klassen definieren45
3.3 Hinzufügen von Eigenschaften46
3.4 Aus Klassen Objekte machen48
3.5 Statische Member48
3.6 Enumerationen49
3.7 Aus Klassen werden Objekte50
3.8 Klassen mit einem Konstruktor51
3.8.1 Konstruktor mit Parameter52
3.8.2 Versteckte Members52
3.8.3 Überladene Konstruktoren54
3.8.4 Klassen mit einem statischen Konstruktor55
3.9 Methoden definieren55
3.9.1 Methoden überladen57
3.9.2 Statische Methoden58
3.10 Klassen ableiten (Vererbung)59
3.10.1 Ableiten mit einem Konstruktor, der nicht parameterlos ist61
3.10.2 Ableiten von Klassen der .NET-Klassenbibliothek und der PowerShell-Bibliotheken62
3.10.3 Members überschreiben62
3.11 Typenformatierung mit eigenen Klassen66
3.12 Zusammenfassung68
4: Functions für Fortgeschrittene69
4.1 Was macht eine Function „Advanced“?69
4.1.1 Die Rolle der Attribute69
4.1.2 Das Prinzip der Parameter-Zuordnung70
4.2 Das CmdletBinding-Attribut71
4.3 Das Parameter-Attribut72
4.4 Die Parameterbindung im Detail73
4.4.1 Wenn die Parameterbindung nicht funktioniert74
4.4.2 Die Parameterbindung sichtbar machen75
4.5 Functions mit Pipeline-Parametern75
4.6 Functions, die die Pipeline abarbeiten77
4.7 Functions mit einer eingebauten Bestätigungsanforderung78
4.7.1 Die Auswirkung des Confirm-Parameters79
4.7.2 Die Auswirkung des WhatIf-Parameters79
4.7.3 Implementieren von Confirm und WhatIf an einem Beispiel79
4.7.4 Eine Bestätigungsanforderung unabhängig von Confirm & Co82
4.8 Parameter-Validierung83
4.8.1 Einen Bereich validieren mit ValidateRange83
4.8.2 Eine Auswahlmenge validieren mit ValidateSet83
4.8.3 Ein beliebiges Kriterium validieren per ValidateScript83
4.8.4 Credential-Parameter implementieren84
4.8.5 Eigene Parameterattribute definieren84
4.9 Dynamische Parameter85
4.10 Zusammenfassung87
5: Aus Functions und Skripte werden Module88
5.1 Module und Modultypen88
5.1.1 Skriptmodule89
5.1.2 Manifestmodule89
5.1.3 Binärmodule89
5.1.4 Dynamische Module90
5.1.5 Weitere Modulverzeichnisse hinzufügen91
5.2 Manifestmodule im Detail91
5.3 Verschachtelte Module93
5.4 Mehrere Versionen eines Moduls verwenden93
5.5 Internationale Module – Zeichenketten in Psd1-Dateien auslagern94
5.5.1 Die Rolle der Kultur und das CultureInfo-Objekt96
5.5.2 Ändern der aktuellen Kultur97
5.6 Praxisteil: Erstellen eines Manifestmoduls98
5.7 Zusammenfassung100
6: PowerShell-Skripte testen mit Pester101
6.1 Was testet Pester?101
6.1.1 Testen und DevOps102
6.2 Das Pester-Modul im Überblick102
6.3 Die ersten Schritte mit Pester103
6.4 Einen Test-Rahmen mit New-Fixture anlegen106
6.5 Test-Ergebnisse vergleichen mit Should – die Rolle der Assertions107
6.6 PowerShell-Commands nachbilden über Mocks109
6.6.1 Feststellen, ob ein Mock-Command ausgeführt wurde111
6.7 Tests in einen Ablauf einbeziehen111
6.8 Testen als (Lebens-)Philosophie111
6.9 Zusammenfassung112
7: Skripte und Module bereitstellen113
7.1 Die PowerShell-Paketverwaltung im Überblick113
7.1.1 Ein Blick hinter die Kulissen114
7.1.2 Überblick über das PackageManagement-Modul117
7.1.3 Die ersten Schritte mit der Paketverwaltung117
7.1.4 Anwendungspakete über Chocolatey installieren117
7.1.5 Package-Provider offline installieren121
7.1.6 Das PowerShellGet-Modul für die Modul- und Skriptverwaltung121
7.1.7 Die ersten Schritte mit PowerShellGet121
7.2 Eigene Ablagen für Module und Skripte einrichten123
7.2.1 Skripte über GitHub als „Gists“ abrufen126
7.2.2 Repository statt Webverzeichnis126
7.2.3 Einrichten eines Modul-Repositorys mit MyGet127
7.2.4 Skripte und Module in der PowerShell Gallery veröffentlichen129
7.3 Arbeiten mit einer Versionsverwaltung131
7.3.1 Schritt für Schritt132
7.3.2 Git-Integration in Visual Studio Code140
7.4 Aufsetzen einer Release-Pipeline für Module143
7.4.1 Was genau ist eine Release-Pipeline?143
7.4.2 Wo gibt es die Release-Pipeline?144
7.4.3 Eine Release-Pipeline selber gebaut145
7.4.4 Eine Release-Pipeline mit AppVeyor148
7.4.5 Die ersten Schritte mit AppVeyor149
7.4.6 Die Anatomie der Yaml-Datei150
7.4.7 Ein PowerShell-Modul per AppVeyor bereitstellen151
7.5 Zusammenfassung153
8: DSC-Grundlagen154
8.1 Ein erstes Beispiel154
8.2 Ein wenig Theorie161
8.2.1 MOF161
8.2.2 DSC-Spracherweiterungen162
8.2.3 Die Rolle der Ressourcen162
8.2.4 Der Local Configuration Manager (LCM)163
8.2.5 Pull statt Push164
8.3 Verwenden von Konfigurationsdaten165
8.4 Warum DSC?167
8.5 Zusammenfassung167
9: DSC in der Praxis169
9.1 Auspacken von Zip-Dateien169
9.2 Umgebungsvariablen anlegen170
9.3 Dateien und Verzeichnisse anlegen172
9.4 Lokale Benutzer und Gruppen anlegen173
9.5 Registry-Schlüssel anlegen174
9.6 Windows-Feature installieren176
9.7 Prozesse starten176
9.8 Systemdienste einrichten177
9.9 DSC-Log-Meldungen schreiben178
9.10 Beliebige Befehle ausführen180
9.11 Einen Webserver einrichten181
9.12 Eine Hyper-VM einrichten185
9.13 Zusammenfassung186
10: DSC für (etwas) Fortgeschrittene187
10.1 Hinzufügen von DSC-Ressourcen187
10.2 Ressourcenabhängigkeiten festlegen188
10.3 Den LCM konfigurieren189
10.4 Umgang mit Konfigurationsdaten190
10.4.1 Konfigurationsdaten unterschiedliche Nodes zuordnen191
10.4.2 Einzelne Nodes auswählen192
10.4.3 Allgemeine Eigenschaften in den Konfigurationsdaten festlegen193
10.4.4 Konfigurationsdaten, die nur allgemeine Einstellungen enthalten194
10.4.5 Konfigurationsdaten mit strukturierten Werten195
10.5 Kennwörter in einer Konfiguration verwenden196
10.6 Einrichten eines Pull Servers201
10.6.1 Überblick über das Einrichten eines Pull Servers202
10.6.2 Einrichten eines webbasierten Pull Servers202
10.6.3 Umstellen des LCM auf den Pull-Modus207
10.6.4 Einen Pull Server testen208
10.6.5 Die Rolle der Reportserver209
10.7 DSC-Diagnose209
10.8 Eigene Ressourcen definieren211
10.8.1 Zusammengesetzte Ressourcen (Composite Resources)215
10.9 Die PowerShell DSC-Cmdlets im Überblick218
10.10 Zusammenfassung220
11: Aus Text Objekte machen221
11.1 Texte im CSV-Format konvertieren222
11.2 Überschriften nachträglich hinzufügen oder vorhandene Überschriften ändern223
11.3 Unregelmäßige Texte zerlegen223
11.3.1 Texte mit dem Split-Operator zerlegen223
11.3.2 Texte mit Hilfe regulärer Ausdrücke zerlegen225
11.4 Objekte anlegen227
11.4.1 Objekte mit dem New-Object-Cmdlet anlegen227
11.4.2 Objekte mit einer Hashtable anlegen228
11.4.3 Unregelmäßige Textdaten mit dem ConvertFrom-String-Cmdlet verarbeiten228
11.4.4 XML-Daten verarbeiten229
11.5 JSON-Daten verarbeiten232
11.6 Zusammenfassung233
12: Active Directory-Administration234
12.1 AD DS und Domänencontroller einrichten235
12.1.1 Aktualisieren der Hilfe236
12.1.2 Authentifizierung236
12.2 Suche nach Benutzerkonten per Get-AdUser237
12.3 Die PowerShell-Abfragesyntax237
12.3.1 Benutzerkonten auswählen über den Identity-Parameter237
12.3.2 Die Rolle des Properties-Parameter bei Get-ADUser238
12.3.3 Spezialfall zusammengesetzte Attribute239
12.3.4 Eingrenzen der Suche239
12.3.5 Suchen nach anderen AD-Objekten239
12.4 Benutzer anlegen per New-AdUser240
12.4.1 Benutzerkonten aktivieren241
12.4.2 Benutzerkonten über eine CSV-Datei anlegen241
12.5 Benutzerkonten ändern per Set-ADUser241
12.5.1 Umgang mit Mehrwert-Attributen242
12.6 Benutzerkonten löschen mit Remove-ADUser242
12.7 Nach Kontenattributen suchen243
12.8 Gruppenzugehörigkeiten verwalten243
12.8.1 Nicht alles passt zusammen244
12.9 Computerkonten abfragen per Get-AdComputer245
12.10 Abfrageergebnisse mit Out-GridView kombinieren245
12.11 Umgang mit Organisationseinheiten246
12.12 Das AD-Laufwerk246
12.13 Den AD-Papierkorb aktivieren247
12.14 Einen AD LSD oder Open LDAP-Server ansprechen248
12.15 Zusammenfassung249
13: Azure-Administration per PowerShell250
13.1 Ein erster Überblick250
13.2 Der ARM im Überblick251
13.2.1 Die Rolle der Resource Provider251
13.2.2 Die Rolle der Templates252
13.3 Zugriffssteuerung per BPAC259
13.4 Die Azure PowerShell im Überblick260
13.4.1 Abfragen der PowerShell-Version260
13.4.2 Ein erster Überblick261
13.4.3 Die ersten Schritte mit der Azure PowerShell261
13.4.4 Beispiele aus der Praxis263
13.4.5 Eine virtuelle Maschine über ein Template anlegen268
13.4.6 Azure und DSC269
13.5 Custom Script Extension als Alternative zu DSC273
13.6 Zusammenfassung276
14: Debugging für etwas Fortgeschrittene277
14.1 Unsichtbare Variablen beim Debuggen277
14.2 Der Debug-Modus im Überblick278
14.3 Über das Wesen eines Haltepunktes278
14.3.1 Allgemeine Haltepunkte setzen278
14.3.2 Haltepunkt entfernen und deaktivieren279
14.3.3 Haltepunkte für einen Befehl setzen279
14.3.4 Haltepunkte für eine Variable setzen279
14.3.5 Haltepunkte mit einer Bedingung verknüpfen280
14.3.6 Ein Skript ohne Haltepunkte debuggen280
14.4 Remote-Debugging von Skripten280
14.4.1 Haltepunkte über Invoke-Command setzen281
14.5 Einen Workflow debuggen281
14.6 Runspaces debuggen281
14.7 Zusammenfassung283
15: Sicherheit284
15.1 Die Rolle der Ausführungsrichtlinie284
15.2 Umgang mit Credentials285
15.2.1 Einen Secure String lesbar machen287
15.2.2 Einen Secure String anlegen288
15.2.3 Secure String-Dateien sicher speichern288
15.3 Umgang mit Zertifikaten289
15.4 Weiterer Umgang mit Zertifikaten290
15.4.1 Auflisten bestimmter Zertifikate290
15.5 Zertifikate anlegen290
15.5.1 Selbstsignierte Zertifikate erstellen291
15.6 Skripte signieren294
15.7 Zeichenketten verschlüsseln295
15.7.1 Texte verschlüsseln und entschlüsseln mit CipherNet295
15.7.2 Zeichenketten mit Zertifikaten verschlüsseln296
15.8 Umgang mit Zugriffsberechtigungen297
15.8.1 Entfernen von Zugriffsberechtigungen299
15.9 Die Befehlsausführung protokollieren300
15.9.1 Befehlsprotokollierung per Gruppenrichtlinien steuern300
15.9.2 Mehr Möglichkeiten bei Start-Transcript302
15.10 PowerShell-Remoting-Endpunkte sichern mit Just Enough Administration (JEA)303
15.10.1 JEA in der Praxis304
15.11 Eine Session ohne Remoting einschränken307
15.12 Das Invoke-Expression-Cmdlet und warum es potentiell gefährlich ist308
15.12.1 Invoke-Expression per Scriptblock-Logging überwachen309
15.13 Zusammenfassung310
16: PowerShell für Linux311
16.1 Ein erster Überblick311
16.2 PowerShell unter Linux installieren312
16.3 Die ersten Schritte unter Linux313
16.4 Navigieren im Dateisystem313
16.5 PowerShell-Remoting mit SSH313
16.6 PowerShell versus PowerShell Core315
16.7 Zusammenfassung315
17: Wie man gute Skripte schreibt316
17.1 Kommentare316
17.2 Variableninitialisierung erzwingen316
17.3 Aliase vermeiden317
17.4 Datentypen für Parameter317
17.5 Keine „Spuren“ hinterlassen317
17.6 Der PSScriptAnalyzer318
17.6.1 Eigene Regeln definieren318
17.7 Zusammenfassung320
18: Spaß mit der PowerShell321
18.1 Zufallszahlen321
18.2 Farbige Ausgaben323
18.2.1 Farbe in der Konsole dank VT100-Unterstützung324
18.3 Ein etwas anderer Prompt326
18.3.1 Ein farbiger Prompt327
18.4 Sounddateien abspielen328
18.4.1 Systemso unds abspielen328
18.4.2 Töne erzeugen329
18.4.3 PowerShell-Musik331
18.5 Die PowerShell lernt sprechen331
18.5.1 Die .NET-Laufzeit kann auch sprechen332
18.6 ASCII-Art und die 80er-Jahre333
18.6.1 Bewegte ASCII-Art333
18.7 Ein Zitat, bitte334
18.7.1 Einen Internet-Zeitserver abfragen335
18.8 Ein Matrix-Style-Bildschirmschoner336
18.9 HAL ist IBM – der unwiderlegbare Beweis336
18.10 April, April336
18.11 Ein Spielhallenklassiker338
18.12 Zusammenfassung338
19: PowerShell für Entwickler339
19.1 Unterschiede und Gemeinsamkeiten mit C#339
19.2 Umgang mit Assemblys340
19.3 Assemblys in eine PowerShell-Sitzung laden341
19.3.1 Assemblys über ihren Pfad laden342
19.3.2 Assemblys über ihren Namen laden342
19.3.3 Alle geladenen Assemblys auflisten343
19.3.4 Klassendefinitionen sichtbar machen344
19.3.5 Den Inhalt einer Assembly sichtbar machen344
19.4 Assemblys erstellen346
19.4.1 Herunterladen von NuGet-Packages347
19.5 Umgang mit generischen Typen347
19.5.1 Generische Listen348
19.5.2 Generische Methodenaufrufe348
19.5.3 Aufruf einer generischen privaten Methode349
19.6 Umgang mit Events350
19.7 Das erweiterbare Typensystem352
19.8 Cmdlets definieren353
19.9 Benutzeroberflächen mit WPF355
19.10 Win32-API-Funktionen aufrufen359
19.11 Zusammenfassung360
Glossar361
Stichwortverzeichnis364

Weitere E-Books zum Thema: Wirtschaftsinformatik - Informationstechnik - IT

Informationsmanagement

E-Book Informationsmanagement
Format: PDF

Das Internet hat in den letzten Jahren ohne Zweifel erhebliche Veränderungen in der gesamten Ökonomie bewirkt. E-Business gehört heute zur Unternehmensrealität und konfrontiert das…

Informationsmanagement

E-Book Informationsmanagement
Format: PDF

Das Internet hat in den letzten Jahren ohne Zweifel erhebliche Veränderungen in der gesamten Ökonomie bewirkt. E-Business gehört heute zur Unternehmensrealität und konfrontiert das…

Informationsmanagement

E-Book Informationsmanagement
Format: PDF

Das Internet hat in den letzten Jahren ohne Zweifel erhebliche Veränderungen in der gesamten Ökonomie bewirkt. E-Business gehört heute zur Unternehmensrealität und konfrontiert das…

E-Learning

E-Book E-Learning
Einsatzkonzepte und Geschäftsmodelle Format: PDF

Der vorliegende Band ist dem Lernen und Lehren auf der Basis moderner Informations- und Kommunikationstechnologien gewidmet. Das Buch fasst die wichtigsten Ansätze zur Einführung, Umsetzung und…

E-Learning

E-Book E-Learning
Einsatzkonzepte und Geschäftsmodelle Format: PDF

Der vorliegende Band ist dem Lernen und Lehren auf der Basis moderner Informations- und Kommunikationstechnologien gewidmet. Das Buch fasst die wichtigsten Ansätze zur Einführung, Umsetzung und…

E-Learning

E-Book E-Learning
Einsatzkonzepte und Geschäftsmodelle Format: PDF

Der vorliegende Band ist dem Lernen und Lehren auf der Basis moderner Informations- und Kommunikationstechnologien gewidmet. Das Buch fasst die wichtigsten Ansätze zur Einführung, Umsetzung und…

E-Learning

E-Book E-Learning
Einsatzkonzepte und Geschäftsmodelle Format: PDF

Der vorliegende Band ist dem Lernen und Lehren auf der Basis moderner Informations- und Kommunikationstechnologien gewidmet. Das Buch fasst die wichtigsten Ansätze zur Einführung, Umsetzung und…

E-Learning

E-Book E-Learning
Einsatzkonzepte und Geschäftsmodelle Format: PDF

Der vorliegende Band ist dem Lernen und Lehren auf der Basis moderner Informations- und Kommunikationstechnologien gewidmet. Das Buch fasst die wichtigsten Ansätze zur Einführung, Umsetzung und…

E-Learning

E-Book E-Learning
Einsatzkonzepte und Geschäftsmodelle Format: PDF

Der vorliegende Band ist dem Lernen und Lehren auf der Basis moderner Informations- und Kommunikationstechnologien gewidmet. Das Buch fasst die wichtigsten Ansätze zur Einführung, Umsetzung und…

Weitere Zeitschriften

Arzneimittel Zeitung

Arzneimittel Zeitung

Die Arneimittel Zeitung ist die Zeitung für Entscheider und Mitarbeiter in der Pharmabranche. Sie informiert branchenspezifisch über Gesundheits- und Arzneimittelpolitik, über Unternehmen und ...

Courier

Courier

The Bayer CropScience Magazine for Modern AgriculturePflanzenschutzmagazin für den Landwirt, landwirtschaftlichen Berater, Händler und generell am Thema Interessierten, mit umfassender ...

küche + raum

küche + raum

Internationale Fachzeitschrift für Küchenforschung und Küchenplanung. Mit Fachinformationen für Küchenfachhändler, -spezialisten und -planer in Küchenstudios, Möbelfachgeschäften und den ...

dima

dima

Bau und Einsatz von Werkzeugmaschinen für spangebende und spanlose sowie abtragende und umformende Fertigungsverfahren. dima - die maschine - bietet als Fachzeitschrift die Kommunikationsplattform ...

ea evangelische aspekte

ea evangelische aspekte

evangelische Beiträge zum Leben in Kirche und Gesellschaft Die Evangelische Akademikerschaft in Deutschland ist Herausgeberin der Zeitschrift evangelische aspekte Sie erscheint viermal im Jahr. In ...

e-commerce magazin

e-commerce magazin

e-commerce magazin Die Redaktion des e-commerce magazin versteht sich als Mittler zwischen Anbietern und Markt und berichtet unabhängig, kompetent und kritisch über ...