Sie sind auf Seite 1von 9

THEMA

about_Windows_PowerShell_2.0
KURZBESCHREIBUNG
Beschreibt die neuen Features von Windows PowerShell 2.0.

DETAILBESCHREIBUNG
Windows PowerShell 2.0 enthlt mehrere wichtige Features, mit
denen die Verwendungsmglichkeiten erweitert und die
Benutzerfreundlichkeit erhht werden, und die Steuerung und
Verwaltung von Windows-basierten Umgebungen wird verbessert und
erleichtert.
Windows PowerShell 2.0 ist abwrtskompatibel. Cmdlets, Anbieter,
Snap-Ins, Skripts, Funktionen und Profile, die fr Windows
PowerShell 1.0 entworfen wurden, knnen ohne nderungen auch in
Windows PowerShell 2.0 verwendet werden.
NEUE FEATURES
Windows PowerShell 2.0 enthlt die nachfolgend aufgefhrten neuen
Features.
Remoting

In Windows PowerShell 2.0 knnen Sie Befehle mit einem
einzelnen Windows PowerShell-Befehl auf einem oder mehreren
Remotecomputern ausfhren. Sie knnen einzelne Befehle
ausfhren, oder Sie knnen eine dauerhafte Verbindung (Sitzung)
erstellen, um eine Reihe von verwandten Befehlen auszufhren.
Sie knnen auch eine Sitzung mit einem Remotecomputer starten,
damit die eingegebenen Befehle direkt auf dem Remotecomputer
ausgefhrt werden.
Die Remotingfeatures von Windows PowerShell basieren auf der
Windows-Remoteverwaltung (WinRM). WinRM ist die Implementierung
des WS-Management-Protokolls von Microsoft. Dabei handelt es
sich um ein Standardkommunikationsprotokoll auf SOAP-Basis, das
mit Firewalls kompatibel ist.
Auf den Remotecomputern mssen Windows PowerShell 2.0,
Microsoft .NET Framework 2.0 sowie der WinRM-Dienst installiert
sein. Remotebefehle werden unter allen Betriebssystemen
untersttzt, die Windows PowerShell ausfhren knnen. Der
aktuelle Benutzer muss die Berechtigung haben, Befehle auf den
Remotecomputern auszufhren. Weitere Informationen finden Sie
unter "about_Remote_Requirements".
Um Remoting zu untersttzen, wurden die Cmdlets "Invoke-Command"
, "Enter-PSSession" und "Exit-PSSession" zusammen mit anderen
Cmdlets hinzugefgt, die das Substantiv "PSSession" enthalten.
Mit diesen Cmdlets knnen Sie dauerhafte Verbindungen erstellen
und verwalten.
Auerdem wurde der ComputerName-Parameter mehreren Cmdlets
einschlielich "Get-Process", "Get-Service" und "Get-Eventlog"
hinzugefgt. Mit diesem Parameter knnen Sie Informationen ber
Remotecomputer abrufen.
Diese Cmdlets rufen die Daten mit .NET Framework-Methoden ab
und bentigen Windows PowerShell-Remoting daher nicht. Neue
Programme oder eine neue Konfiguration sind nicht erforderlich.
Weitere Informationen finden Sie in der Hilfe fr das jeweilige
Cmdlet.
Weitere Informationen ber Remotebefehle finden Sie unter
"about_Remote" und unter "about_Remote_FAQ". Weitere
Informationen ber Sitzungen finden Sie unter "about_PSSessions".
Windows PowerShell ISE

Windows PowerShell 2.0 enthlt die integrierte Skriptumgebung
von Windows PowerShell (ISE), eine Hostanwendung, mit der Sie
Befehle ausfhren und Skripts in einer grafischen und
farbcodierten Umgebung auf Unicode-Basis entwerfen, schreiben,
testen und debuggen knnen.

Windows PowerShell ISE erfordert Microsoft .NET Framework 3.0
oder hher.
Windows PowerShell ISE enthlt Folgendes:
- Ein Befehlsbereich, in dem Sie interaktive Befehle wie in
der Windows PowerShell-Konsole ausfhren knnen. Geben Sie
einfach einen Befehl ein, und drcken Sie die EINGABETASTE.
Die Ausgabe wird im Ausgabebereich angezeigt.
- Ein Skriptbereich, in dem Sie Funktionen und Skripts
erstellen, bearbeiten, debuggen und ausfhren knnen.
- Mehrere Registerkarten, die jeweils ber einen
Befehlsbereich und einen Skriptbereich verfgen, in denen
Sie eine oder mehrere Aufgaben unabhngig voneinander
bearbeiten knnen.
Windows PowerShell ISE ist sowohl fr neue als auch fr
fortgeschrittene Benutzer geeignet.
Hintergrundauftrge

Hintergrundauftrge sind Befehle, die asynchron ausgefhrt
werden. Wenn Sie einen Hintergrundauftrag ausfhren, wird die
Eingabeaufforderung unmittelbar zurckgegeben, auch wenn der Befehl noch
ausgefhrt wird. Mit dem Hintergrundauftragsfeature knnen Sie
komplexe Befehle im Hintergrund ausfhren, um die Sitzung fr andere
Aufgaben zu nutzen, whrend der Befehl ausgefhrt wird.
Hintergrundauftrge knnen auf einem lokalen Computer oder auf einem
Remotecomputer ausgefhrt werden, und die Ergebnisse knnen auf einem
lokalen Computer oder auf einem Remotecomputer gespeichert werden.
Mit dem Cmdlet "Invoke-Command" knnen Sie einen Auftrag remote ausfhren.

Windows PowerShell enthlt einen Satz von Cmdlets, die das
Substantiv "Job" enthalten (Job-Cmdlets). Verwenden Sie diese
Cmdlets zum Erstellen, Starten, Verwalten und Lschen von
Hintergrundauftrgen sowie zum Abrufen der Ergebnisse eines
Hintergrundauftrags. Um eine Liste der Job-Cmdlets abzurufen,
geben Sie den folgenden Befehl ein:
get-command *-job

Weitere Informationen ber Hintergrundauftrge finden Sie unter
"about_Jobs".
Skriptdebugger

Windows PowerShell 2.0 enthlt einen Cmdlet-basierten Debugger
fr Skripts und Funktionen. Der Debugger wird durch eine
vollstndig dokumentierte ffentliche API untersttzt, mit der
Sie eigene Debugger erstellen oder Debugger anpassen oder
erweitern knnen.
Mit den Debugger-Cmdlets knnen Sie Haltepunkte in Zeilen, Spalten,
Variablen und Befehlen festlegen. Diese Cmdlets ermglichen die
Verwaltung der Haltepunkte und das Anzeigen der Aufrufliste. Sie
knnen bedingte Haltepunkte erstellen und benutzerdefinierte Aktionen
fr Haltepunkte festlegen, beispielsweise das Ausfhren von Diagnose-
und Protokollskripts.
Wenn Sie einen Haltepunkt erreichen, unterbricht Windows
PowerShell die Ausfhrung und startet den Debugger. Der
Debugger enthlt einen Satz von benutzerdefinierten Befehlen,
mit denen Sie den Code schrittweise durchlaufen knnen. Sie
knnen auch Standardbefehle von Windows PowerShell ausfhren,
um die Werte von Variablen anzuzeigen, und Sie knnen die
Ergebnisse mit Cmdlets untersuchen.

Weitere Informationen zum Debuggen finden Sie unter
"about_Debuggers".
Datenabschnitt

Skripts, die fr Windows PowerShell 2.0 entworfen wurden,
weisen einen oder mehrere DATA-Abschnitte auf, die die Daten
von der Skriptlogik trennen. Die Daten im neuen DATA-Abschnitt
sind auf eine angegebene Teilmenge der Windows PowerShell-
Skriptsprache beschrnkt.
In Windows PowerShell 2.0 wird der DATA-Abschnitt verwendet, um
die Skriptinternationalisierung zu untersttzen. Mit dem
DATA-Abschnitt knnen Sie Benutzermeldungszeichenfolgen
identifizieren und isolieren, die in mehrere Benutzerober-
flchensprachen bersetzt werden.
Weitere Informationen finden Sie unter "about_Data_Sections".
Skriptinternationalisierung

Die Features zur Skriptinternationalisierung von Windows
PowerShell 2.0 ermglichen es Ihnen, besser auf Benutzer in der
ganzen Welt einzugehen. Dank der Skriptinternationalisierung
knnen Skripts und Funktionen Meldungen und Hilfetext in
mehreren Sprachen anzeigen.

Die Features zur Skriptinternationalisierung fragen die im
Betriebssystem festgelegte Benutzeroberflchenkultur
($PsUICulture) whrend der Ausfhrung ab und importieren die
entsprechenden bersetzten Textzeichenfolgen, um sie
anschlieend dem Benutzer anzuzeigen.
Im Datenabschnitt knnen Sie Textzeichenfolgen getrennt von
Code speichern, sodass sie bequem identifiziert werden knnen.
Das neue Cmdlet "ConvertFrom-StringData" konvertiert
Textzeichenfolgen in wrterbuchhnliche Hashtabellen, um die
bersetzung zu erleichtern.

Weitere Informationen finden Sie unter
"about_Script_Internationalization".
WMI-Cmdlets

Die Funktionalitt fr die Windows-Verwaltungsinstrumentation
(Windows Management Instrumentation, WMI) von Windows
PowerShell 2.0 wurde durch Hinzufgen der folgenden Cmdlets
verbessert:
- Remove-WmiObject
- Set-WmiInstance
- Invoke-WmiMethod
Dem Cmdlet "Get-WmiObject" wurden neue Parameter hinzugefgt.
Alle WMI- Cmdlets untersttzen jetzt die folgenden Parameter:
- EnableAllPrivileges
- Impersonation
- Authentication
- Authority
Die neuen Parameter verbessern die Kontrolle ber die
Sicherheitskonfiguration von WMI-Vorgngen, ohne dass die Typen
in der .NET Framework-Klassenbibliothek direkt bearbeitet
werden mssen.

Mit dem folgenden Befehl knnen Sie eine Liste der WMI-Cmdlets
anzeigen:
get-help *wmi*
Geben Sie "get-help" und anschlieend den Namen des Cmdlets
ein, um die entsprechende Hilfe anzuzeigen.
Das Cmdlet "Get-WinEvent"

Das Cmdlet "Get-WinEvent" ruft Ereignisse aus den Protokollen
der Ereignisanzeige und aus der Ereignisablaufverfolgung fr
Windows (Event Tracing for Windows, ETW) auf lokalen Computern
und auf Remotecomputern ab. Mit dem Cmdlet knnen Ereignisse
aus klassischen Ereignisprotokollen und aus Windows-Ereignispro-
tokollen abgerufen werden, die unter Windows Vista eingefhrt
wurden.

Mit Get-WinEvent knnen Sie die Objekte abrufen, die
Ereignisprotokolle, Ereignisprotokollanbieter und die
Ereignisse in den Protokollen darstellen. Mit Get-WinEvent
knnen Sie Ereignisse aus verschiedenen Quellen in einem Befehl
kombinieren. Das Cmdlet untersttzt erweiterte Abfragen in der
XML-Pfadsprache XPath, in XML und im Hashtabellenformat.
Get-WinEvent erfordert Windows Vista oder Windows Server 2008
und Microsoft .NET Framework 3.5.
Das Cmdlet "Out-Gridview"

Das Cmdlet "Out-GridView" zeigt die Ergebnisse anderer Befehle
in einer interaktiven Tabelle an, in der Sie die Ergebnisse
durchsuchen, sortieren, anordnen und filtern knnen.
Beispielsweise knnen Sie die Ergebnisse der Befehle
"Get-Process", "Get-WmiObject", "Get-WinEvent" oder
"Get-Eventlog" an Out-GridView senden und dann die
Tabellenfeatures verwenden, um die Daten zu untersuchen.
help out-gridview -full
Das Cmdlet "Add-Type"

Mit dem Cmdlet "Add-Type" knnen Sie Windows PowerShell .NET
Framework-Typen aus dem Quellcode einer anderen .NET
Framework-Sprache hinzufgen.

Add-Type kompiliert den Quellcode, mit dem die Typen erstellt
und die Assemblys generiert werden, die die neuen .NET
Framework-Typen enthalten. Anschlieend knnen Sie die .NET
Framework-Typen in Windows PowerShell-Befehlen mit den von .NET
Framework bereitgestellten Standardobjekttypen verwenden.
Sie knnen mit Add-Type auch Assemblys in die Sitzung laden,
damit Sie die Typen in den Assemblys in Windows PowerShell
verwenden knnen.
Add-Type ermglicht das Entwickeln neuer .NET Framework-Typen,
das Verwenden von .NET Framework-Typen in C#-Bibliotheken und
das Zugreifen auf Win32-APIs.

Weitere Informationen finden Sie unter "Add-Type".
Ereignisbenachrichtigung

In Windows PowerShell 2.0 wird die Ereignisbenachrichtigung
eingefhrt. Benutzer knnen sich fr Ereignisse registrieren
und diese abonnieren, beispielsweise Windows PowerShell-
Ereignisse, WMI-Ereignisse oder .NET Framework-Ereignisse.
Auerdem knnen Benutzer synchron und asynchron auf Verwaltungs-
und Systemereignisse reagieren und diese berwachen und
weiterleiten.
Entwickler knnen Anwendungen schreiben, die die Ereignisarchi-
tektur verwenden, um Benachrichtigungen ber Statusnderungen
zu empfangen. Benutzer knnen Skripts schreiben, die
verschiedene Ereignisse abonnieren und auf den Inhalt reagieren.

Windows PowerShell stellt Cmdlets bereit, die neue Ereignisse
erstellen, Ereignisse und Ereignisabonnements abrufen,
Ereignisse registrieren und ihre Registrierung aufheben sowie
auf Ereignisse warten und Ereignisse lschen. Weitere
Informationen ber diese Cmdlets erhalten Sie mit folgendem Befehl:
get-command *-event

Module

Windows PowerShell-Module ermglichen das Aufteilen und
Organisieren von Windows PowerShell-Skripts in Einheiten, die
unabhngig, in sich abgeschlossen und wiederverwendbar sind.
Code aus einem Modul wird im eigenen Kontext ausgefhrt, sodass
Variablen, Funktionen, Aliasen und anderen Ressourcen in der
Sitzung keine Elemente hinzugefgt und diese nicht
berschrieben werden und keine entsprechenden Konflikte entstehen.

Sie knnen Module erstellen, verteilen, kombinieren, freigeben und
wiederverwenden, um einfache Skripts und komplexe Anwendungen zu
erstellen.
Windows PowerShell 2.0 enthlt Cmdlets zum Hinzufgen, Abrufen
und Entfernen von Modulen sowie zum Exportieren von
Modulelementen. Weitere Informationen ber die Cmdlets, die mit
Modulen verknpft sind, erhalten Sie mit folgendem Befehl:
get-command *-module*

Transaktionen

Windows PowerShell 2.0 bietet Untersttzung fr Transaktionen.
Transaktionen ermglichen es, eine ganze Reihe von Vorgngen
rckgngig zu machen. Transaktionen sind nur fr Vorgnge
verfgbar, die Transaktionen untersttzen. Sie knnen in
Anwendungen verwendet werden, die Unteilbarkeit, Konsistenz,
Isolation und Wiederherstellbarkeit erfordern, beispielsweise
Datenbanken und Message Queuing.
Cmdlets und Anbieter, die Transaktionen untersttzen, verfgen
ber einen neuen UseTransaction-Parameter. Um einen Vorgang in
einer Transaktion zu starten, verwenden Sie das Cmdlet
"Start-Transaction." Verwenden Sie den UseTransaction-Parameter
des jeweiligen Cmdlets zur Ausfhrung des Vorgangs, wenn der
Befehl Teil einer Transaktion sein soll.
Wenn bei einem Befehl in der Transaktion an einem beliebigen
Punkt ein Fehler auftritt, verwenden Sie das Cmdlet
"Rollback-Transaction", um alle Befehle in der Transaktion
rckgngig zu machen.
Wenn alle Befehle erfolgreich ausgefhrt werden, verwenden Sie
das Cmdlet "Commit-Transaction", um die Befehlsaktionen
dauerhaft zu machen.
Windows PowerShell 2.0 enthlt Cmdlets zum Starten, Verwenden
und Zurcksetzen von Transaktionen sowie zum Ausfhren
entsprechender Commits. Informationen ber diese Cmdlets
erhalten Sie mit folgendem Befehl:
get-command *transaction*

Wichtige nderungen an Windows PowerShell 1.0
-- Der Wert des Registrierungseintrags "PowerShellVersion" in
"HKLM\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine" wurde in 2.0
gendert.
-- Neue Cmdlets und Variablen wurden hinzugefgt. Dadurch kann
es zu Konflikten mit Variablen und Funktionen in Profilen und
Skripts kommen.
-- Der -IEQ-Operator fhrt einen Vergleich ohne Bercksichtigung
der Gro-/Kleinschreibung fr Zeichen aus.
-- Das Cmdlet "Get-Command" ruft zustzlich zu Cmdlets
standardmig Funktionen ab.
-- Systemeigene Befehle, die eine Benutzeroberflche generieren,
knnen nicht ber die Pipeline an das Cmdlet "Out-Host"
bergeben werden.
-- Es knnen Konflikte zwischen den neuen Schlsselwrtern
"Begin", "Process", "End" und "Dynamic Parameter" und
hnlichen Wrtern in Skripts und Funktionen auftreten. Durch
Interpretieren dieser Wrter als Schlsselwrter kann es zu
Analysefehlern kommen.
-- Die Auflsung von Cmdlet-Namen wurde gendert. In Windows
PowerShell 1.0 wurde ein Laufzeitfehler generiert, wenn zwei
Windows PowerShell-Snap-Ins Cmdlets mit dem gleichen Namen
exportiert haben. Wenn Sie den Namen des Befehls eingeben,
wird in Windows PowerShell 2.0 das Cmdlet ausgefhrt, das der
Sitzung zuletzt hinzugefgt wurde. Um einen Befehl
auszufhren, der nicht standardmig ausgefhrt wird,
qualifizieren Sie den Cmdlet-Namen mit dem Namen des
ursprnglichen Snap-Ins oder des ursprnglichen Moduls.
-- Geben Sie den Namen einer Funktion und anschlieend '-?' ein,
um ggf. das Hilfethema fr die Funktion aufzurufen.
-- Die Auflsung von Parametern fr Microsoft .NET
Framework-Methoden wurde gendert.
In Windows PowerShell 1.0 wurde beim Aufrufen einer
berladenen .NET-Methode mit mehr als einer Syntax, die am
besten geeignet ist, kein Fehler gemeldet. In Windows
PowerShell 2.0 wird die Mehrdeutigkeit als Fehler gemeldet.
Auerdem wurde in Windows PowerShell 2.0 der Algorithmus zur
Auswahl der am besten geeigneten Methode berarbeitet, um die
Anzahl von Mehrdeutigkeiten signifikant zu minimieren.
-- Wenn Sie eine Auflistung in der Pipeline auflisten und
versuchen, die Auflistung in der Pipeline zu ndern, lst
Windows PowerShell eine Ausnahme aus.

Beispielsweise knnten die folgenden Befehle in Windows
PowerShell 1.0 verwendet werden, in Windows PowerShell 2.0
verursachen sie nach dem ersten Pipelinedurchlauf jedoch
einen Fehler.
$h = @{Name="Hallo"; Value="Test"}
$h.keys | foreach-object {$h.remove($_)}
Um diesen Fehler zu vermeiden, erstellen Sie einen
Unterausdruck fr den Enumerator mit den Zeichen "$ ()". Beispiel:
$($h.keys) | foreach-object {$h.remove($_)}

Weitere Informationen ber Windows PowerShell 2.0 finden Sie
auf den folgenden Websites:

-- Windows PowerShell-Website
http://go.microsoft.com/fwlink/?LinkID=106031
-- Windows PowerShell-Teamblog:
http://go.microsoft.com/fwlink/?LinkId=143696
SIEHE AUCH
about_Data_Sections
about_Debuggers
about_Functions_Advanced
about_Jobs
about_Join
about_PSSessions
about_Remote
about_Script_Internationalization
about_Split

Das könnte Ihnen auch gefallen