Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
KURZBESCHREIBUNG
Beschreibt die neuen Features, die in Windows PowerShell 5.0 enthalten sind.
LANGE BESCHREIBUNG
Windows PowerShell 5.0 enthält wichtige neue Features, die die Nutzung erweitern, die Benutzerfreundlichkeit verbessern und es Ihnen ermöglichen, Windows-basierte Umgebungen einfacher und umfassender zu steuern und zu verwalten.
Windows PowerShell 5.0 ist abwärtskompatibel. Cmdlets, Anbieter, Module, Snap-Ins, Skripts, Funktionen und Profile, die für Windows PowerShell 4.0, Windows PowerShell 3.0 und Windows PowerShell 2.0 entwickelt wurden, funktionieren in der Regel ohne Änderungen in Windows PowerShell 5.0.
Windows PowerShell 5.0 wird standardmäßig unter Windows Server Technical Preview und Windows Technical Preview installiert. Um Windows PowerShell 5.0 unter Windows Server 2012 R2, Windows 8.1 Enterprise oder Windows 8.1 Pro zu installieren, laden Sie Windows Management Framework 5.0 herunter, und installieren Sie es. Lesen Sie unbedingt die Downloaddetails, und erfüllen Sie alle Systemanforderungen, bevor Sie Windows Management Framework 5.0 Preview installieren.
Weitere Informationen zu den Änderungen an Windows PowerShell 5.0 finden Sie unter Neuerungen in Windows PowerShell.
NEUE FUNKTIONEN
Neue Features in Windows PowerShell
Ab Windows PowerShell 5.0 können Sie mithilfe von Klassen entwickeln, indem Sie formale Syntax und Semantik verwenden, die anderen objektorientierten Programmiersprachen ähneln. Class, Enum und andere Schlüsselwörter wurden der Windows PowerShell-Sprache hinzugefügt, um das neue Feature zu unterstützen. Weitere Informationen zum Arbeiten mit Klassen finden Sie unter about_Classes.
In Zusammenarbeit mit Microsoft Research wurde das neue Cmdlet ConvertFrom-String hinzugefügt. ConvertFrom-String ermöglicht das Extrahieren und Analysieren von strukturierten Objekten aus dem Inhalt von Textzeichenfolgen. Weitere Informationen finden Sie unter ConvertFrom-String.
Ein neues Modul, Microsoft.PowerShell.Archive, enthält Cmdlets, mit denen Sie Dateien und Ordner in Archivdateien (auch als ZIP-Dateien bezeichnet) komprimieren, Dateien aus vorhandenen ZIP-Dateien extrahieren und ZIP-Dateien mit neueren Versionen von Dateien aktualisieren können, die darin komprimiert sind.
Ein neues Modul, OneGet, ermöglicht es Ihnen, Softwarepakete im Internet zu entdecken und zu installieren. Das OneGet-Modul ist ein Manager oder Multiplexer vorhandener Paket-Manager (auch als Paketanbieter bezeichnet), um die Windows-Paketverwaltung mit einer einzigen Windows PowerShell-Schnittstelle zu vereinheitlichen.
Mit dem neuen Modul PowerShellGet können Sie Module und DSC-Ressourcen im PowerShell-Ressourcenkatalog oder in einem internen Modulrepository suchen, installieren, veröffentlichen und aktualisieren, das Sie durch Ausführen des Cmdlets Register-PSRepository einrichten können.
New-Item, Remove-Item und Get-ChildItem wurden verbessert, um das Erstellen und Verwalten symbolischer Links zu unterstützen. Der ItemType-Parameter für New-Item akzeptiert den neuen Wert SymbolicLink. Jetzt können Sie symbolische Links in einer einzigen Zeile erstellen, indem Sie das Cmdlet New-Item ausführen.
Die Windows PowerShell-Transkription wurde verbessert und gilt nun nicht nur für den Konsolenhost (powershell.exesondern auch für alle Hostanwendungen (z. B. Windows PowerShell ISE). Transkriptionsoptionen (einschließlich der Aktivierung eines systemweiten Transkripts) können konfiguriert werden, indem Sie die Gruppenrichtlinieneinstellung PowerShell-Transkription aktivieren aktivieren, die sich unter Administrative Vorlagen/Windows-Komponenten/Windows PowerShell befindet.
Mit einer neuen Funktion für die detaillierte Skriptablaufverfolgung können Sie die detaillierte Nachverfolgung und Analyse der Verwendung von Windows PowerShell-Skripts auf einem System aktivieren. Nachdem Sie die detaillierte Skriptablaufverfolgung aktiviert haben, protokolliert Windows PowerShell alle Skriptblöcke im Ereignisprotokoll der Ereignisablaufverfolgung für Windows (ETW) (Microsoft-Windows-PowerShell/Operational).
Ab Windows PowerShell 5.0 unterstützen neue Cmdlets für die kryptografische Nachrichtensyntax die Ver- und Entschlüsselung von Inhalten mithilfe des IETF-Standardformats für den kryptografischen Schutz von Nachrichten, wie in RFC5652 dokumentiert. Die Cmdlets Get-CmsMessage, Protect-CmsMessage und Unprotect-CmsMessage wurden dem Microsoft.PowerShell.Security-Modul hinzugefügt.
Mit den neuen Cmdlets im Microsoft.PowerShell.Utility-Modul, Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug und Disable-RunspaceDebug können Sie Debugoptionen für einen Runspace festlegen und das Debuggen in einem Runspace starten und beenden. Zum Debuggen beliebiger Runspaces, d. h. Runspaces, die nicht der Standardrunspace für eine Windows PowerShell-Konsole oder Windows PowerShell ISE-Sitzung sind, können Sie mit Windows PowerShell Haltepunkte in einem Skript festlegen und durch Hinzufügen von Haltepunkten die Ausführung des Skripts verhindern, bis Sie einen Debugger anfügen können, um das Runspaceskript zu debuggen. Dem Windows PowerShell-Skriptdebugger für Runspaces wurde Unterstützung für das geschachtelte Debuggen für beliebige Runspaces hinzugefügt.
Mit den neuen Cmdlets Enter-PSHostProcess und Exit-PSHostProcess können Sie Windows PowerShell-Skripts in Prozessen debuggen, die vom aktuellen Prozess getrennt sind, der in der Windows PowerShell-Konsole ausgeführt wird. Führen Sie Enter-PSHostProcess aus, um eine bestimmte Prozess-ID einzugeben oder an diese anzufügen, und führen Sie dann Get-Runspace aus, um die aktiven Runspaces innerhalb des Prozesses zurückzugeben. Führen Sie Exit-PSHostProcess aus, um die Verbindung vom Prozess zu lösen, wenn Sie mit dem Debuggen des Skripts innerhalb des Prozesses fertig sind.
Dem Modul Microsoft.PowerShell.Utility wurde ein neues Wait-Debugger-Cmdlet hinzugefügt. Sie können Wait-Debugger ausführen, um ein Skript im Debugger zu beenden, bevor Sie die nächste Anweisung im Skript ausführen.
Der Windows PowerShell-Workflowdebugger unterstützt jetzt die Vervollständigung von Befehlen oder Registerkarten, und Sie können geschachtelte Workflowfunktionen debuggen. Sie können jetzt STRG+UNTB drücken, um den Debugger in einem ausgeführten Skript, sowohl in lokalen als auch in Remotesitzungen und in einem Workflowskript einzugeben.
Dem Microsoft.PowerShell.Core-Modul wurde ein Debug-Job-Cmdlet hinzugefügt, um ausgeführte Auftragsskripts für Windows PowerShell-Workflow, Hintergrund und Aufträge, die in Remotesitzungen ausgeführt werden, zu debuggen.
Der neue Status AtBreakpoint wurde für Windows PowerShell-Aufträge hinzugefügt. Der AtBreakpoint-Zustand wird angewendet, wenn ein Auftrag ein Skript ausführt, das festgelegte Haltepunkte enthält, und das Skript einen Haltepunkt erreicht hat. Wenn ein Auftrag an einem Debughaltepunkt beendet wird, müssen Sie den Auftrag debuggen, indem Sie das Cmdlet Debug-Job ausführen.
Windows PowerShell 5.0 implementiert die Unterstützung für mehrere Versionen eines einzelnen Windows PowerShell-Moduls im selben Ordner in $PSModulePath. Der ModuleSpecification-Klasse wurde eine RequiredVersion-Eigenschaft hinzugefügt, mit der Sie die gewünschte Version eines Moduls abrufen können. Diese Eigenschaft schließt sich gegenseitig mit der ModuleVersion-Eigenschaft aus. RequiredVersion wird jetzt als Teil des Werts des FullyQualifiedName-Parameters der Cmdlets Get-Module, Import-Module und Remove-Module unterstützt.
Sie können jetzt die Überprüfung der Modulversion durchführen, indem Sie das Cmdlet Test-ModuleManifest ausführen.
Die Ergebnisse des Cmdlets Get-Command zeigen jetzt die Spalte Version an. Der CommandInfo-Klasse wurde eine neue Version-Eigenschaft hinzugefügt. Get-Command zeigt Befehle aus mehreren Versionen desselben Moduls an. Die Version-Eigenschaft ist auch Teil der abgeleiteten Klassen von CmdletInfo: CmdletInfo und ApplicationInfo.
Mit einem neuen Get-ItemPropertyValue-Cmdlet können Sie den Wert einer Eigenschaft abrufen, ohne die Punktnotation zu verwenden. In älteren Versionen von Windows PowerShell können Sie z. B. den folgenden Befehl ausführen, um den Wert der Application Base-Eigenschaft des PowerShellEngine-Registrierungsschlüssels abzurufen:
$keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine' (Get-ItemProperty -Path $keypath -Name ApplicationBase).ApplicationBaseAb Windows PowerShell 5.0 können Sie
$keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine' Get-ItemPropertyValue -Path $keypath -Name ApplicationBaseEin neues NetworkSwitch-Modul enthält Cmdlets, mit denen Sie Switches, virtuelle LANs (VLAN) und grundlegende Layer-2-Netzwerkswitch-Portkonfigurationen auf Netzwerkswitches anwenden können, die mit dem Logo von Windows Server 2012 R2 (und höheren Versionen) zertifiziert sind.
Der Parameter FullyQualifiedName wurde Import-Module und Remove-Module Cmdlets hinzugefügt, um das Speichern mehrerer Versionen eines einzelnen Moduls zu unterstützen.
Save-Help, Update-Help, Import-PSSession, Export-PSSession und Get-Command verfügen über den neuen Parameter FullyQualifiedModule vom Typ ModuleSpecification. Fügen Sie diesen Parameter hinzu, um ein Modul anhand seines vollqualifizierten Namens anzugeben.
Der Wert von $PSVersionTable.PSVersion wurde auf Version 5.0 aktualisiert.
Neue Features in Windows PowerShell Konfiguration des gewünschten Zustands
Dank der Windows PowerShell-Sprachverbesserungen können Sie Windows PowerShell-DSC-Ressourcen (Desired State Configuration) mithilfe von Klassen definieren. Import-DscResource ist jetzt ein echtes dynamisches Keyword; Windows PowerShell analysiert das Stammmodul des angegebenen Moduls und sucht nach Klassen, die das DscResource-Attribut enthalten. Sie können jetzt Klassen verwenden, um DSC-Ressourcen zu definieren, in denen weder eine MOF-Datei noch ein DSCResource-Unterordner im Modulordner erforderlich ist. Eine Windows PowerShell-Moduldatei kann mehrere DSC-Ressourcenklassen enthalten.
Den folgenden Cmdlets im PSDesiredStateConfiguration-Modul wurde der neue Parameter ThrottleLimit hinzugefügt. Fügen Sie den Parameter ThrottleLimit hinzu, um die Anzahl der Zielcomputer oder -geräte anzugeben, auf denen der Befehl gleichzeitig ausgeführt werden soll.
- Get-DscConfiguration
- Get-DscConfigurationStatus
- Get-DscLocalConfigurationManager
- Restore-DscConfiguration
- Test-DscConfiguration
- Compare-DscConfiguration
- Publish-DscConfiguration
- Set-DscLocalConfigurationManager
- Start-DscConfiguration
- Update-DscConfiguration
Mit der zentralisierten DSC-Fehlerberichterstattung werden umfangreiche Fehlerinformationen nicht nur im Ereignisprotokoll protokolliert, sondern können zur späteren Analyse an einen zentralen Speicherort gesendet werden. Sie können diesen zentralen Speicherort verwenden, um DSC-Konfigurationsfehler zu speichern, die für einen Server in seiner Umgebung aufgetreten sind. Nachdem der Berichtsserver in der Metakonfiguration definiert wurde, werden alle Fehler an den Berichtsserver gesendet und dann in einer Datenbank gespeichert. Sie können diese Funktion unabhängig davon einrichten, ob ein Zielknoten für das Abrufen von Konfigurationen von einem Pullserver konfiguriert ist oder nicht.
Verbesserungen an Windows PowerShell ISE erleichtern die Erstellung von DSC-Ressourcen. Sie können nun Folgendes tun.
- Listen Sie alle DSC-Ressourcen innerhalb eines Konfigurations- oder Knotenblocks auf, indem Sie STRG+Leertaste in eine leere Zeile innerhalb des Blocks eingeben.
- Automatische Vervollständigung für Ressourceneigenschaften des Enumerationstyps.
- Automatischer Abschluss für die DependsOn-Eigenschaft von DSC-Ressourcen, basierend auf anderen Ressourceninstanzen in der Konfiguration.
- Verbesserte Vervollständigung der Registerkarten für Ressourceneigenschaftswerte.
Ein neues DscLocalConfigurationManager-Attribut gibt einen Konfigurationsblock als Metakonfiguration an, die zum Konfigurieren des lokalen DSC-Konfigurations-Managers verwendet wird. Dieses Attribut beschränkt eine Konfiguration darauf, nur Elemente zu enthalten, die den lokalen DSC-Konfigurations-Manager konfigurieren. Während der Verarbeitung generiert diese Konfiguration eine *.meta.mof-Datei, die dann durch Ausführen des Cmdlets Set-DscLocalConfigurationManager an die entsprechenden Zielknoten gesendet wird.
Teilkonfigurationen sind jetzt in Windows PowerShell 5.0 zulässig. Sie können Konfigurationsdokumente in Fragmenten an einen Knoten übermitteln. Damit ein Knoten mehrere Fragmente eines Konfigurationsdokuments empfangen kann, muss der lokale Konfigurations-Manager des Knotens zuerst so festgelegt werden, dass die erwarteten Fragmente angegeben werden.
Die computerübergreifende Synchronisierung ist neu in DSC in Windows PowerShell 5.0. Mithilfe der integrierten WaitFor*-Ressourcen (WaitForAll, WaitForAny und WaitForSome) können Sie jetzt während der Konfigurationsausführung computerübergreifende Abhängigkeiten angeben, ohne externe Orchestrierungen. Diese Ressourcen ermöglichen die Synchronisierung von Knoten zu Knoten mithilfe von CIM-Verbindungen über das WS-Man Protokoll. Eine Konfiguration kann warten, bis sich der spezifische Ressourcenstatus eines anderen Computers ändert.
Just Enough Administration (JEA), ein neues Sicherheitsfeature für die Delegierung, nutzt DSC- und Windows PowerShell-eingeschränkte Runspaces, um Unternehmen vor Datenverlust oder Kompromittierung durch Mitarbeiter zu schützen, ob absichtlich oder unabsichtlich. Weitere Informationen zu JEA, einschließlich der Angaben, wo Sie die xJEA DSC-Ressource herunterladen können, finden Sie unter Just Enough Administration.
Die folgenden neuen Cmdlets wurden dem PSDesiredStateConfiguration-Modul hinzugefügt.
- Ein neues Get-DscConfigurationStatus Cmdlet ruft allgemeine Informationen zum Konfigurationsstatus von einem Zielknoten ab. Sie können den Status der letzten oder aller Konfigurationen abrufen.
- Ein neues Compare-DscConfiguration Cmdlet vergleicht eine angegebene Konfiguration mit dem tatsächlichen Zustand eines oder mehrerer Zielknoten.
- Ein neues Publish-DscConfiguration-Cmdlet kopiert eine MOF-Konfigurationsdatei auf einen Zielknoten, wendet die Konfiguration jedoch nicht an. Die Konfiguration wird während des nächsten Konsistenzdurchlaufs oder beim Ausführen des Cmdlets Update-DscConfiguration angewendet.
- Mit einem neuen Test-DscConfiguration Cmdlet können Sie überprüfen, ob eine resultierende Konfiguration mit der gewünschten Konfiguration übereinstimmt, indem Sie entweder True zurückgeben, wenn die Konfiguration mit der gewünschten Konfiguration übereinstimmt, oder False, wenn die tatsächliche Konfiguration nicht mit der gewünschten Konfiguration übereinstimmt.
- Ein neues Update-DscConfiguration Cmdlet erzwingt die Verarbeitung einer Konfiguration. Wenn sich der lokale Konfigurations-Manager im Pullmodus befindet, ruft das Cmdlet die Konfiguration vom Pullserver ab, bevor es sie anwendet.
Neue Features in Windows PowerShell ISE
- Sie können jetzt Windows PowerShell-Remoteskripts und -Dateien in einer lokalen Kopie von Windows PowerShell ISE bearbeiten, indem Sie Enter-PSSession ausführen, um eine Remotesitzung auf dem Computer zu starten, auf dem die Dateien gespeichert sind, die Sie bearbeiten möchten, und dann
PSEdit <path and file name on the remote computer>ausführen. Dieses Feature erleichtert die Bearbeitung von Windows PowerShell-Dateien, die in der Server Core-Installationsoption von Windows Server gespeichert sind, wo Windows PowerShell ISE nicht ausgeführt werden kann. - Das Cmdlet Start-Transcript wird jetzt in Windows PowerShell ISE unterstützt.
- Sie können jetzt Remoteskripts in Windows PowerShell ISE debuggen.
- Ein neuer Menübefehl, Alle unterbrechen (STRG+B), unterbricht den Debugger sowohl für lokale als auch für remote ausgeführte Skripts.
Neue Features in Windows PowerShell-Webdiensten (OData-IIS-Erweiterung für die Verwaltung)
- Ab Windows PowerShell 5.0 können Sie eine Reihe von Windows PowerShell-Cmdlets generieren, die auf der Funktionalität basieren, die von einem bestimmten OData-Endpunkt verfügbar gemacht wird, indem Sie das Cmdlet Export-ODataEndpointProxy ausführen.
Wichtige Fehlerbehebungen in Windows PowerShell 5.0
- Windows PowerShell 5.0 enthält eine neue COM-Implementierung, die erhebliche Leistungsverbesserungen bei der Arbeit mit COM-Objekten bietet.
Weitere Informationen zu Windows PowerShell 5.0 finden Sie auf den folgenden Websites:
- Website für Windows PowerShell-Skripterstellung
- Blog zum Windows PowerShell-Team
- Windows PowerShell Web Access
SIEHE AUCH
about_Desired_State_Configuration
SCHLÜSSELWÖRTER
Neuerungen in Windows PowerShell 5.0