basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei...

23
Der praktische Einstieg in die Windows PowerShell Konkrete Anleitungen und aussagekräftige Beispiele Inklusive Kurzreferenz zu Syntax, Grammatik und Standard-Funktionen o’reillys basics Windows Schnelleinstieg in die Andy Oakley Deutsche Überarbeitung von Andreas Bildstein PowerShell

Transcript of basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei...

Page 1: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

➜ Der praktische Einstieg in die Windows PowerShell

➜ Konkrete Anleitungen und aussagekräftige Beispiele

➜ Inklusive Kurzreferenz zu Syntax, Grammatik und Standard-Funktionen

o’r

ei

ll

ys

b

as

ic

s WindowsSchnelleinstieg in die

Andy OakleyDeutsche Überarbeitung

von Andreas Bildstein

PowerShell

Page 2: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

487-3.book Seite II Montag, 6. August 2007 9:46 09

Page 3: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

Beijing · Cambridge · Farnham · Köln · Paris · Sebastopol · Taipei · Tokyo

Schnelleinstieg in dieWindows PowerShell

Andy Oakley

Deutsche Überarbeitung von Andreas Bildstein

487-3.book Seite III Montag, 6. August 2007 9:46 09

Page 4: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

Die Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden. Verlag, Autoren und Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für eventuell verbliebene Fehler und deren Folgen.Alle Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt und sind möglicherweise eingetragene Warenzeichen. Der Verlag richtet sich im wesentlichen nach den Schreibweisen der Hersteller. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung,Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Kommentare und Fragen können Sie gerne an uns richten:O’Reilly VerlagBalthasarstr. 8150670 KölnTel.: 0221/9731600Fax: 0221/9731608E-Mail: [email protected]

Copyright der deutschen Ausgabe:© 2007 by O’Reilly Verlag GmbH & Co. KG1. Auflage 2007

Die Originalausgabe erschien 2005 unter dem TitelMonad bei O’Reilly Media, Inc.

Bibliografische Information Der Deutschen BibliothekDie Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar.

Übersetzung und Überarbeitung: Andreas Bildstein, StuttgartLektorat: Alexandra Follenius, KölnFachliche Unterstützung: Marcus Nasarek, KölnKorrektorat: Friederike Daenecke, ZülpichSatz: Tim Mergemeier, reemers publishing services gmbh, Krefeld; www.reemers.deUmschlaggestaltung: Michael Oreal, KölnProduktion: Andrea Miß, KölnBelichtung, Druck und buchbinderische Verarbeitung: Druckerei Kösel, Krugzell; www.koeselbuch.de

ISBN 978-3-89721-487-3

Dieses Buch ist auf 100% chlorfrei gebleichtem Papier gedruckt.

487-3.book Seite IV Montag, 6. August 2007 9:46 09

Page 5: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

| V

Inhalt

Vorwort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IX

Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIII

1 Einführung in die Windows PowerShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Holen Sie sich die Windows PowerShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Machen Sie sich mit der Verb-Substantiv-Syntax und mit Cmdlets vertraut . 4

Zugriff auf die Registrierung wie auf ein Dateisystem . . . . . . . . . . . . . . . . . . . 9

Richten Sie für die Übergabe von Informationen eine Pipeline ein . . . . . . . . 14

Ausgabe von Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Was kommt als Nächstes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2 Die PowerShell individuell anpassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Skripten laden und abspeichern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Sparen Sie mit Aliasen Tastenanschläge ein . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Arbeit mit der Kommandozeile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Machen Sie es sich bequem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Finden Sie heraus, was ein Befehl macht, bevor Sie ihn ausführen . . . . . . . . 42

Was kommt als Nächstes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

487-3.book Seite V Montag, 6. August 2007 9:46 09

Page 6: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

VI | Inhalt

Links

Max.Linie

Max.Linie

3 Skripten mit der PowerShell schreiben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Das .NET Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Arbeiten Sie mit strukturierten Objekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Speichern Sie Informationen in Variablen ab . . . . . . . . . . . . . . . . . . . . . . . . . 56Steuern Sie den Skriptablauf mit Vergleichen . . . . . . . . . . . . . . . . . . . . . . . . 65Sich wiederholende Aufgaben mit Schleifen ausführen . . . . . . . . . . . . . . . . . 71Halten Sie wiederverwendbares Verhalten in einer Funktion fest . . . . . . . . . 76Wandeln Sie Objekte um, während sie die Pipeline durchlaufen . . . . . . . . . 82Was kommt als Nächstes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

4 Umgang mit Gültigkeitsbereichen und Zuständen . . . . . . . . . . . . . . . . . . . . 87Steuern Sie den Zugriff auf Variablen und Funktionen . . . . . . . . . . . . . . . . . 87Mit Sonderzeichen arbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93Legen Sie mit Hilfe von Wildcards eine Reihe von Elementen fest . . . . . . . . 98Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Wenn Dinge schiefgehen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Was kommt als Nächstes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

5 Den PowerShell-Werkzeugkasten erweitern . . . . . . . . . . . . . . . . . . . . . . . . 115Erweitern Sie den Werkzeugkasten mit allgemeinen Cmdlets . . . . . . . . . . 115Mit Textdateien arbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119Arbeit mit strukturierten Dateiformaten . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Wie Variablen mit dem .NET Framework zusammenhängen . . . . . . . . . . . 125Aufruf der Methoden aus der .NET-Klassenbibliothek . . . . . . . . . . . . . . . . 129New-Object mit COM-Objekten einsetzen . . . . . . . . . . . . . . . . . . . . . . . . . 132Was kommt als Nächstes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

6 Mit Betriebssystemkomponenten arbeiten . . . . . . . . . . . . . . . . . . . . . . . . . 135Überwachung des Ereignisprotokolls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135Überprüfung von Systemdiensten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141Holen Sie sich aus der WMI Systeminformationen . . . . . . . . . . . . . . . . . . . 145Verwalten Sie die Zugriffsberechtigungen auf das Dateisystem . . . . . . . . . 149Was kommt als Nächstes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

7 Die PowerShell in Betrieb nehmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155Rufen Sie Befehle mit & auf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155Parsen Sie textbasierte Ausgaben bestimmter Anwendungen . . . . . . . . . . . 159Schließen Sie die Lücke: Holen Sie sich die Eingabe von der Konsole . . . . 162

487-3.book Seite VI Montag, 6. August 2007 9:46 09

Page 7: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

Inhalt | VII

Rechts

Max.Linie

Max.Linie

Entwirren Sie GOTO-basierte Batch-Dateien . . . . . . . . . . . . . . . . . . . . . . . 163

Kurze Wiederholung: Häufig verwendete Batch-Datei-Syntax ersetzen . . . 167

Mehrere Dateien auf einmal umbenennen . . . . . . . . . . . . . . . . . . . . . . . . . . 168

Inhalte in einer Textdatei suchen und ersetzen . . . . . . . . . . . . . . . . . . . . . . 168

Vor kurzem geänderte Dateien auflisten . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

Dateitypen zählen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

Herausfinden, welcher Befehl gerade ausgeführt wird . . . . . . . . . . . . . . . . . 169

Inhalte aus dem Web herunterladen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

Kurzschrift für häufig verwendete Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

Die Laufzeit des Systems zurückliefern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

Einfache UI-Automatisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

Die Ausgabe von Get-ChildItem einfärben . . . . . . . . . . . . . . . . . . . . . . . . . 172

Was bleibt übrig? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

A Syntax und Grammatik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

B Standard-Cmdlets, Funktionen und Aliase . . . . . . . . . . . . . . . . . . . . . . . . . . 187

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

487-3.book Seite VII Montag, 6. August 2007 9:46 09

Page 8: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

487-3.book Seite VIII Montag, 6. August 2007 9:46 09

Page 9: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

| IX

First

Max.Linie

Max.Linie

Hier Mini IVZ eingeben!

Abstand untere Tabellenlinie zu Textanfang 1,8 cm-> also: manuell auf den Arbeitsseiten ziehen!!!

Erstellen auf denArbeitsseiten(siehe Muster)

Vorwort

Die Windows PowerShell ist eine Shell oder ein Befehlsinterpreter der nächstenGeneration, die übliche Shellkonzepte übernimmt, indem sie interaktive und einfa-che Skripting-Erlebnisse anbietet. Jedoch beschreitet die PowerShell auch neueWege, da sie die Leistungsfähigkeit der Objekte wirksam einsetzt, eine voll ausge-stattete Sprache mit nativer Unterstützung komplexer Datentypen bietet und dieShell, Befehle und Utilities neu zusammenstellt. Das Ergebnis ist eine Shell, dieeinen großen Benutzerkreis unterstützt, der von den Nutzern einer interaktivenKommandozeile bis hin zu den raffiniertesten Skriptautoren reicht.

Ich habe das PowerShell-Projekt mit dem Plan gestartet, die Kommandozeilen-schnittstelle zur Windows Management Infrastructure, die WMIC, in C# umzu-schreiben (WMI ist eine der Haupt-APIs, mit der Windows verwaltet werdenkann). WMIC hat sich als ein sehr erfolgreiches Unterfangen erwiesen. Sie besitzteine allgemein gültige Befehlszeilen-Engine für das Parsen, die Fehlerbehandlungund die Bearbeitung von Objekten, und sie setzt kleine Mengen an Metadaten ein,um die Engine dazu zu bringen, WMI-Objekte zu bearbeiten. Diese Architektur bie-tet einige wichtige Anreize zu einem wirtschaftlichen Vorgehen:

• Jede an der Engine durchgeführte Verbesserung wirkt sich auch auf jedenBefehl aus, was einen Anreiz bietet, die Engine zu verbessern.

• Die Benutzer haben für alle Befehle eine allgemein gültige Syntax und Seman-tik, was einen Anreiz bietet, den Einsatz des Tools zu erlernen.

• Es wird nur eine kleine Menge an Metadaten benötigt, um Befehle zu erstellen,was einen Anreiz bietet, Befehle zu generieren.

487-3.book Seite IX Montag, 6. August 2007 9:46 09

Page 10: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

X | Vorwort

Links

Max.Linie

Max.Linie

Während die Leistungsfähigkeit der WMIC großartig ist, besitzt sie eine Syntax, dieviele als schwierig erachten. Sie ist komplett vom Umfang der WMI abhängig, waszwar gut für Windows, aber problematisch für Drittanbieter ist. Während ich ander Architektur gearbeitet habe, hat mich Bill Gates regelmäßig verprügelt, daunsere Management-Technologien keine ausreichende Unterstützung von .NET-Programmen angeboten haben. Ich habe beschlossen, dass es an der Zeit wäre her-auszufinden, was ihn da so aufgeregt hat.

Ich habe .NET gelernt, indem ich die WMIC in C# umgeschrieben, die Syntax inOrdnung gebracht und XML-Unterstützung hinzugefügt habe. Hierbei habe ich.NET Reflection entdeckt. Ich war erfreut festzustellen, dass hierdurch bereits etwa 70Prozent von dem angeboten wurde, was von WMI benötigt wurde (beispielsweise dieMöglichkeit, ein beliebiges Objekt über den Status seiner Eigenschaften/Methodenzu befragen, die Eigenschaftswerte zu erhalten und Methoden aufrufen zu können).An dieser Stelle habe ich erkannt, dass die architektonische Leistungsfähigkeit derWMIC auf ein beliebiges .NET-Objekt angewandt werden könnte, und das wardann auch der Zeitpunkt, als es erst richtig losging.

Wir bildeten ein Team und arbeiteten alle Details heraus. Wir bauten die Kernkom-ponenten in eine vollständig ausgestattete Automatisierungsumgebung um, die eineinteraktive Shell enthielt, eine leistungsfähige Skriptsprache, eine reichhaltigeMenge an Utility-Funktionen, eine Reihe Befehle und ein SDK. Wir malten uns einProgramm aus, mit dem man ebenso einfach auf Datenspeicher zugreifen könnensollte, wie man das mit Dateisystemen machen konnte. Unsere Vision war es, etwaszu produzieren, das so interaktiv und zusammensetzbar wie KSH oder BASH ist, soprogrammatisch wie Perl oder Python, so produktionsorientiert wie AS400 CL oderVMS DCL und so gut einzubinden wie TCL oder WSH.

Die meisten Leute des Teams haben umfangreiche Erfahrung in der Arbeit mit COMund Unix. COM-Skripting ist zwar leistungsfähig, erfordert von Ihnen aber, dassSie auf der Abstraktionsebene eines Programmierers arbeiten. Auch das Unix-Modell der Komposition ist leistungsfähig, bietet aber auch ein Ausgleichsventil,das Ihnen den Druck nimmt, den Sie eventuell verspüren, wenn Sie das Gefühlhaben, noch einmal von vorne anfangen und die Tools umbauen zu müssen. WennSH nicht das angeboten hat, was Sie benötigten, dann haben Sie einfach ein neuesTool, wie beispielsweise AWK geschrieben; und wenn AWK Ihren Anforderungennicht gerecht wurde, dann mussten Sie noch ein weiteres Tool schreiben. Jedes die-ser Tools benötigte eine neue Lernkurve (und manchmal auch einen neuen StapelBücher). Das PowerShell-Team hatte zwar einen riesigen Respekt vor diesen Pro-grammen, wir wussten aber auch, dass wir einige Verbesserungen zu liefern hatten.

Jim Truher, unser Shell-Programm-Manager (PM), hat Erfahrung in der Arbeit mitUnix-Skripten. Seine Beiträge waren von unschätzbarem Wert, wenn es darumging, die wesentliche Semantik des Unix-Modells beizubehalten, während sie soumgebaut wurde, dass dies zu einer einheitlicheren Syntax und zu einer verbesser-

487-3.book Seite X Montag, 6. August 2007 9:46 09

Page 11: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

Vorwort | XI

Rechts

Max.Linie

Max.Linie

ten Benutzererfahrung führte. Bruce Payette, unser Entwicklungsleiter, ist ein wan-delndes Sprachlexikon und konnte uns über das Ergebnis beinahe jeder guten,schlechten oder verrückten Idee, die jemals in einer Sprache ausprobiert wurde,etwas erzählen. Kenneth Hansen, unser SDK PM, besitzt umfangreiche Erfahrungin der Arbeit mit Provisioning-Systemen. Er entwarf ein Namespace-Modell, mitdem Sie mit allen Datenspeichern (beispielsweise mit der Registrierung, dem Zerti-fikatsspeicher und – zukünfig – auch mit Active Directory, SQL usw.) so zusam-menarbeiten können, wie Sie das mit einem Dateisystem können. Zusätzlich zumUnix- und System-/Netzwerkmanagement habe ich VMS-Systeme entwickelt undeingesetzt, das Betriebssystem der DEC VAX-Minicomputer. Auch bin ich ein gro-ßer Fan der IBM AS400 und ihrer Befehlssprache (CL). Beide Umgebungen besitzeneine starke Fokussierung auf Produktionsqualitäten und die Konsistenz in Benen-nungen und Syntax.

Alles in allem haben wir gespürt, dass es an der Zeit wäre, einen Schritt zurück zugehen und die Shell, die Utilities, die Sprache und die Befehle einem »großen Refac-toring« zu unterziehen. Unser Ziel dabei war es, das Beste dieser Umgebungen inein einziges geschlossenes Programm einzubinden.

Das Ergebnis ist die Windows PowerShell. Egal, ob Sie nach einer besseren Win-dows-Shell auf der Kommandozeile suchen, nach einer einfachen Umgebung, in derSie Ad-hoc-Skripten herausschleudern können, oder nach einer Hardcore-Skript-sprache Ausschau halten, mit der Sie ausgefeilte, produktionsreife Skripten generie-ren möchten, die Windows PowerShell sollte alle Ihre Anforderungen befriedigenkönnen. Wir denken, Sie werden sie mögen.

Jeffrey P. SnoverPowerShell Architect

487-3.book Seite XI Montag, 6. August 2007 9:46 09

Page 12: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

Vakat

487-3.book Seite XII Montag, 6. August 2007 9:46 09

Page 13: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

| XIII

First

Max.Linie

Max.Linie

Hier Mini IVZ eingeben!

Abstand untere Tabellenlinie zu Textanfang 1,8 cm-> also: manuell auf den Arbeitsseiten ziehen!!!

Erstellen auf denArbeitsseiten(siehe Muster)

Einleitung

Monad, auch als MSH bekannt, war der Codename der neuen interaktiven Kom-mandozeile und aufgabenbasierten Skripting-Technologie in Windows. Jetzt unterdem Namen Windows PowerShell veröffentlicht, ist sie die nächste Generation derBefehlsshell von Windows, die einen neuen Ansatz in Hinblick auf ein großes Spek-trum administrativer Aufgaben ermöglicht. Für Administratoren und Power-Userwird die Kommandozeile zu einem Bürger erster Klasse in der Welt der Windows-Systemverwaltung werden.

Ich habe diesen Schnelleinstieg in die Windows PowerShell geschrieben, um Ihneneinen ersten Blick auf die PowerShell zu geben und Ihnen einen möglichst schnellenStart damit zu ermöglichen. Ihnen wird dieses Buch nicht wie ein umfangreichesTutorial oder ein trockenes Referenzhandbuch vorkommen, das normalerweise einProdukt wie die Windows PowerShell begleiten würde. Stattdessen handelt es sichbei diesem Buch um eine spannende praxisnahe Tour durch die nützlichsten neuenFunktionen, die die PowerShell zu bieten hat.

Für wen dieses Buch gedacht istVon Administratoren über Entwickler bis hin zu Power-Usern, die WindowsPowerShell bietet für jeden etwas. Wenn Sie jemand sind, dessen Finger ständig inRichtung der Tasten c-m-d abgleiten, jemand, der sämtliche Schalter der meistenKommandozeilen-Tools kennt, oder jemand, der Zeit damit verbringt, Batch-Dateien zu schreiben, um damit neue Herausforderungen zu lösen, dann ist diesesBuch ganz bestimmt etwas für Sie.

487-3.book Seite XIII Montag, 6. August 2007 9:46 09

Page 14: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

XIV | Einleitung

Links

Max.Linie

Max.Linie

Die PowerShell besitzt eine große Anziehungskraft. Wenn Sie schon Erfahrung mitdem Einsatz anderer Shells gesammelt haben (beispielsweise auf Unix-ähnlichenPlattformen), dann lesen Sie weiter: Die konsolenbasierte Kommandozeileninterak-tion unter Windows hat einen weiten Weg zurückgelegt, und es gibt eine Mengeneuer Dinge zu entdecken. Selbst wenn Sie durch diese neue Technologie nur neu-gierig wurden, dieses Buch setzt kein spezielles Expertenwissen voraus. Vielleichtstellen Sie auch einfach nur fest, dass Ihr Werkzeugkasten ein weiteres Werkzeugdazugewonnen hat.

Wie dieses Buch aufgebaut istSchnelleinstieg in die Windows PowerShell besteht aus sieben Kapiteln und zweiAnhängen. Jedes Kapitel beinhaltet eine Reihe praxisbezogener Übungen, die Ihnenzeigen, wie Sie mit der PowerShell eine bestimmte Aufgabe erledigen können.Einige Übungen machen Sie mit Schlüsselkonzepten vertraut, beispielsweise damit,wie die Pipeline verwendet wird, während andere Übungen Ihnen zeigen, wie Siehäufig vorkommende Aufgaben durchführen können, wie zum Beispiel die Inhalteeines Registrierungs-Hives anzuzeigen. Jede Übung stellt eine Aufgabe vor, zeigtIhnen, wie Sie diese Aufgabe erledigen können, und erklärt Ihnen, was passiert,wenn die PowerShell den in der Übung eingesetzten Befehl oder das Skript ausführt.Des Weiteren versucht jede Übung, eine Antwort auf häufige »Was ist, wenn …«-Fragen zu geben, und bietet Empfehlungen an, wo Sie weitere Informationen nach-lesen können.

Kapitel 1, Einführung in die Windows PowerShellBehandelt die Grundlagen, wie beispielsweise das Herunterladen und dieInstallation der Shell selbst, wie die Verb-Substantiv-Syntax verwendet wird,wie Informationen über eine Pipeline übergeben werden können und wie Datenin der Konsole angezeigt werden.

Kapitel 2, Die PowerShell individuell anpassenSteigt in die Verwendung der Befehlsshell ein. Hierzu gehören das Schreibenund Ausführen von Skripten, zeitsparende Techniken und die Personalisierungder Standardumgebung der PowerShell.

Kapitel 3, Skripten mit der PowerShell schreibenSieht sich die Verbindungen zum .NET Framework an und enthält die Detailszur Skriptsprache mit ihren Objekten, Variablen, Techniken zur Skriptsteue-rung und Funktionen.

Kapitel 4, Umgang mit Gültigkeitsbereichen und ZuständenTaucht in einige der tiefergehenden Aspekte der Skriptsprache ein, wie bei-spielsweise Gültigkeitsbereiche von Variablen, sowie in Themen zur Bearbei-tung von Zeichenketten und zum Umgang mit Fehlern.

487-3.book Seite XIV Montag, 6. August 2007 9:46 09

Page 15: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

Einleitung | XV

Rechts

Max.Linie

Max.Linie

Kapitel 5, Den PowerShell-Werkzeugkasten erweiternFührt eine Handvoll unentbehrlicher Befehle ein, die zum Standard werden,und zeigt Ihnen, wie Sie Daten laden und speichern können und wie das .NETFramework und das Component Object Model (COM) eingesetzt werden kön-nen.

Kapitel 6, Mit Betriebssystemkomponenten arbeitenBehandelt die Zusammenarbeit mit der Windows-Infrastruktur, zu der dasEreignisprotokoll, Systemdienste und WMI gehören.

Kapitel 7, Die PowerShell in Betrieb nehmenZeigt einige praktisch angewandte Einsatzmöglichkeiten der Shell. Hierzugehören beispielsweise die Zusammenarbeit mit cmd.exe-basierten Tools, dieMigration von Batch-Dateien und eine Bibliothek nützlicher PowerShell-Hacks.

Anhang A, Syntax und Grammatik Bietet eine Kurzreferenz für die Sprache der Shell, die in Befehle, Datentypen,Variablen und Sprachkonstrukte unterteilt ist.

Anhang B, Standard-Cmdlets, Funktionen und AliaseFührt die eingebauten Befehle jeweils mit einer kurzen Beschreibung auf.

Was Sie für dieses Buch benötigenUm einen größtmöglichen Nutzen aus diesem Buch ziehen zu können, benötigenSie ein System, auf dem eine der folgenden Microsoft Windows-Plattformen läuft:

• Microsoft Windows XP SP2

• Microsoft Windows Server 2003 SP1

• Microsoft Windows Vista

Sie benötigen ebenfalls eine lauffähige Kopie der Windows PowerShell. Obwohl dieBeispiele auch für sich selbst stehen könnten, so können Sie doch viel lernen, wennSie sie selbst ausprobieren, sie anpassen und für andere Einsatzzwecke erweitern.Detaillierte Anweisungen darüber, wie Sie die Befehlsshell herunterladen undinstallieren können, lesen Sie in »Holen Sie sich die Windows PowerShell« inKapitel 1.

Kenntnisse im Bereich der Programmierung oder im Schreiben von Skripten sindkeine Voraussetzung, um dieses Buch nutzen zu können. Ich bin davon überzeugt,dass Sie feststellen werden, dass die Inhalte von Schnelleinstieg in die WindowsPowerShell gleichermaßen relevant für Systemadministratoren, Entwickler undPower-User sind.

487-3.book Seite XV Montag, 6. August 2007 9:46 09

Page 16: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

XVI | Einleitung

Links

Max.Linie

Max.Linie

Typografische KonventionenIn diesem Buch werden die folgenden typografischen Konventionen verwendet:

KursivKennzeichnet Menü-Überschriften, Menü-Optionen, Menü-Buttons, neueBegriffe, URLs, E-Mail-Adressen, Dateinamen, Dateinamenserweiterungen,Pfad- und Verzeichnisnamen sowie Unix-Utilities.

NichtproportionalschriftKennzeichnet Befehle, Optionen, Schalter, Variablen, Attribute, Schlüssel,Funktionen, Typen, Klassen, Namespaces, Methoden, Module, Eigenschaften,Parameter, Werte, Objekte, Ereignisse, Event-Handler, XML-Tags, HTML-Tags, Makros, die Inhalte von Dateien oder die Ausgabe von Befehlen.

Nichtproportionalschrift fettZeigt Befehle oder anderen Text, die vom Benutzer genau so eingegeben wer-den sollten.

Nichtproportionalschrift kursivZeigt Text, der durch Werte ersetzt werden sollte, die vom Anwender ange-geben werden.

Das ist ein Tipp, ein Hinweis oder eine allgemeine Anmerkung.

Das ist eine Warnung oder eine Ermahnung zur Vorsicht.

Verwendung von Code-BeispielenDieses Buch soll Ihnen dabei helfen, Ihren Job zu erledigen. Im Allgemeinen kön-nen Sie den Code in diesem Buch in Ihren Programmen und in Ihrer Dokumenta-tion einsetzen. Sie müssen uns nicht kontaktieren und um Erlaubnis fragen, es seidenn, Sie kopieren einen erheblichen Teil des Codes. Das Schreiben eines Pro-gramms zum Beispiel, das mehrere Codeteile aus diesem Buch verwendet, bedarfkeiner Genehmigung. Der Vertrieb oder das Verteilen einer CD-ROM mit Beispie-len aus O’Reilly-Büchern bedarf allerdings einer Genehmigung. Wenn in einer Ant-wort auf eine Frage dieses Buch zitiert und Beispielcode daraus angeführt wird,bedarf dies keiner Genehmigung. Das Einbinden einer erheblichen Menge an Bei-spielcode aus diesem Buch in die Dokumentation Ihres Produkts bedarf allerdingsder Genehmigung.

487-3.book Seite XVI Montag, 6. August 2007 9:46 09

Page 17: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

Einleitung | XVII

Rechts

Max.Linie

Max.Linie

Wir freuen uns über eine Quellenangabe, verlangen aber keine. Eine Quellenangabeenthält normalerweise Titel, Autor, Verlag und ISBN. Zum Beispiel: »Schnelleinstiegin die Windows PowerShell von Andy Oakley. Copyright 2007 O’Reilly Verlag,ISBN 978-3-89721-487-3«.

Wenn Sie vermuten, dass Ihr Gebrauch von Code-Beispielen außerhalb des fairenGebrauchs oder der hier erteilten Genehmigungen liegt, wenden Sie sich bitte [email protected] an uns.

DanksagungenIch würde gerne den Fachgutachtern – Robbie Allen, Alex Angelopoulos, AdamBarr, Leonard Chung, Lee Holmes und Jon Newman – für ihr wertvolles Feedbackwährend der Entstehung dieses Buches danken. Ebenso möchte ich John Osbornvon O’Reilly für seine Anleitung und Geduld bei diesem Buch danken. Mein beson-derer Dank gilt auch Chris Sells, der mir die Tür zu dieser Gelegenheit geöffnet hat.

Nichts von alledem wäre möglich gewesen, ohne die harte Arbeit der Leute desPowerShell-Teams bei Microsoft, die bei der Erschaffung eines großartigen Toolseinen fantastischen Job gemacht haben.

Schließlich möchte ich Katie Shangraw für ihre Unterstützung und allen meinenFreunden und meiner Familie danken, die sich, während ich dieses Buch geschrie-ben habe, zeitweise fragten: »Wo ist Andy?«

487-3.book Seite XVII Montag, 6. August 2007 9:46 09

Page 18: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

Vakat

487-3.book Seite XVIII Montag, 6. August 2007 9:46 09

Page 19: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

| 1

First

Max.Linie

Max.Linie

Hier Mini IVZ eingeben!

Abstand untere Tabellenlinie zu Textanfang 1,8 cm-> also: manuell auf den Arbeitsseiten ziehen!!!

Erstellen auf denArbeitsseiten(siehe Muster)

Kapitel 1 KAPITEL 1

Einführung in dieWindows PowerShell

Die Windows PowerShell, in den Vorabversionen auch Monad oder MSH CommandShell genannt, ist eine Windows-Befehlsshell der nächsten Generation. Auf dem .NETFramework aufsetzend, bietet die Windows PowerShell eine leistungsfähige Infra-struktur für die Automatisierung einer großen Anzahl administrativer Aufgaben.Endlich wird die Kommandozeile zu einem Bürger erster Klasse in der Welt derWindows-Systemverwaltung.

Es wäre ungerecht, würde man die Windows PowerShell lediglich als eine Weiter-entwicklung der cmd.exe-Shell bezeichnen, einem System, dessen Wurzeln bis zuden Tagen von MS-DOS und davor zurückreichen. Der Standard-»Gastgeber« derWindows PowerShell ist zwar eine Konsolenanwendung, die Windows PowerShellwurde allerdings so konzipiert, dass sie auch in anderen Kontexten, zum Beispiel inder MMC (Microsoft Management Console), eingesetzt werden kann. Diese neueShell wurde von Grund auf in Hinblick auf strukturierte Daten und die heutigenadministrativen Herausforderung aufgebaut.

Die Pipeline, ein Verfahren zur Übergabe von Daten zwischen unterschiedlichenfunktionalen Einheiten, ist schon seit langem ein Feature vieler Shells, auch dercmd.exe. Die Windows PowerShell lässt hierbei allerdings den herkömmlichenAnsatz hinter sich, bei dem die Daten zwischen den unterschiedlichen Abschnittender Pipeline mit Hilfe von Text übergeben werden, und verzichtet damit auch aufdas »Parsen auf gut Glück«, das diesem Ansatz innewohnt. Für diese Funktionalitätermöglicht die Windows PowerShell die Übertragung strukturierter Daten in Formvon .NET-Objekten zwischen den einzelnen Elementen der Pipeline. Diese selbst-beschreibenden Informationen können an einer beliebigen Stelle innerhalb einer

In diesem Kapitel:

• Holen Sie sich die Windows PowerShell

• Machen Sie sich mit der Verb-Sub-stantiv-Syntax und mit Cmdlets vertraut

• Zugriff auf die Registrierung wie auf ein Dateisystem

• Richten Sie für die Übergabe von Informationen eine Pipeline ein

• Ausgabe von Daten

487-3.book Seite 1 Montag, 6. August 2007 9:46 09

Page 20: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

2 | Kapitel 1: Einführung in die Windows PowerShell

Links

Max.Linie

Max.Linie

komplexen Abfolge verwendet werden und ermöglichen es, dass Daten von beliebi-gen Prozessen auf intelligente Art und Weise verarbeitet werden können, selbst vonPipeline-Bestandteilen, die noch niemals zuvor einen bestimmten Datentyp gesehenhaben.

Die Windows PowerShell setzt auch ein Provider-Modell ein, damit über einen ein-zigen konsistenten Befehlssatz auf die vielen Arten hierarchischer Datenspeicherzugegriffen werden kann, die in Windows-Systemen eingesetzt werden. In der Win-dows PowerShell gelten die Mechanismen für den Zugriff auf Ordner, Dateien,Inhalte und den aktuellen Pfad nicht nur für Dateisysteme, sondern auch für andereDatenspeicher, wie zum Beispiel für die Registrierung.

Die beiden Begriffe Reproduzierbarkeit und Konsistenz verdeutlichen einen Teil deswirklichen Wertes, den die Arbeit mit der Windows PowerShell bietet. Die Admi-nistration einer einzelnen Maschine ist heutzutage eine einfache Aufgabe. Windowsbietet für das Setzen von Einstellungen und für die Konfiguration des Systems einegut aufgebaute grafische Benutzerschnittstelle, und mit Hilfe von Terminaldienstenkönnen Änderungen auch auf einfache Weise auf Servern aktiv gesetzt werden, diesich auf der anderen Seite der Erdkugel befinden. Leider skaliert dieses Modell aber,vereinfacht gesagt, überhaupt nicht gut. Für die Verwaltung von zwei Maschinenwird doppelt so viel Zeit benötigt und für zehn Maschinen zehnmal so viel Zeit.Glücklicherweise gibt es aber Verwaltungswerkzeuge, wie beispielsweise den Sys-tems Management Server (SMS), die diese Last innerhalb des Unternehmens abmil-dern. Auch können Technologien, wie beispielsweise der WSH (Windows ScriptingHost) und Perl, herangezogen werden, um sich wiederholende Aufgaben zu auto-matisieren. Dadurch, dass die Windows PowerShell eine skriptbare Sprache anbie-tet, stellt sie jedoch noch eine weitere Alternative zu den manuellen Klick-Orgiendar. Der einmalige Aufwand für die Erstellung eines Konfigruationsskriptes ermög-licht eine rasche Wiederholung auf einer potenziell großen Anzahl von Maschinenmit vorhersagbaren Ergebnissen. Wenn Sie das alles zusammenzählen, kann eineMenge Zeit eingespart werden.

Nehmen wir uns einen Moment Zeit, um mit ein paar Gerüchten über die WindowsPowerShell aufzuräumen. Bei der neuen Shell handelt es sich nicht um eine Pro-grammiersprache, die mit C#, C++ oder VB.NET verglichen werden kann, sie bie-tet jedoch eine mächtige Skriptsprache an. Auch wenn die Windows PowerShell inhohem Maße auf das .NET Framework angewiesen ist, so handelt es sich dabeidoch um ein administratives Werkzeug. Wie wir noch sehen werden, handelt essich bei der Windows PowerShell um eine Kreuzung, die die Idee einer Befehlsshellmit einer umfassenden Skriptsprache kombiniert, um daraus etwas Nützlicheres zuerschaffen. Die Windows PowerShell wird jedoch nicht alles aus dem Werkzeug-kasten eines Systemverwalters ersetzen. Betrachten Sie die Windows PowerShelleher als einen Kanal, der einen einfachen Zugriff auf bereits vorhandene Kompo-nenten ermöglicht, egal ob diese dann über das .NET Framework, COM-Objekte

487-3.book Seite 2 Montag, 6. August 2007 9:46 09

Page 21: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

Holen Sie sich die Windows PowerShell | 3

Rechts

Max.Linie

Max.Linie

oder irgendwelche anderen Mechanismen zur Verfügung gestellt werden. Auch diecmd.exe wird nicht verschwinden. Die Windows PowerShell bietet sogar Unterstüt-zung für weitere Kommandozeilen-Utilities an, die Text verarbeiten. Die vorhan-dene Werkzeugsammlung für die Kommandozeile wird weiterhin vorhandenbleiben, und die Investitionen, die in konsolenbasierte Anwendungen gesteckt wur-den, bleiben erhalten. Und schließlich wird die Windows PowerShell nicht so posi-tioniert, dass sie auf den Bereich der Software-Builds übergreifen könnte. Sie bietetzwar eine Reihe von Features, die in einer großen Build-Umgebung nützlich seinkönnten, ist aber eher eine Ergänzung für NMAKE, MSBuild oder Visual StudioTeam System als deren Ersatz.

Dies sind nur ein paar der Features der Windows PowerShell, die die Windows-Sys-temadministratoren aufhorchen lassen. Als Shell führt sie einige leistungsfähigeKonzepte zusammen, indem sie auf der einen Seite sowohl das .NET Framework alsauch COM wirksam einsetzt und es auf der anderen Seite ermöglicht, dass vorhan-dene Werkzeuge wiederverwendet werden können, anstatt neu erfunden werden zumüssen. Wie wir schon bald sehen werden, besitzt ein solches Werkzeug sehr vieleEinsatzmöglichkeiten.

Holen Sie sich die Windows PowerShellDie Windows PowerShell wird auf einer Reihe der derzeit verfügbaren Microsoft-Betriebssysteme unterstützt. Damit Sie die Windows PowerShell einsetzen können,müssen Sie eine der folgenden Plattformen betreiben:

• Microsoft Windows XP SP2

• Microsoft Windows Server 2003 SP1

• Microsoft Windows Vista (früherer Windows-Codename »Longhorn«)

Zusätzlich zu einem der unterstützten Betriebssysteme benötigt die WindowsPowerShell noch entweder das .NET Framework 2.0 Redistributable, das SDK oderVisual Studio 2005.

Windows PowerShell herunterladenAlles, was Sie benötigen, um loslegen zu können, kann aus dem Web heruntergela-den werden. Befolgen Sie die folgenden Installationsschritte, und Sie können gleichloslegen:

1. Laden Sie sich von http://www.microsoft.com/germany/msdn/netframework/default.mspx das .NET Framework 2.0 Redistributable herunter, und installie-ren Sie es. Es stehen für die verschiedenen Rechnerarchitekturen (32 Bit und64 Bit) unterschiedliche Versionen zur Verfügung; suchen Sie sich hier dieje-nige heraus, die zu Ihrer Maschine passt.

487-3.book Seite 3 Montag, 6. August 2007 9:46 09

Page 22: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

4 | Kapitel 1: Einführung in die Windows PowerShell

Links

Max.Linie

Max.Linie

2. Gehen Sie jetzt auf die Website http://www.microsoft.com/technet/scriptcenter/topics/msh/download.mspx. Dort stehen für die verschiedenen Betriebssystemeund Rechnerarchitekturen unterschiedliche Versionen zur Verfügung, die auchin unterschiedlichen Landessprachen erhältlich sind. Laden Sie sich das für Siepassende Paket herunter, und installieren Sie es.

Das ist schon alles. Lassen Sie uns anfangen!

Machen Sie sich mit der Verb-Substantiv-Syntax und mit Cmdlets vertrautWir beginnen damit, dass wir die Shell starten, um sie auf Herz und Nieren prüfenzu können. Dieser Abschnitt konzentriert sich auf die altehrwürdige Aufgabe, in derdie Prozessliste untersucht wird, um festzustellen, was momentan so alles auf einemSystem ausgeführt wird. Es gibt einige Windows PowerShell-Features, die einemvielleicht nicht gleich geläufig sind, wenn man andere Befehlszeilenshells kennt –insbesondere die strenge Befehlssyntax –, und wir werden uns auch noch einige deroffensichtlichen Unterschiede ansehen und feststellen, dass sie wirklich nichts sind,wovor man sich fürchten müsste.

Diese Grundlagen zeigen Ihnen, wie Sie die ersten Schritte mit der Shell gehen kön-nen, und liefern die Grundlage für die restlichen Beispiele, die wir behandeln werden.

Wie mache ich das?Die meisten Windows PowerShell-Befehle werden mit Hilfe eines Wortpaaresbezeichnet, einem Verb und einem Substantiv, die durch einen Bindestrich getrenntwerden. Das Verb beschreibt die Aktion (beispielsweise holen oder setzen), wohin-gegen das Substantiv das Ziel der Aktion in der Einzahl darstellt (beispielsweise

Nichts ist wichtiger als ErfahrungAm besten lernen Sie etwas über die Windows PowerShell, wenn Sie anfangen, sieeinzusetzen. Beginnen Sie dabei mit einfachen Aufgaben – beispielsweise, indem Siesich die Task-Liste und Verzeichnisstruktur anzeigen lassen – und fangen Sie dannmit dem Herumexperimentieren an. Seien Sie dabei jedoch vorsichtig, da einigeCmdlets eine bemerkenswerte Auswirkung haben können. Wenn Sie beispielsweisedie Windows PowerShell bitten, alle Ihre Dateien zu löschen, dann wird sie dasauch ohne schlechtes Gewissen tun. Wie wir in Kapitel 2 sehen werden, führt dasHinzufügen der Kommandozeilenoption -WhatIf dazu, dass ein »Probelauf« durch-geführt wird, in dem Ihnen die Windows PowerShell mitteilt, was sie machenwürde, ohne es jedoch tatsächlich durchzuführen.

487-3.book Seite 4 Montag, 6. August 2007 9:46 09

Page 23: basics Windows Schnelleinstieg in die Andy Oakley · 2013. 7. 23. · Machen Sie bei Stringvergleichen mehr, als nur mit -eq, -lt und -gt zu arbeiten . . . . . . . . . . . . . . .

This is the Title of the Book, eMatter EditionCopyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

Machen Sie sich mit der Verb-Substantiv-Syntax und mit Cmdlets vertraut | 5

Rechts

Max.Linie

Max.Linie

einen Prozess oder einen Ablageort). Es gibt eine Standardliste mit Verben, die dieMehrheit aller Aufgaben abdecken (hierzu gehören get, set, add und remove). DieAnzahl dieser Verben mag einem vielleicht übertrieben groß vorkommen, auf langeSicht führt diese konsistente Benennung allerdings dazu, dass die WindowsPowerShell einfacher erlernt und eingesetzt werden kann.

Lassen Sie uns mit dem Starten der Shell beginnen. Wählen Sie aus dem Start-MenüAusführen aus, und geben Sie dann powershell ein. Sie sehen, wie sich ein Konsolen-fenster mit einer kurzen Einführung öffnet:

Windows PowerShellCopyright (C) 2006 Microsoft Corporation. Alle Rechte vorbehalten.

PS C:\PSSkripten>

Die Windows PowerShell wartet auf ihren ersten Befehl. Die Shell befindet sich hierim interaktiven Modus, wobei das aktuelle Verzeichnis auf C:\PSSkripten gesetzt ist.Wir werden uns die verschiedenen Betriebsmodi später noch detaillierter ansehen.Im Moment wird die Shell die Befehle Zeile für Zeile so abarbeiten, wie sie einge-geben werden.

Einen ersten Befehl ausführen

Wir werden jetzt mit dem Cmdlet Get-Process eine Liste der momentan aktivenProzesse auf dem System ausgeben:

PS C:\PSSkripten> Get-Process

Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName------- ------ ----- ----- ----- ------ -- -----------

119 6 996 3336 31 0.22 1844 alg602 12 10408 15816 64 18.96 1656 CcmExec409 5 1648 3364 22 16.23 464 csrss273 11 7376 12696 55 340.16 212 explorer0 0 0 16 0 0 Idle

146 11 3532 7284 61 2.90 1264 InoRpc110 5 11136 12404 60 9.33 1316 InoRT107 5 2820 6244 53 4.22 1332 InoTask405 10 4404 528 41 11.66 544 lsass290 12 33948 32208 175 14.90 3088 powershell

...

Sie können mit einer Befehlszeile oder mit einem Argument die Anzahl der Prozesseverringern, die Get-Process zurückliefert. Übergibt man Get-Process etwas, mit demes einen Vergleich durchführen soll, wird Get-Process den Prozessnamen der einzel-nen Prozesse damit vergleichen, und es werden nur noch diejenigen Prozesse ange-zeigt, die auf diesen Vergleich zutreffen. Lassen Sie uns einen Blick auf diejenigenProzesse werfen, die entweder mit dem Buchstaben »r« oder mit »s« beginnen:

487-3.book Seite 5 Montag, 6. August 2007 9:46 09