about_Windows_PowerShell_5.0

KURZE BESCHREIBUNG

Beschreibt neue Features, die in Windows PowerShell 5.0 enthalten sind.

LANGE BESCHREIBUNG

Windows PowerShell 5.0 bietet wichtige neue Features, die die Verwendungsmöglichkeiten erweitern, die Benutzerfreundlichkeit verbessern und Ihnen ermöglichen, die Steuerung und Verwaltung von Windows-basierten Umgebungen leichter und umfassender zu bewältigen.

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 im Allgemeinen ohne Änderungen in Windows PowerShell 5.0.

Windows PowerShell 5.0 wird standardmäßig auf Windows Server Technical Preview und Windows Technical Preview installiert. Zum Installieren von Windows PowerShell 5.0 unter Windows Server 2012 R2, Windows 8.1 Enterprise oder Windows 8.1 Pro müssen Sie Windows Management Framework 5.0 herunterladen und installieren. Achten Sie darauf, dass Sie die Details für das Herunterladen lesen und alle Systemanforderungen erfüllen, bevor Sie Windows Management Framework 5.0 Preview installieren.

Weitere Informationen zu Änderungen an Windows PowerShell 5.0 finden Sie auch unter Neuigkeiten in Windows PowerShell.

NEUE FEATURES

Neue Features in Windows PowerShell

  • Ab Windows PowerShell 5.0 ist eine Entwicklung mithilfe von Klassen möglich, indem eine mit anderen objektorientierten Programmiersprachen vergleichbare formale Syntax und Semantik verwendet wird. 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 strukturierter Objekte aus dem Inhalt von Textzeichenfolgen. Weitere Informationen finden Sie unter „ConvertFrom-String“.

  • Das neue Modul „Microsoft.PowerShell.Archive“ bietet Cmdlets, mit denen Sie Dateien und Ordner in Archivdateien (.zip) komprimieren, Dateien aus vorhandenen ZIP-Dateien extrahieren und ZIP-Dateien mit neueren Versionen von Dateien aktualisieren können, die in ihnen komprimiert sind.

  • Mit dem neuen Modul OneGet können Sie Softwarepakete im Internet ermitteln und installieren. Das OneGet-Modul ist ein Manager oder Multiplexer vorhandener Paket-Manager (auch paketanbieter genannt), um die Windows-Paketverwaltung mit einer einzelnen Windows PowerShell-Schnittstelle zu vereinheitlichen.

  • Mit dem neuen Modul PowerShellGet können Sie Module und DSC-Ressourcen im PowerShell-Ressourcenkatalog oder in einem internen Modulrepos Register-PSRepository itory suchen, installieren, veröffentlichen und aktualisieren.

  • „New-Item“, „Remove-Item“ und „Get-ChildItem“ wurden verbessert, um das Erstellen und Verwalten symbolischer Verknüpfungen zu unterstützen. Der ItemType-Parameter für New-Item akzeptiert den neuen Wert SymbolicLink. Nun können Sie symbolische Verknüpfungen in einer einzigen Zeile erstellen, indem Sie das Cmdlet „New-Item“ ausführen.

  • Die Windows PowerShell-Aufzeichnung wurde verbessert und gilt nun für alle Hostinganwendungen (z. B. Windows PowerShell ISE) anstatt nur für den Konsolenhost (powershell.exe). Aufzeichnungsoptionen (einschließlich einer systemweiten Aufzeichnung) können durch Aktivieren der Gruppenrichtlinieneinstellung PowerShell-Aufzeichnung aktivieren („Administrative Vorlagen“/„Windows-Komponenten“/„Windows PowerShell“) konfiguriert werden.

  • Ein neues Feature zur detaillierten Ablaufverfolgung von Skripts ermöglicht eine detaillierte Nachverfolgung und Analyse der Verwendung von Windows PowerShell-Skripts auf einem System. Nachdem Sie die detaillierte Ablaufverfolgung von Skripts aktiviert haben, protokolliert Windows PowerShell alle Skriptblöcke im ETW-Ereignisprotokoll Microsoft-Windows-PowerShell/Operational.

  • Ab Windows PowerShell 5.0 unterstützen die neuen CMS-Cmdlets (Cryptographic Message Syntax) die Ver- und Entschlüsselung von Inhalten mithilfe des IETF-Standardformats für kryptografisch geschützte Nachrichten, wie unter RFC5652 dokumentiert. Die Cmdlets „Get-CmsMessage“, „Protect-CmsMessage“ und „Unprotect-CmsMessage“ wurden dem Modul Microsoft.PowerShell.Security hinzugefügt.

  • Neue Cmdlets im Modul Microsoft.PowerShell.Utility (Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug, Disable-RunspaceDebug), ermöglichen das Festlegen von Debugoptionen für einen Runspace sowie das Starten und Beenden des Debuggens in einem Runspace. 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 hinzugefügte Haltepunkte die Ausführung des Skripts beenden, bis Sie einen Debugger zum Debuggen des Runspaceskripts anfügen können. Dem Windows PowerShell-Skriptdebugger für Runspaces wurde Unterstützung für das geschachtelte Debugging für beliebige Runspaces hinzugefügt.

  • Die neuen Cmdlets „Enter-PSHostProcess“ und „Exit-PSHostProcess“ ermöglichen das Debuggen von Windows PowerShell-Skripts in vom aktuellen Prozess getrennten Prozessen, der in der Windows PowerShell-Konsole ausgeführt wird. Führen Sie „Enter-PSHostProcess“ zum Eingeben einer oder Anfügen an eine bestimmte Prozess-ID und dann „Get-Runspace“ zum Zurückgeben der aktiven Runspaces innerhalb des Prozesses aus. Führen Sie „Exit-PSHostProcess“ zum Trennen vom Prozess aus, wenn Sie mit dem Debuggen des Skripts innerhalb des Prozesses fertig sind.

  • Das Cmdlet „Wait-Debugger“ wurde dem Modul Microsoft.PowerShell.Utility hinzugefügt. Sie können „Wait-Debugger“ ausführen, um ein Skript im Debugger zu beenden, bevor die nächste Anweisung im Skript ausgeführt wird.

  • Der Windows PowerShell-Workflow-Debugger unterstützt nun die Vervollständigung mit der TAB-TASTE und das Debuggen geschachtelter Workflowfunktionen. Sie können jetzt STRG+PAUSE drücken, um den Debugger in einem ausgeführten Skript, in lokalen und Remotesitzungen und in einem Workflowskript zu öffnen.

  • Das Cmdlet „Debug-Job“ wurde dem Modul Microsoft.PowerShell.Core hinzugefügt, um ausgeführte Auftragsskripts zu debuggen, die für Windows PowerShell-Workflowaufträge, Hintergrundaufträge und in Remotesitzungen ausgeführte Aufträge ausgeführt werden.

  • Der neue Status „AtBreakpoint“ wurde für Windows PowerShell-Aufträge hinzugefügt. Der Status „AtBreakpoint“ gilt, wenn ein Auftrag in einem Skript ausgeführt wird, das gesetzte Haltepunkte enthält, und das Skript einen Haltepunkt erreicht hat. Wenn ein Auftrag an einem Haltepunkt angehalten wird, müssen Sie den Auftrag durch Ausführen des Cmdlets „Debug-Job“ debuggen.

  • Windows PowerShell 5.0 implementiert in „$PSModulePath“ Unterstützung für mehrere Versionen eines einzelnen Windows PowerShell-Moduls in demselben Ordner. Die RequiredVersion-Eigenschaft wurde der ModuleSpecification-Klasse hinzugefügt, um die gewünschte Version eines Moduls zu erhalten. diese Eigenschaft schließt sich mit der ModuleVersion-Eigenschaft gegenseitig aus. „RequiredVersion“ wird nun als Teil des Werts des „FullyQualifiedName“-Parameters der Cmdlets „Get-Module“, „Import-Module“ und „Remove-Module“ unterstützt.

  • Durch Ausführen des Cmdlets „Test-ModuleManifest“ können Sie jetzt die Gültigkeit der Modulversion überprüfen.

  • Ergebnisse des Cmdlets „Get-Command“ enthalten nun die Spalte „Version“. Der „CommandInfo“-Klasse wurde die neue „Version“-Eigenschaft hinzugefügt. „Get-Command“ zeigt Befehle aus mehreren Versionen des gleichen Moduls. Die „Version“-Eigenschaft ist ebenfalls Teil der abgeleiteten Klassen von „CmdletInfo“: „CmdletInfo“ und „ApplicationInfo“.

  • Das neue Cmdlet „Get-ItemPropertyValue“ ermöglicht das Abrufen des Werts einer Eigenschaft ohne Verwendung der Punktnotation. Beispielsweise können Sie in älteren Versionen von Windows PowerShell den folgenden Befehl ausführen, um den Wert der ApplicationBase-Eigenschaft des PowerShellEngine-Registrierungsschlüssels abzurufen:

    $keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine'
    (Get-ItemProperty -Path $keypath -Name  ApplicationBase).ApplicationBase
    

    Ab Windows PowerShell 5.0 können Sie ausführen.

    $keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine'
    Get-ItemPropertyValue -Path $keypath -Name ApplicationBase
    
  • Ein neues NetworkSwitch-Modul enthält Cmdlets, mit denen Sie Switch, virtuelles LAN (VLAN) und grundlegende Konfiguration des Layer 2-Netzwerkswitchports auf Windows Server 2012 R2-logo-zertifizierten Netzwerkswitches (und neuere Versionen) anwenden können.

  • Der „FullyQualifiedName“-Parameter wurde den Cmdlets „Import-Module“ und „Remove-Module“ hinzugefügt, um die Speicherung mehrerer Versionen eines einzelnen Moduls zu unterstützen.

  • „Save-Help“, „Update-Help“, „Import-PSSession“, „Export-PSSession“ und „Get-Command“ haben den neuen Parameter „FullyQualifiedModule“ des Typs „ModuleSpecification“. Fügen Sie diesen Parameter hinzu, um ein Modul mit seinem vollqualifizierten Namen anzugeben.

  • Der Wert von $PSVersionTable.PSVersion wurde auf 5.0 aktualisiert.

Neue Features in Windows PowerShell DSC

  • Verbesserungen der Windows PowerShell-Sprache ermöglichen Ihnen das Definieren von Windows PowerShell-DSC-Ressourcen mithilfe von Klassen. Import-DscResource ist jetzt ein echtes dynamisches Schlüsselwort. Windows PowerShell analysiert das Stammmodul des angegebenen Moduls und sucht Klassen, die das DscResource-Attribut enthalten. Sie können jetzt Klassen verwenden, um DSC-Ressourcen zu definieren, bei denen weder eine MOF-Datei noch ein Unterordner des Typs „DSCResource“ im Modulordner erforderlich ist. Eine Windows PowerShell-Moduldatei kann mehrere DSC-Ressourcenklassen enthalten.

  • Den folgenden Cmdlets im Modul „PSDesiredStateConfiguration“ wurde der neue Parameter „ThrottleLimit“ hinzugefügt. Fügen Sie den „ThrottleLimit“-Parameter zum Angeben der Anzahl der Zielcomputer oder -geräte hinzu, auf die der Befehl gleichzeitig angewendet werden soll.

    • Get-DscConfiguration
    • Get-DscConfigurationStatus
    • Get-DscLocalConfigurationManager
    • Restore-DscConfiguration
    • Test-DscConfiguration
    • Compare-DscConfiguration
    • Publish-DscConfiguration
    • Set-DscLocalConfigurationManager
    • Start-DscConfiguration
    • Update-DscConfiguration
  • Bei der zentralen DSC-Fehlerberichterstattung werden ausführliche Fehlerinformationen nicht nur im Ereignisprotokoll protokolliert, sondern können auch 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 alle Server in ihrer Umgebung aufgetreten sind. Nachdem der Berichtsserver in der Metakonfiguration definiert wurde, werden alle Fehler an den Berichtsserver gesendet und anschließend in einer Datenbank gespeichert. Sie können diese Funktion unabhängig davon einrichten, ob der Zielknoten zum Abrufen von Konfigurationen von einem Pullserver konfiguriert ist.

  • Verbesserungen an der Windows PowerShell-ISE vereinfachen das Erstellen von DSC-Ressourcen. Sie haben nun die folgenden Möglichkeiten:

    • Auflisten aller DSC-Ressourcen in einem configuration- oder node-Block durch Drücken von STRG+LEERTASTE in einer leeren Zeile innerhalb des Blocks.
    • Automatische Vervollständigung für Ressourceneigenschaften mit dem enumeration-Typ.
    • Automatische Vervollständigung für die DependsOn-Eigenschaft von DSC-Ressourcen basierend auf anderen Ressourceninstanzen in der Konfiguration.
    • Bessere Vervollständigung mit der TAB-TASTE von Eigenschaftswerten von Ressourcen.
  • Das neue DscLocalConfigurationManager-Attribut kennzeichnet einen Konfigurationsblock als Metakonfiguration, die zum Konfigurieren des lokalen Konfigurations-Managers von DSC verwendet wird. Dieses Attribut beschränkt eine Konfiguration auf ausschließlich Elemente, die zum Konfigurieren des lokalen Konfigurations-Managers von DSC dienen. Während der Verarbeitung generiert diese Konfiguration eine *.meta.mof-Datei, die dann mit dem Cmdlet „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 empfängt, muss zuerst die lokale Configuration Manager des Knotens festgelegt werden, um die erwarteten Fragmente anzugeben.

  • Die computerübergreifende Synchronisierung in DSC in Windows PowerShell 5.0 ist neu. Mithilfe der integrierten WaitFor*-Ressourcen (WaitForAll, WaitForAny und WaitForSome) können Sie jetzt ohne externe Orchestrierungen computerübergreifende Abhängigkeiten im Verlauf von Konfigurationsausführungen angeben. Diese Ressourcen ermöglichen eine Synchronisierung zwischen Knoten mithilfe von CIM-Verbindungen über das Protokoll „WS-Man“. Eine Konfiguration kann warten, bis sich der Zustand einer bestimmten Ressource eines anderen Computers geändert hat.

  • Just Enough Administration (JEA), ein neues Delegierungssicherheitsfeature, nutzt DSC und von Windows PowerShell eingeschränkte Runspaces, um Unternehmen vor (absichtlichen oder unabsichtlichen) Datenverlusten oder Gefährdungen durch Mitarbeiter zu schützen. Weitere Informationen zu JEA, so z. B. zum Herunterladen der xJEA DSC-Ressource, finden Sie unter Just Enough Administration.

  • Dem Modul „PSDesiredStateConfiguration“ wurden die folgenden neuen Cmdlets hinzugefügt.

    • Das neue Cmdlet „Get-DscConfigurationStatus“ ruft allgemeine Informationen zum Konfigurationsstatus von einem Knoten ab. Sie erhalten den Status der letzten oder aller Konfigurationen.
    • Das neue Cmdlet „Compare-DscConfiguration“ vergleicht eine angegebene Konfiguration mit dem tatsächlichen Status eines oder mehrerer Zielknoten.
    • Das neue Cmdlet „Publish-DscConfiguration“ kopiert eine MOF-Konfigurationsdatei auf einen Zielknoten, ohne die Konfiguration anzuwenden. Diese Konfiguration wird während des nächsten Konsistenzdurchlaufs oder bei Ausführen des Cmdlets „Update-DscConfiguration“ angewendet.
    • Mit dem neuen Cmdlet „Test-DscConfiguration“ können Sie überprüfen, ob eine resultierende Konfiguration der gewünschten Konfiguration entspricht. Zurückgegeben wird entweder „true“, wenn die Konfiguration der gewünschten Konfiguration entspricht, oder „false“, wenn die tatsächliche Konfiguration nicht mit der gewünschten Konfiguration übereinstimmt.
    • Das neue Cmdlet „Update-DscConfiguration“ erzwingt die Verarbeitung einer Konfiguration. Wenn sich der lokale Konfigurations-Managers im Pullmodus befindet, ruft das Cmdlet die Konfiguration vom Pullserver ab, bevor diese angewendet wird.

Neue Features in der Windows PowerShell ISE

  • Sie können remote Windows PowerShell Skripts 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 werden, die Sie bearbeiten möchten, und dann ausführenPSEdit <path and file name on the remote computer>. Dieses Feature erleichtert die Bearbeitung von Windows PowerShell-Dateien, für die Server Core-Installationsoption von Windows Server gespeichert sind, bei der Windows PowerShell-ISE nicht ausgeführt werden kann.
  • Das Cmdlet „Start-Transcript“ wird jetzt in der Windows PowerShell-ISE unterstützt.
  • Sie können Remoteskripts nun in der Windows PowerShell-ISE debuggen.
  • Der neue Menübefehl Alle unterbrechen (STRG+B) unterbricht den Debugger bei lokal und remote ausgeführten Skripts.

Neue Features in Windows PowerShell-Webdienste (Verwaltung der OData-IIS-Erweiterung)

  • Ab Windows PowerShell 5.0 können Sie einen Satz von Windows PowerShell Cmdlets basierend auf der Funktionalität generieren, 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 bietet eine neue COM-Implementierung, die bei der Arbeit mit COM-Objekten erhebliche Leistungssteigerungen bietet.

Weitere Informationen zu Windows PowerShell 5.0 finden Sie auf den folgenden Websites:

SIEHE AUCH

about_Classes

about_Debuggers

about_Desired_State_Configuration

about_Updatable_Help

Save-Help

Get-Module

Debug-Job

Update-Help

Get-Process

Remove-Computer

Set-ExecutionPolicy

Add-Computer

ConvertFrom-String

Invoke-RestMethod

Set-JobTrigger

Set-ScheduledJob

New-JobTrigger

Register-ScheduledJob

Enable-JobTrigger

Disable-JobTrigger

SCHLÜSSELWÖRTER

Neuerungen in Windows PowerShell 5.0