Neuerungen in Windows PowerShell 5.0What's New in Windows PowerShell 5.0

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 includes significant new features that extend its use, improve its usability, and allow you to control and manage Windows-based environments more easily and comprehensively.

Windows PowerShell 5.0 ist abwärtskompatibel.Windows PowerShell 5.0 is backward-compatible. 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.Cmdlets, providers, modules, snap-ins, scripts, functions, and profiles that were designed for Windows PowerShell 4.0, Windows PowerShell 3.0, and Windows PowerShell 2.0 generally work in Windows PowerShell 5.0 without changes.

Installieren von Windows PowerShellInstalling Windows PowerShell

Windows PowerShell 5.0 wird standardmäßig unter Windows Server 2016 Technical Preview und Windows installiert.Windows PowerShell 5.0 is installed by default on Windows Server 2016 Technical Preview and Windows 10.

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.To install Windows PowerShell 5.0 on Windows Server 2012 R2, Windows 8.1 Enterprise, or Windows 8.1 Pro, download and install Windows Management Framework 5.0. Achten Sie darauf, dass Sie die Details für das Herunterladen lesen und alle Systemanforderungen erfüllen, bevor Sie Windows Management Framework 5.0 installieren.Be sure to read the download details, and meet all system requirements, before you install Windows Management Framework 5.0.

In diesem ThemaIn this topic

Windows PowerShell 4.0-Updates im Updaterollup vom November 2014 (KB 3000850)Windows PowerShell 4.0 updates in November 2014 update rollup (KB 3000850)

Viele Updates und Verbesserungen für Windows PowerShell DSC (Desired State Configuration, Konfiguration für den gewünschten Zustand) in Windows PowerShell 4.0 stehen im Updaterollup vom November 2014 für Windows RT 8.1, Windows 8.1 und Windows Server 2012 R2 (KB 3000850) zur Verfügung.Many updates and improvements to Windows PowerShell Desired State Configuration (DSC) in Windows PowerShell 4.0 are available in the November 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 (KB 3000850). Sie können feststellen, ob KB 3000850 auf Ihrem System installiert ist, indem Sie Get-Hotfix -Id KB3000850 in Windows PowerShell ausführen.You can determine if KB 3000850 is installed on your system by running Get-Hotfix -Id KB3000850 in Windows PowerShell.

  • Aktualisierungen vorhandener Cmdlets im Modul PSDesiredStateConfigurationUpdates to existing cmdlets in the PSDesiredStateConfiguration module

  • Neue Cmdlets im Modul PSDesiredStateConfigurationNew cmdlets in the PSDesiredStateConfiguration module

  • SpracherweiterungenLanguage enhancements

    • „DependsOn“ unterstützt jetzt zusammengesetzte Ressourcen.DependsOn now supports composite resources.
    • „DependsOn“ unterstützt jetzt Zahlen in Namen von Ressourceninstanzen.DependsOn now supports numbers in resource instance names.
    • Knotenausdrücke, die als leer ausgewertet werden, lösen keine Fehler mehr aus.Node expressions that evaluate to empty no longer throw errors.
    • Ein Fehler, der auftritt, wenn ein Knotenausdruck als leer ausgewertet wird, wurde behoben.An error that occurs if a node expression evaluates to empty has been fixed.
    • Konfigurationen, die Konfigurationen aufrufen, funktionieren nun in der Windows PowerShell-Konsole.Configurations calling configurations now work in the Windows PowerShell console.
  • Verbesserungen beim PullmodusPull mode enhancements

    • Der Pullmodus unterstützt jetzt alle ZIP-Dateien.Pull mode now supports all ZIP files.
    • AllowModuleOverwrite funktioniert jetzt ordnungsgemäß.AllowModuleOverwrite now works correctly.
  • Verbesserungen der ResilienzResiliency improvements

    • Der neue DebugMode ermöglicht das erneute Laden von Ressourcenmodulen.New DebugMode lets you reload resource modules.
    • Wenn ein Konfigurationsfehler auftritt, wird die Datei „pending.mof“ nicht gelöscht.If a configuration failure occurs, the pending.mof file is not deleted.
    • Der lokale Konfigurations-Manager (Local Configuration Manager, LCM) arbeitet jetzt stabiler, wenn Metakonfigurationseinstellungen beschädigt wurden.The Local Configuration Manager (LCM) is now more resilient when metaconfiguration settings have become corrupted.
  • Verbesserungen bei der DiagnoseDiagnostic improvements

    • Eine Warnung wird angezeigt, wenn der LCM den Zeitgeber auf andere Einstellungen festlegt, als von Ihnen angegeben wurden.A warning is displayed when the LCM sets the timer to different settings than you have specified.
    • Fehlerprotokolldateien enthalten jetzt die Aufrufliste für Windows PowerShell-Ressourcen.Error log files now contain the call stack for Windows PowerShell resources.
  • Verbesserungen bei der FlexibilitätFlexibility improvements

    • Die Ressource „LocalConfigurationManager“ hat die neue Eigenschaft ActionAfterReboot.The LocalConfigurationManager resource has a new property, ActionAfterReboot.
      • ContinueConfiguration (Standardwert): Setzt eine Konfiguration automatisch fort, nachdem ein Zielknoten neu gestartet wurde.ContinueConfiguration (default value): Automatically resumes a configuration after a target node restarts.
      • StopConfiguration: Setzt eine Konfiguration nicht automatisch fort, nachdem ein Knoten neu gestartet wurde.StopConfiguration: Do not automatically resume a configuration after a node restarts.
    • Eine Konsistenzprüfung kann nun häufiger als ein Pullvorgang erfolgen oder umgekehrt.A consistency run can now occur more often than a PULL operation, or vice-versa.
    • Unterstützung der Versionsverwaltung: DSC kann nun ein Dokument erkennen, das auf einem neueren Client generiert wurde (enthalten in WMF 5.0).Versioning support: DSC can now recognize a document that was generated on a newer client (included with WMF 5.0).
  • Verbesserungen bei der FehlervermeidungError prevention improvements

    • Die Version des Moduls wird nun erzwungen, bevor eine Konfiguration angewendet wird.Module version is now enforced before a configuration is applied.
    • DebugPreference ist jetzt ordnungsgemäß für Aufrufe von „Get-, Set- oder Test-TargetResource“ festgelegt.DebugPreference is now set correctly for Get-, Set-, or Test-TargetResource calls.
  • Verbesserungen bei der Behandlung von AnmeldeinformationenCredential handling improvements

    • Ein Zertifikat wird nun verwendet, wenn sowohl Certificate als auch PSDscAllowPlainTextPassword angegeben werden.A certificate is now used, if both Certificate and PSDscAllowPlainTextPassword are specified.
    • Anmeldeinformationen werden auch für „Get-TargetResource“ entschlüsselt.Credentials are decrypted, even for Get-TargetResource.
    • Anmeldeinformationen für Metakonfigurationen werden ver- und entschlüsselt.Metaconfiguration credentials are encrypted and decrypted.
    • „PSCredentials“ werden nun entschlüsselt, wenn sie in einem eingebetteten Objekt enthalten sind.PSCredentials are now decrypted when they are in an embedded object.
  • Verbesserungen bei integrierten RessourcenBuilt-in resource improvements

    • Die Ressource „Package“The Package resource
      • Installiert nicht mehr das falsche Paket (entweder aus lokalen oder Webquellen).No longer installs the wrong package (either from local or web sources).
      • Unterstützt nun HTTPS.Now supports HTTPS.
    • Die Ressource „Package“ unterstützt jetzt HTTPS.There is now support for HTTPS in the Package resource.
    • Die Ressource „Archive“ unterstützt jetzt Anmeldeinformationen.Archive resource now supports credentials.

Neue Features in Windows PowerShell 5.0New features in Windows PowerShell 5.0

Neue Features in Windows PowerShellNew 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.Starting in Windows PowerShell 5.0, you can develop by using classes, by using formal syntax and semantics that are similar to other object-oriented programming languages. Class, Enum und andere Schlüsselwörter wurden der Windows PowerShell-Sprache hinzugefügt, um das neue Feature zu unterstützen.Class, Enum, and other keywords have been added to the Windows PowerShell language to support the new feature. Weitere Informationen zum Arbeiten mit Klassen finden Sie unter „about_Classes“.For more information about working with classes, see about_Classes.

  • Windows PowerShell 5.0 führt einen neuen, strukturierten Informationsdatenstrom ein, mit dessen Hilfe Sie strukturierte Daten zwischen einem Skript und seinen Aufrufern (oder seiner Hostingumgebung) übertragen können.Windows PowerShell 5.0 introduces a new, structured information stream that you can use to transmit structured data between a script and its callers (or hosting environment). Sie können nun „Write-Host“ zum Übergeben der Ausgabe an den Informationsdatenstrom nutzen.You can now use Write-Host to emit output to the information stream. Informationsdatenströme funktionieren auch für „PowerShell.Streams“, Aufträge, geplante Aufträge und Workflows.Information streams also work for PowerShell.Streams, jobs, scheduled jobs, and workflows. Die folgenden Features unterstützen den Informationsdatenstrom.The following features support the information stream.

    • Das neue Cmdlet „Write-Information“ ermöglicht Ihnen das Angeben, wie Windows PowerShell Daten in einem Informationsdatenstrom für einen Befehl verarbeitet.A new Write-Information cmdlet that lets you specify how Windows PowerShell handles information stream data for a command. „Write-Host“ ist ein Wrapper für „Write-Informationen“.Write-Host is a wrapper for Write-Information. „Write-Information“ ist auch eine unterstützte Workflowaktivität.Write-Information is also a supported workflow activity.
    • Mit den beiden neuen allgemeinen Parametern, „InformationVariable“ und „InformationAction“, können Sie festlegen, wie Informationsdatenströme von einem Befehl angezeigt werden.Two new common parameters, InformationVariable and InformationAction, let you determine how information streams from a command are displayed. Gültige Werte für „InformationAction“ sind „SilentlyContinue“, „Stop“, „Continue“, „Inquire“, „Ignore“ oder „Suspend“. „SilentlyContinue“ ist der Standardwert.Valid values for InformationAction are SilentlyContinue, Stop, Continue, Inquire, Ignore, or Suspend, with SilentlyContinue being the default. „InformationVariable“ gibt eine Zeichenfolge als Namen einer Variablen an, in der die „Write-Host“-Daten von einem Befehl gespeichert werden sollen.InformationVariable specifies a string as the name of a variable to which you want the Write-Host data from a command saved.
    • Die neue Einstellungsvariable „InformationPreference“ gibt Ihre Standardeinstellung für Daten in einem Informationsdatenstrom in einer Windows PowerShell-Sitzung an.A new preference variable, InformationPreference, specifies your default preference for information stream data in a Windows PowerShell session. Der Standardwert ist „SilentlyContinue“.The default value is SilentlyContinue.
    • Die beiden neuen allgemeinen Workflowparameter „PSInformation“ und „InformationAction“ wurden hinzugefügt.Two new workflow common parameters, PSInformation and InformationAction, have been added.
    • Wenn Sie den Befehl „Format-Table“ verwenden, werden Spalten jetzt automatisch formatiert, indem die ersten 300 ms Daten ausgewertet werden, die den Datenstrom durchlaufen.When you use the Format-Table command, table columns are now automatically formatted by evaluating the first 300ms of data that passes through the stream.
  • In Zusammenarbeit mit Microsoft Research wurde das neue Cmdlet „ConvertFrom-String“ hinzugefügt.In collaboration with Microsoft Research, a new cmdlet, ConvertFrom-String, has been added. „ConvertFrom-String“ ermöglicht das Extrahieren und Analysieren strukturierter Objekte aus dem Inhalt von Textzeichenfolgen.ConvertFrom-String lets you extract and parse structured objects from the content of text strings. Weitere Informationen finden Sie unter „ConvertFrom-String“.For more information, see ConvertFrom-String.

  • Das neue Cmdlet „Convert-String“ formatiert Text automatisch basierend auf einem Beispiel, das Sie in einem „-Example“-Parameter angeben.A new Convert-String cmdlet automatically formats text based on an example that you provide in an -Example parameter.

  • 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.A new module, Microsoft.PowerShell.Archive, includes cmdlets that let you compress files and folders into archive (also known as ZIP) files, extract files from existing ZIP files, and update ZIP files with newer versions of files compressed within them.

  • Mit dem neuen Modul „PackageManagement“ können Sie Softwarepakete im Internet ermitteln und installieren.A new module, PackageManagement, lets you discover and install software packages on the Internet. Das Modul „PackageManagement“ (zuvor als OneGet bezeichnet) dient zur Verwaltung vorhandener Paket-Manager (die auch als Paketanbieter bezeichnet werden) und zur Vereinheitlichung der Verwaltung von Windows-Paketen mithilfe einer einzigen Windows PowerShell-Schnittstelle.The PackageManagement (formerly known as OneGet) module is a manager or multiplexer of existing package managers (also called package providers) to unify Windows package management with a single Windows PowerShell interface.

  • Mit dem neuen Modul „PowerShellGet“ können Sie Module und DSC-Ressourcen im PowerShell-Katalog finden, installieren, veröffentlichen und aktualisieren. Dies ist auch in einem internen Modulrepository möglich, das Sie durch Ausführen des Cmdlets „Register-PSRepository“ einrichten können.A new module, PowerShellGet, lets you find, install, publish, and update modules and DSC resources on the PowerShell Gallery, or on an internal module repository that you can set up by running the Register-PSRepository cmdlet.

  • Das neue Schlüsselwort Hidden wurde hinzugefügt, um anzugeben, dass ein Member (eine Eigenschaft oder Methode) nicht standardmäßig in Ergebnissen von „Get-Member“ angezeigt wird (es sei denn, Sie fügen den Parameter „-Force“ hinzu).A new language keyword, Hidden, has been added to specify that a member (a property or a method) is not shown by default in Get-Member results (unless you add the -Force parameter). Eigenschaften oder Methoden, die als ausgeblendet markiert wurden, werden auch nicht in IntelliSense-Ergebnissen angezeigt. Dies gilt nur, wenn Sie sich in einem Kontext befinden, in dem der Member sichtbar sein soll. Die automatische Variable „$This“ soll beispielsweise ausgeblendete Member zeigen, wenn sie in der Klassenmethode enthalten ist.Properties or methods that have been marked hidden also do not show up in IntelliSense results, unless you are in a context where the member should be visible; for example, the automatic variable $This should show hidden members when in the class method.

  • „New-Item“, „Remove-Item“ und „Get-ChildItem“ wurden verbessert, um das Erstellen und Verwalten symbolischer Verknüpfungen zu unterstützen.New-Item, Remove-Item, and Get-ChildItem have been enhanced to support creating and managing symbolic links. Der ItemType-Parameter für „New-Item“ akzeptiert den neuen Wert SymbolicLink.The -ItemType parameter for New-Item accepts a new value, SymbolicLink. Nun können Sie symbolische Verknüpfungen in einer einzigen Zeile erstellen, indem Sie das Cmdlet „New-Item“ ausführen.Now you can create symbolic links in a single line by running the New-Item cmdlet.

  • „Get-ChildItem“ verfügt auch über den neuen „-Depth“-Parameter, den Sie mit dem „-Recurse“-Parameter verwenden, um die Rekursion zu beschränken.Get-ChildItem also has a new -Depth parameter, which you use with the -Recurse parameter to limit the recursion. Beispiel: „Get-ChildItem -Recurse -Depth 2“ gibt Ergebnisse aus dem aktuellen Ordner, aus allen untergeordneten Ordnern im aktuellen Ordner und allen Ordnern innerhalb der untergeordneten Ordner zurück.For example, Get-ChildItem -Recurse -Depth 2 returns results from the current folder, all of the child folders within the current folder, and all of the folders within the child folders.

  • „Copy-Item“ ermöglicht Ihnen nun das Kopieren von Dateien oder Ordnern aus einer Windows PowerShell-Sitzung in eine andere. Das bedeutet, dass Sie Dateien in Sitzungen kopieren können, die mit Remotecomputern verbunden sind (einschließlich Computern mit Nano Server, die keine andere Schnittstelle haben).Copy-Item now lets you copy files or folders from one Windows PowerShell session to another, meaning that you can copy files to sessions that are connected to remote computers, (including computers that are running Nano Server, and thus have no other interface). Zum Kopieren von Dateien geben Sie „PSSession“-IDs als Wert für die neuen Parameter „FromSession“ und „ToSession“ ein. Fügen Sie „-Path“ und „-Destination“ hinzu, um den Ursprungspfad und das Ziel anzugeben.To copy files, specify PSSession IDs as the value of the new -FromSession and -ToSession parameters, and add -Path and -Destination to specify origin path and destination, respectively. Beispiel: Copy-Item -Path c:\myFile.txt -ToSession $s -Destination d:\destinationFolder.For example, Copy-Item -Path c:\myFile.txt -ToSession $s -Destination d:\destinationFolder.

  • 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).Windows PowerShell transcription has been improved to apply to all hosting applications (such as Windows PowerShell ISE) in addition to the console host (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.Transcription options (including enabling a system-wide transcript) can be configured by enabling the Turn on PowerShell Transcription Group Policy setting, found in Administrative Templates/Windows Components/Windows PowerShell.

  • Ein neues Feature zur detaillierten Ablaufverfolgung von Skripts ermöglicht eine detaillierte Nachverfolgung und Analyse der Verwendung von Windows PowerShell-Skripts auf einem System.A new detailed script tracing feature lets you enable detailed tracking and analysis of Windows PowerShell scripting use on a system. Nachdem Sie die detaillierte Ablaufverfolgung von Skripts aktiviert haben, protokolliert Windows PowerShell alle Skriptblöcke im ETW-Ereignisprotokoll Microsoft-Windows-PowerShell/Operational.After you enable detailed script tracing, Windows PowerShell logs all script blocks to the Event Tracing for Windows (ETW) event log, 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.Starting in Windows PowerShell 5.0, new Cryptographic Message Syntax cmdlets support encryption and decryption of content by using the IETF standard format for cryptographically protecting messages as documented by RFC5652. Die Cmdlets „Get-CmsMessage“, „Protect-CmsMessage“ und „Unprotect-CmsMessage“ wurden dem Modul Microsoft.PowerShell.Security hinzugefügt.The Get-CmsMessage, Protect-CmsMessage, and Unprotect-CmsMessage cmdlets have been added to the Microsoft.PowerShell.Security module.

  • 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.New cmdlets in the Microsoft.PowerShell.Utility module, Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug, and Disable-RunspaceDebug, let you set debug options on a runspace, and start and stop debugging on a runspace. Für das Debuggen beliebiger Runspaces, d. h. Runspaces, die nicht der Standardrunspace für eine Windows PowerShell-Konsole oder Windows PowerShell-ISE-Sitzung sind, ermöglicht Windows PowerShell, dass Sie in einem Skript Haltepunkte setzen und veranlassen, dass hinzugefügte Haltepunkte die Ausführung des Skripts anhalten, bis Sie einen Debugger zum Debuggen des Runspaceskripts anfügen können.For debugging arbitrary runspaces (that is, runspaces that are not the default runspace for a Windows PowerShell console or Windows PowerShell ISE session) Windows PowerShell lets you set breakpoints in a script, and have added breakpoints stop the script from running until you can attach a debugger to debug the runspace script. Dem Windows PowerShell-Skriptdebugger für Runspaces wurde Unterstützung für das geschachtelte Debugging für beliebige Runspaces hinzugefügt.Nested debugging support for arbitrary runspaces has been added to the Windows PowerShell script debugger for runspaces.

  • Das Cmdlet „Format-Hex“ wurde dem Modul Microsoft.PowerShell.Utility hinzugefügt.A new Format-Hex cmdlet has been added to the Microsoft.PowerShell.Utility module. Mit Format-Hex- können Sie Text- und Binärdaten im Hexadezimalformat anzeigen.Format-Hex lets you view text or binary data in hexadecimal format.

  • Die Cmdlets „Get-Clipboard“ und „Set-Clipboard“ wurden dem Modul Microsoft.PowerShell.Utility hinzugefügt. Sie vereinfachen die Übertragung von Inhalten in und aus einer Windows PowerShell-Sitzung.Get-Clipboard and Set-Clipboard cmdlets have been added to the Microsoft.PowerShell.Utility module; they ease the transfer of content to and from a Windows PowerShell session. Die „Clipboard“-Cmdlets unterstützen Bilder, Audiodateien, Dateilisten und Text.The Clipboard cmdlets support images, audio files, file lists, and text.

  • Das Cmdlet „Clear-RecycleBin“ wurde dem Modul Microsoft.PowerShell.Utility hinzugefügt. Es dient zum Leeren des Papierkorbs für ein Festplattenlaufwerk, wozu auch externe Laufwerke zählen.A new cmdlet, Clear-RecycleBin, has been added to the Microsoft.PowerShell.Management module; this cmdlet empties the Recycle Bin for a fixed drive, which includes external drives. Standardmäßig werden Sie aufgefordert, einen „Clear-RecycleBin“-Befehl zu bestätigen, da die „ConfirmImpact“-Eigenschaft des Cmdlets auf „ConfirmImpact.High“ festgelegt ist.By default, you are prompted to confirm a Clear-RecycleBin command, because the ConfirmImpact property of the cmdlet is set to ConfirmImpact.High.

  • Das neue Cmdlet „New-TemporaryFile“ ermöglicht Ihnen während der Skripterstellung das Anlegen einer temporären Datei.A new cmdlet, New-TemporaryFile, lets you create a temporary file as part of scripting. Standardmäßig wird der neue temporäre Datei in C:\Users\<user name>\AppData\Local\Temp erstellt.By default, the new temporary file is created in C:\Users\<user name>\AppData\Local\Temp.

  • Die Cmdlets „Out-File“, „Add-Content“ und „Set-Content“ verfügen nun über den neuen Parameter „-NoNewline“, der eine neue Zeile hinter der Ausgabe weglässt.The Out-File, Add-Content, and Set-Content cmdlets now have a new -NoNewline parameter, which omits a new line after the output.

  • Das Cmdlet „New-Guid“ nutzt die .NET Framework-Klasse „Guid“ zum Generieren einer GUID, die beim Schreiben von Skripts oder DSC-Ressourcen nützlich ist.The New-Guid cmdlet leverages the .NET Framework Guid class to generate a GUID, useful when you are writing scripts or DSC resources.

  • Da Dateiversionsinformationen irreführend sein können, insbesondere, wenn eine Datei mit einem Patch versehen wurde, sind die neuen Skripteigenschaften „FileVersionRaw“ und „ProductVersionRaw“ für „FileInfo“-Objekte verfügbar.Because file version information can be misleading, particularly after a file is patched, new FileVersionRaw and ProductVersionRaw script properties are available for FileInfo objects. Sie können z. B. den folgenden Befehl ausführen, um die Werte dieser Eigenschaften für PowerShell.exe“ anzuzeigen, wobei $pid die Prozess-ID für eine ausgeführte Windows PowerShell-Sitzung enthält: Get-Process -Id $pid -FileVersionInfo | Format-List *version* -ForceFor example, you can run the following command to display the values of these properties for powershell.exe, where $pid contains the process ID for a running session of Windows PowerShell: Get-Process -Id $pid -FileVersionInfo | Format-List *version* -Force

  • 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.New cmdlets Enter-PSHostProcess and Exit-PSHostProcess let you debug Windows PowerShell scripts in processes separate from the current process that is running in the Windows PowerShell console. 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.Run Enter-PSHostProcess to enter, or attach to, a specific process ID, and then run Get-Runspace to return the active runspaces within the process. Führen Sie „Exit-PSHostProcess“ zum Trennen vom Prozess aus, wenn Sie mit dem Debuggen des Skripts innerhalb des Prozesses fertig sind.Run Exit-PSHostProcess to detach from the process when you are finished debugging the script within the process.

  • Das Cmdlet „Wait-Debugger“ wurde dem Modul Microsoft.PowerShell.Utility hinzugefügt.A new Wait-Debugger cmdlet has been added to the Microsoft.PowerShell.Utility module. Sie können „Wait-Debugger“ ausführen, um ein Skript im Debugger zu beenden, bevor die nächste Anweisung im Skript ausgeführt wird.You can run Wait-Debugger to stop a script in the debugger before running the next statement in the script.

  • Der Windows PowerShell-Workflow-Debugger unterstützt nun die Vervollständigung mit der TAB-TASTE und das Debuggen geschachtelter Workflowfunktionen.The Windows PowerShell Workflow debugger now supports command or tab completion, and you can debug nested workflow functions. 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.You can now press Ctrl+Break to enter the debugger in a running script, in both local and remote sessions, and in a workflow script.

  • 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.A Debug-Job cmdlet has been added to the Microsoft.PowerShell.Core module to debug running job scripts for Windows PowerShell Workflow, background, and jobs running in remote sessions.

  • Der neue Status „AtBreakpoint“ wurde für Windows PowerShell-Aufträge hinzugefügt.A new state, AtBreakpoint, has been added for Windows PowerShell jobs. 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.The AtBreakpoint state applies when a job is running a script that includes set breakpoints, and the script has hit a breakpoint. Wenn ein Auftrag an einem Haltepunkt angehalten wird, müssen Sie den Auftrag durch Ausführen des Cmdlets „Debug-Job“ debuggen.When a job is stopped at a debug breakpoint, you must debug the job by running the Debug-Job cmdlet.

  • Windows PowerShell 5.0 implementiert in „$PSModulePath“ Unterstützung für mehrere Versionen eines einzelnen Windows PowerShell-Moduls in demselben Ordner.Windows PowerShell 5.0 implements support for multiple versions of a single Windows PowerShell module in the same folder in $PSModulePath. Die „RequiredVersion“-Eigenschaft wurde der „ModuleSpecification“-Klasse hinzugefügt, um Sie beim Abrufen der gewünschten Version zu unterstützen. Diese Eigenschaft und die „ModuleVersion“-Eigenschaft schließen sich gegenseitig aus.A RequiredVersion property has been added to the ModuleSpecification class to help you get the desired version of a module; this property is mutually exclusive with the ModuleVersion property. „RequiredVersion“ wird nun als Teil des Werts des „FullyQualifiedName“-Parameters der Cmdlets „Get-Module“, „Import-Module“ und „Remove-Module“ unterstützt.RequiredVersion is now supported as part of the value of the FullyQualifiedName parameter of the Get-Module, Import-Module, and Remove-Module cmdlets.

  • Durch Ausführen des Cmdlets „Test-ModuleManifest“ können Sie jetzt die Gültigkeit der Modulversion überprüfen.You can now perform module version validation by running the Test-ModuleManifest cmdlet.

  • Ergebnisse des Cmdlets „Get-Command“ enthalten nun die Spalte „Version“. Der „CommandInfo“-Klasse wurde die neue „Version“-Eigenschaft hinzugefügt.Results of the Get-Command cmdlet now display a Version column; a new Version property has been added to the CommandInfo class. „Get-Command“ zeigt Befehle aus mehreren Versionen des gleichen Moduls.Get-Command shows commands from multiple versions of the same module. Die „Version“-Eigenschaft ist ebenfalls Teil der abgeleiteten Klassen von „CmdletInfo“: „CmdletInfo“ und „ApplicationInfo“.The Version property is also part of derived classes of CmdletInfo: CmdletInfo and ApplicationInfo.

  • „Get-Command“ hat den neuen Parameter „-ShowCommandInfo“, der „ShowCommand“-Informationen als „PSObjects“ zurückgibt.Get-Command has a new parameter, -ShowCommandInfo, that returns ShowCommand information as PSObjects. Dies ist besonders nützlich für die Ausführung von „Show-Command“ in der Windows PowerShell-ISE mithilfe von Windows PowerShell-Remoting.This is especially useful functionality for when Show-Command is run in Windows PowerShell ISE by using Windows PowerShell remoting. Der Parameter „-ShowCommandInfo“ ersetzt die vorhandene „Get-SerializedCommand“-Funktion im Modul „Microsoft.PowerShell.Utility“. Doch das „Get-SerializedCommand“-Skript ist weiterhin zur Unterstützung von Skripts unter einer Vorgängerversion verfügbar.The -ShowCommandInfo parameter replaces the existing Get-SerializedCommand function in the Microsoft.PowerShell.Utility module, but the Get-SerializedCommand script is still available to support downlevel scripting.

  • Das neue Cmdlet „Get-ItemPropertyValue“ ermöglicht das Abrufen des Werts einer Eigenschaft ohne Verwendung der Punktnotation.A new Get-ItemPropertyValue cmdlet lets you get the value of a property without using dot notation. 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: (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase).ApplicationBase.For example, in older releases of Windows PowerShell, you can run the following command to get the value of the Application Base property of the PowerShellEngine registry key: (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase).ApplicationBase. Ab Windows PowerShell 5.0 können Sie Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase ausführen.Starting in Windows PowerShell 5.0, you can run Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase.

  • In der Windows PowerShell-Konsole werden jetzt wie in der Windows PowerShell ISE Syntaxfarben verwendet.The Windows PowerShell console now uses syntax coloring, just as in Windows PowerShell ISE.

  • Das neue NetworkSwitch-Modul enthält Cmdlets, die es Ihnen ermöglichen, Netzwerkswitches, die mit dem Windows Server 2012 R2-Logo zertifiziert sind, mit einer Switch-, VLAN- und grundlegenden Schicht-2-Netzwerkswitch-Konfiguration zu versehen.A new NetworkSwitch module contains cmdlets that enable you to apply switch, virtual LAN (VLAN), and basic Layer 2 network switch port configuration to Windows Server 2012 R2 logo-certified network switches.

  • Der „FullyQualifiedName“-Parameter wurde den Cmdlets „Import-Module“ und „Remove-Module“ hinzugefügt, um die Speicherung mehrerer Versionen eines einzelnen Moduls zu unterstützen.The FullyQualifiedName parameter has been added to Import-Module and Remove-Module cmdlets, to support storing multiple versions of a single module.

  • „Save-Help“, „Update-Help“, „Import-PSSession“, „Export-PSSession“ und „Get-Command“ haben den neuen Parameter „FullyQualifiedModule“ des Typs „ModuleSpecification“.Save-Help, Update-Help, Import-PSSession, Export-PSSession, and Get-Command have a new parameter, FullyQualifiedModule, of type ModuleSpecification. Fügen Sie diesen Parameter hinzu, um ein Modul mit seinem vollqualifizierten Namen anzugeben.Add this parameter to specify a module by its fully qualified name.

  • Der Wert von $PSVersionTable.PSVersion wurde auf 5.0 aktualisiert.The value of $PSVersionTable.PSVersion has been updated to 5.0.

  • WMF 5.0 (PowerShell 5.0) beinhaltet das Pester-Modul.WMF 5.0 (PowerShell 5.0) includes the Pester module. Pester in ein Komponententestframework für PowerShell.Pester is a unit testing framework for PowerShell. Es stellt einige einfach verwendbare Schlüsselwörter zur Verfügung, mithilfe derer Sie Tests für Ihre Skripts erstellen können.It provides a few simple-to-use keywords that let you create tests for your scripts.

Neue Features in Windows PowerShell DSCNew features in Windows PowerShell Desired State Configuration

  • Verbesserungen der Windows PowerShell-Sprache ermöglichen Ihnen das Definieren von Windows PowerShell-DSC-Ressourcen mithilfe von Klassen.Windows PowerShell language enhancements let you define Windows PowerShell Desired State Configuration (DSC) resources by using classes. 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.Import-DscResource is now a true dynamic keyword; Windows PowerShell parses the specified module's root module, searching for classes that contain the DscResource attribute. 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.You can now use classes to define DSC resources, in which neither a MOF file nor a DSCResource subfolder in the module folder is required. Eine Windows PowerShell-Moduldatei kann mehrere DSC-Ressourcenklassen enthalten.A Windows PowerShell module file can contain multiple DSC resource classes.
  • Den folgenden Cmdlets im Modul „PSDesiredStateConfiguration“ wurde der neue Parameter „ThrottleLimit“ hinzugefügt.A new parameter, ThrottleLimit, has been added to the following cmdlets in the PSDesiredStateConfiguration module. Fügen Sie den „ThrottleLimit“-Parameter zum Angeben der Anzahl der Zielcomputer oder -geräte hinzu, auf die der Befehl gleichzeitig angewendet werden soll.Add the ThrottleLimit parameter to specify the number of target computers or devices on which you want the command to work at the same time.
    • Get-DscConfigurationGet-DscConfiguration
    • Get-DscConfigurationStatusGet-DscConfigurationStatus
    • Get-DscLocalConfigurationManagerGet-DscLocalConfigurationManager
    • Restore-DscConfigurationRestore-DscConfiguration
    • Test-DscConfigurationTest-DscConfiguration
    • Compare-DscConfigurationCompare-DscConfiguration
    • Publish-DscConfigurationPublish-DscConfiguration
    • Set-DscLocalConfigurationManagerSet-DscLocalConfigurationManager
    • Start-DscConfigurationStart-DscConfiguration
    • Update-DscConfigurationUpdate-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.With centralized DSC error reporting, rich error information is not only logged in the event log, but it can be sent to a central location for later analysis. Sie können diesen zentralen Speicherort verwenden, um DSC-Konfigurationsfehler zu speichern, die für alle Server in ihrer Umgebung aufgetreten sind.You can use this central location to store DSC configuration errors that have occurred for any server in their environment. Nachdem der Berichtsserver in der Metakonfiguration definiert wurde, werden alle Fehler an den Berichtsserver gesendet und anschließend in einer Datenbank gespeichert.After the report server is defined in the meta-configuration, all errors are sent to the report server, and then stored in a database. Sie können diese Funktion unabhängig davon einrichten, ob der Zielknoten zum Abrufen von Konfigurationen von einem Pullserver konfiguriert ist.You can set up this functionality regardless of whether or not a target node is configured to pull configurations from a pull server.
  • Verbesserungen an der Windows PowerShell-ISE vereinfachen das Erstellen von DSC-Ressourcen.Improvements to Windows PowerShell ISE ease DSC resource authoring. Sie haben nun die folgenden Möglichkeiten:You can now do the following.
    • Auflisten aller DSC-Ressourcen in einem configuration- oder node-Block durch Drücken von STRG+LEERTASTE in einer leeren Zeile innerhalb des Blocks.List all DSC resources within a configuration or node block by entering Ctrl+Space on a blank line within the block.
    • Automatische Vervollständigung für Ressourceneigenschaften mit dem enumeration-Typ.Automatic completion on resource properties of the enumeration type.
    • Automatische Vervollständigung für die DependsOn-Eigenschaft von DSC-Ressourcen basierend auf anderen Ressourceninstanzen in der Konfiguration.Automatic completion on the DependsOn property of DSC resources, based on other resource instances in the configuration.
    • Bessere Vervollständigung mit der TAB-TASTE von Eigenschaftswerten von Ressourcen.Improved tab completion of resource property values.
  • Benutzer können jetzt eine Ressource unter einem angegebenen Satz von Anmeldeinformationen ausführen, indem das PSDscRunAsCredential-Attribut einem „Node“-Block hinzugefügt wird.A user can now run a resource under a specified set of credentials by adding the PSDscRunAsCredential attribute to a Node block. Beispiel: PSDscRunAsCredential = Get-Credential Contoso\DscUser.For example, PSDscRunAsCredential = Get-Credential Contoso\DscUser. Diese Funktion ist nützlich zum Erstellen von Konfigurationen, die Windows Installer und ausführbare Installationsprogramme ausführen, auf die benutzerbezogene Registrierungsstruktur zugreifen oder andere Aufgaben außerhalb des aktuellen Benutzerkontexts ausführen.This functionality is useful for creating configurations that run Windows Installer and executable installers, access the per-user registry hive, or perform other tasks outside the current user context.
  • x86-basierte 32-Bit-Unterstützung wurde für das Configuration-Schlüsselwort hinzugefügt.32-bit (x86-based) support has been added for the Configuration keyword.
  • Windows PowerShell bietet nun Unterstützung für benutzerdefinierte Hilfe für DSC-Konfigurationen, die durch Hinzufügen von „[CmdletBinding()]“ zur generierten Konfigurationsfunktion definiert wird.Windows PowerShell now includes support for custom help for DSC configurations, defined by adding [CmdletBinding()] to the generated configuration function.
  • Das neue DscLocalConfigurationManager-Attribut kennzeichnet einen Konfigurationsblock als Metakonfiguration, die zum Konfigurieren des lokalen Konfigurations-Managers von DSC verwendet wird.A new DscLocalConfigurationManager attribute designates a configuration block as a meta-configuration, which is used to configure the DSC Local Configuration Manager. Dieses Attribut beschränkt eine Konfiguration auf ausschließlich Elemente, die zum Konfigurieren des lokalen Konfigurations-Managers von DSC dienen.This attribute restricts a configuration to containing only items which configure the DSC Local Configuration Manager. Während der Verarbeitung generiert diese Konfiguration eine „*.meta.mof“-Datei, die dann mit dem Cmdlet „Set-DscLocalConfigurationManager“ an die entsprechenden Zielknoten gesendet wird.During processing, this configuration generates a *.meta.mof file that is then sent to the appropriate target nodes by running the Set-DscLocalConfigurationManager cmdlet.
  • Teilkonfigurationen sind jetzt in Windows PowerShell 5.0 zulässig.Partial configurations are now allowed in Windows PowerShell 5.0. Sie können Konfigurationsdokumente in Fragmenten an einen Knoten übermitteln.You can deliver configuration documents to a node in fragments. Damit ein Knoten mehrere Fragmente eines Konfigurationsdokuments empfangen kann, muss der lokale Konfigurations-Manager des Knotens zuerst für das Angeben der erwarteten Fragmente eingerichtet sein.For a node to receive multiple fragments of a configuration document, the node's Local Configuration Manager must be first set to specify the expected fragments
  • Die computerübergreifende Synchronisierung in DSC in Windows PowerShell 5.0 ist neu.Cross-computer synchronization is new in DSC in Windows PowerShell 5.0. Mithilfe der integrierten Ressourcen des Typs „WaitFor*“ (WaitForAll, WaitForAny, WaitForSome) können Sie jetzt computerübergreifende Abhängigkeiten im Verlauf von Konfigurationsausführungen ohne externe Orchestrierungen angeben.By using the built-in WaitFor* resources (WaitForAll, WaitForAny, and WaitForSome), you can now specify dependencies across computers during configuration runs, without external orchestrations. Diese Ressourcen ermöglichen eine Synchronisierung zwischen Knoten mithilfe von CIM-Verbindungen über das Protokoll „WS-Man“.These resources provide node-to-node synchronization by using CIM connections over the WS-Man protocol. Eine Konfiguration kann warten, bis sich der Zustand einer bestimmten Ressource eines anderen Computers geändert hat.A configuration can wait for another computer's specific resource state to change.
  • 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.Just Enough Administration (JEA), a new delegation security feature, leverages DSC and Windows PowerShell constrained runspaces to help secure enterprises from data loss or compromise by employees, whether intentional or unintentional. Weitere Informationen zu JEA, so z. B. zum Herunterladen der xJEA DSC-Ressource, finden Sie unter Just Enough Administration.For more information about JEA, including where you can download the xJEA DSC resource, see Just Enough Administration.
  • Dem Modul „PSDesiredStateConfiguration“ wurden die folgenden neuen Cmdlets hinzugefügt.The following new cmdlets have been added to the PSDesiredStateConfiguration module.
    • Das neue Cmdlet „Get-DscConfigurationStatus“ ruft allgemeine Informationen zum Konfigurationsstatus von einem Knoten ab.A new Get-DscConfigurationStatus cmdlet gets high-level information about configuration status from a target node. Sie erhalten den Status der letzten oder aller Konfigurationen.You can obtain the status of the last, or of all configurations.
    • Das neue Cmdlet „Compare-DscConfiguration“ vergleicht eine angegebene Konfiguration mit dem tatsächlichen Status eines oder mehrerer Zielknoten.A new Compare-DscConfiguration cmdlet compares a specified configuration with the actual state of one or more target nodes.
    • Das neue Cmdlet „Publish-DscConfiguration“ kopiert eine MOF-Konfigurationsdatei auf einen Zielknoten, ohne die Konfiguration anzuwenden.A new Publish-DscConfiguration cmdlet copies a configuration MOF file to a target node, but does not apply the configuration. Diese Konfiguration wird während des nächsten Konsistenzdurchlaufs oder bei Ausführen des Cmdlets „Update-DscConfiguration“ angewendet.The configuration is applied during the next consistency pass, or when you run the Update-DscConfiguration cmdlet.
    • 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.A new Test-DscConfiguration cmdlet lets you verify that a resulting configuration matches the desired configuration, returning either True if the configuration matches the desired configuration, or False if the actual configuration does not match the desired configuration.
    • Das neue Cmdlet „Update-DscConfiguration“ erzwingt die Verarbeitung einer Konfiguration.A new Update-DscConfiguration cmdlet forces a configuration to be processed. Wenn sich der lokale Konfigurations-Managers im Pullmodus befindet, ruft das Cmdlet die Konfiguration vom Pullserver ab, bevor diese angewendet wird.If the Local Configuration Manager is in pull mode, the cmdlet gets the configuration from the pull server before applying it.

Neue Features in der Windows PowerShell ISENew features in Windows PowerShell ISE

  • Sie können jetzt Windows PowerShell-Remoteskripts und Dateien in einer lokalen Kopie der 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 PowerShell-Edition <Pfad und Dateinamen auf dem Remotecomputer> ausführen.You can now edit remote Windows PowerShell scripts and files in a local copy of Windows PowerShell ISE, by running Enter-PSSession to start a remote session on the computer that's storing the files you want to edit, and then running PSEdit <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.This feature eases editing Windows PowerShell files that are stored on the Server Core installation option of Windows Server, where Windows PowerShell ISE cannot run.
  • Das Cmdlet „Start-Transcript“ wird jetzt in der Windows PowerShell-ISE unterstützt.The Start-Transcript cmdlet is now supported in Windows PowerShell ISE.
  • Sie können Remoteskripts nun in der Windows PowerShell-ISE debuggen.You can now debug remote scripts in Windows PowerShell ISE.
  • Der neue Menübefehl Alle unterbrechen (STRG+B) unterbricht den Debugger bei lokal und remote ausgeführten Skripts.A new menu command, Break All (Ctrl+B), breaks into the debugger for both local and remotely-running scripts.

Neue Features in Windows PowerShell-Webdienste (Verwaltung der OData-IIS-Erweiterung)New features in Windows PowerShell Web Services (Management OData IIS Extension)

  • Ab Windows PowerShell 5.0 können Sie einen Satz von Windows PowerShell-Cmdlets basierend auf den Funktionen generieren, die von einem bestimmten OData-Endpunkt verfügbar gemacht werden, indem Sie das Cmdlet „Export-ODataEndpointProxy“ im neuen Modul Microsoft.PowerShell.OdataUtils ausführen.Starting in Windows PowerShell 5.0, you can generate a set of Windows PowerShell cmdlets based on the functionality exposed by a given OData endpoint, by running the Export-ODataEndpointProxy cmdlet, found in the new Microsoft.PowerShell.OdataUtils module.

Wichtige Fehlerbehebungen in Windows PowerShell 5.0Notable bug fixes in Windows PowerShell 5.0

  • Windows PowerShell 5.0 bietet eine neue COM-Implementierung, die bei der Arbeit mit COM-Objekten erhebliche Leistungssteigerungen bietet.Windows PowerShell 5.0 includes a new COM implementation, which offers significant performance improvements when you are working with COM objects. Eine dazugehörige Videodemonstration finden Sie unter Com_Perf_Improvements.For a video demonstration of the effect, see Com_Perf_Improvements.
  • Beträchtliche Leistungssteigerungen wurden bei der ersten Vervollständigung mit der TAB-TASTE in einer Windows PowerShell-Sitzung erreicht, deren Dauer um knapp 500 ms verkürzt wurde.Significant performance improvements have been made to the first tab completion in a Windows PowerShell session, shortening tab completion time by nearly 500 ms.

Neue Features in Windows PowerShell 4.0New features in Windows PowerShell 4.0

Windows PowerShell 4.0 ist abwärtskompatibel.Windows PowerShell 4.0 is backward-compatible. Cmdlets, Anbieter, Module, Snap-Ins, Skripts, Funktionen und Profile, die für Windows PowerShell 3.0 und Windows PowerShell 2.0 entwickelt wurden, funktionieren ohne Änderungen in Windows PowerShell 4.0.Cmdlets, providers, modules, snap-ins, scripts, functions, and profiles that were designed for Windows PowerShell 3.0 and Windows PowerShell 2.0 work in Windows PowerShell 4.0 without changes.

Windows PowerShell 4.0 wird standardmäßig unter Windows 8.1 und Windows Server 2012 R2 installiert.Windows PowerShell 4.0 is installed by default on Windows 8.1 and Windows Server 2012 R2. Zum Installieren von Windows PowerShell 4.0 unter Windows 7 mit SP1 oder Windows Server 2008 R2 müssen Sie Windows Management Framework 4.0 herunterladen und installieren.To install Windows PowerShell 4.0 on Windows 7 with SP1, or Windows Server 2008 R2, download and install Windows Management Framework 4.0. Achten Sie darauf, dass Sie die Details für das Herunterladen lesen und alle Systemanforderungen erfüllen, bevor Sie Windows Management Framework 4.0 installieren.Be sure to read the download details, and meet all system requirements, before you install Windows Management Framework 4.0.

Windows PowerShell 4.0 bietet die folgenden neuen Features.Windows PowerShell 4.0 includes the following new features.

Neue Features in Windows PowerShellNew features in Windows PowerShell

  • Windows PowerShell DSC (Desired State Configuration, Konfiguration für den gewünschten Zustand) ist ein neues Verwaltungssystem in Windows PowerShell 4.0, mit dem die Bereitstellung und Verwaltung von Konfigurationsdaten für Softwaredienste und die Umgebung ermöglicht wird, in der diese Dienste ausgeführt werden.Windows PowerShell Desired State Configuration (DSC) is a new management system in Windows PowerShell 4.0 that enables the deployment and management of configuration data for software services and the environment in which these services run. Weitere Informationen zu DSC finden Sie unter Erste Schritte mit Windows PowerShell DSC.For more information about DSC, see Get Started with Windows PowerShell Desired State Configuration.
  • Sie können nun mit Save-Help die Hilfe für Module speichern, die auf Remotecomputern installiert sind.Save-Help now lets you save help for modules that are installed on remote computers. Sie können Save-Help verwenden, um die Modulhilfe auf einen mit dem Internet verbundenen Client (auf dem möglicherweise nicht alle Module installiert sind, für die Sie Hilfe benötigen) herunterzuladen, und anschließend die gespeicherte Hilfe in einen freigegebenen Remoteordner oder auf einen Remotecomputer, der nicht über einen Internetzugang verfügt, zu kopieren.You can use Save-Help to download module Help from an Internet-connected client (on which not all of the modules for which you want help are necessarily installed), and then copy the saved Help to a remote shared folder or a remote computer that does not have Internet access.
  • Der Windows PowerShell-Debugger wurde insofern verbessert, dass das Debuggen von Windows PowerShell-Workflows und von Skripts ermöglicht wird, die auf Remotecomputern ausgeführt werden.The Windows PowerShell debugger has been enhanced to allow debugging of Windows PowerShell workflows, as well as scripts that are running on remote computers. Windows PowerShell-Workflows können nun auf Skriptebene über die Windows PowerShell-Befehlszeile oder über Windows PowerShell ISE gedebuggt werden.Windows PowerShell workflows can now be debugged at the script level from either the Windows PowerShell command line or Windows PowerShell ISE. Windows PowerShell-Skripts, darunter auch Skriptworkflows, können nun über Remotesitzungen gedebuggt werden.Windows PowerShell scripts, including script workflows, can now be debugged over remote sessions. Remotedebugsitzungen werden bei Windows PowerShell-Remotesitzungen beibehalten, die getrennt werden und später erneut eine Verbindung aufbauen.Remote debugging sessions are preserved over Windows PowerShell remote sessions that are disconnected and then later reconnected.
  • Durch einen RunNow-Parameter für Register-ScheduledJob und Set-ScheduledJob entfällt das Festlegen eines sofortigen Startdatums und einer Uhrzeit für Aufträge, indem der Trigger-Parameter verwendet wird.A RunNow parameter for Register-ScheduledJob and Set-ScheduledJob eliminates the need to set an immediate start date and time for jobs by using the Trigger parameter.
  • Mit Invoke-RestMethod und Invoke-WebRequest können Sie nun alle Header festlegen, indem Sie den „Headers“-Parameter verwenden.Invoke-RestMethod and Invoke-WebRequest now let you set all headers by using the Headers parameter. Obwohl dieser Parameter schon immer vorhanden war, handelte es sich dabei um einen von vielen Parametern für die Web-Cmdlets, die Ausnahmen oder Fehler verursacht haben.Although this parameter has always existed, it was one of several parameters for the web cmdlets that resulted in exceptions or errors.
  • Get-Module hat den neuen Parameter FullyQualifiedName des Typs ModuleSpecification[] .Get-Module has a new parameter, FullyQualifiedName, of the type ModuleSpecification[]. Mit dem FullyQualifiedName-Parameter von „Get-Module“ können Sie nun ein Modul angeben, indem Sie den Modulnamen, die Version und optional die GUID angeben.The FullyQualifiedName parameter of Get-Module now lets you specify a module by using the module's name, version, and optionally, its GUID.
  • Die Standard-Ausführungsrichtlinieneinstellung in Windows Server 2012 R2 lautet RemoteSigned.The default execution policy setting on Windows Server 2012 R2 is RemoteSigned. Unter Windows 8.1 gibt es keine Änderung der Standardeinstellung.On Windows 8.1, there is no change in default setting.
  • Ab Windows PowerShell 4.0 wird der Methodenaufruf mithilfe dynamischer Methodennamen unterstützt.Starting in Windows PowerShell 4.0, method invocation by using dynamic method names is supported. Sie können eine Variable zum Speichern eines Methodennamens verwenden, und anschließend die Methode dynamisch aufrufen, indem die Variable aufgerufen wird.You can use a variable to store a method name, and then dynamically invoke the method by calling the variable.
  • Asynchrone Workflowaufträge werden nicht mehr gelöscht, wenn das Timeoutintervall abgelaufen ist, das vom allgemeinen PSElapsedTimeoutSec-Workflowparameter angegeben wird.Asynchronous workflow jobs are no longer deleted when the time-out period that is specified by the PSElapsedTimeoutSec workflow common parameter has elapsed.
  • Der neue Parameter RepeatIndefinitely wurde den Cmdlets New-JobTrigger und Set-JobTrigger hinzugefügt.A new parameter, RepeatIndefinitely, has been added to the New-JobTrigger and Set-JobTrigger cmdlets. Dadurch entfällt die Angabe eines TimeSpan.MaxValue-Werts für den RepetitionDuration-Parameter, damit ein geplanter Auftrag für eine unbestimmte Zeit wiederholt ausgeführt werden kann.This eliminates the necessity of specifying a TimeSpan.MaxValue value for the RepetitionDuration parameter to run a scheduled job repeatedly for an indefinite period.
  • Der Passthru-Parameter wurde den Cmdlets Enable-JobTrigger und Disable-JobTrigger hinzugefügt.A Passthru parameter has been added to the Enable-JobTrigger and Disable-JobTrigger cmdlets. Der „Passthru“-Parameter zeigt alle Objekte an, die durch Ihren Befehl erstellt oder geändert wurden.The Passthru parameter displays any objects that are created or modified by your command.
  • Die Parameternamen für das Angeben einer Arbeitsgruppe in den Cmdlets Add-Computer und Remove-Computer sind nun konsistent.The parameter names for specifying a workgroup in the Add-Computer and Remove-Computer cmdlets are now consistent. Beide Cmdlets verwenden nun den Parameter WorkgroupName.Both cmdlets now use the parameter WorkgroupName.
  • Der neue allgemeine Parameter PipelineVariable wurde hinzugefügt.A new common parameter, PipelineVariable, has been added. Mit „PipelineVariable“ können Sie die Ergebnisse eines weitergeleiteten Befehls (oder Teil eines weitergeleiteten Befehls) als Variable speichern, die über den Rest der Pipeline übergeben werden kann.PipelineVariable lets you save the results of a piped command (or part of a piped command) as a variable that can be passed through the remainder of the pipeline.
  • Das Filtern einer Sammlung mithilfe einer Methodensyntax wird nun unterstützt.Collection filtering by using a method syntax is now supported. Dies bedeutet, Sie können eine Objektsammlung mithilfe einer vereinfachten Syntax filtern, ähnlich wie bei „Where()“ oder „Where-Object“, formatiert als Methodenaufruf.This means that you can now filter a collection of objects by using simplified syntax, similar to that for Where() or Where-Object, formatted as a method call. Es folgt ein Beispiel: (Get-Process).where({$.Name -match 'powershell'})The following is an example: (Get-Process).where({$.Name -match 'powershell'})
  • Das Get-Process-Cmdlet hat den neuen Switch-Parameter IncludeUserName.The Get-Process cmdlet has a new switch parameter, IncludeUserName.
  • Das neue Cmdlet Get-FileHash wurde hinzugefügt, das für eine angegebene Datei einen Dateihash in einem von mehreren Formaten zurückgibt.A new cmdlet, Get-FileHash, that returns a file hash in one of several formats for a specified file, has been added.
  • Wenn in Windows PowerShell 4.0 ein Modul den DefaultCommandPrefix-Schlüssel in seinem Manifest verwendet oder der Benutzer ein Modul mit dem Prefix-Parameter importiert, zeigt die ExportedCommands-Eigenschaft des Moduls die Befehle im Modul mit dem Präfix an.In Windows PowerShell 4.0, if a module uses the DefaultCommandPrefix key in its manifest, or if the user imports a module with the Prefix parameter, the ExportedCommands property of the module shows the commands in the module with the prefix. Wenn Sie die Befehle mithilfe der qualifizierten Modulsyntax „ModuleName\CommandName“ verwenden, müssen die Befehlsnamen das Präfix enthalten.When you run the commands by using the module-qualified syntax, ModuleName\CommandName, the command names must include the prefix.
  • Der Wert von $PSVersionTable.PSVersion wurde auf 4.0 aktualisiert.The value of $PSVersionTable.PSVersion has been updated to 4.0.
  • Das Verhalten des Where() -Operators hat sich geändert.Where() operator behavior has changed. Dass Collection.Where('property -match name') einen Zeichenfolgeausdruck im Format "Property -CompareOperator Value" akzeptiert, wird nicht mehr unterstützt.Collection.Where('property -match name') accepting a string expression in the format "Property -CompareOperator Value" is no longer supported. Der Where() -Operator akzeptiert jedoch Zeichenfolgeausdrücke im Format eines Skriptblocks. Dies wird weiterhin unterstützt.However, the Where() operator accepts string expressions in the format of a scriptblock; this is still supported.

Neue Features in Windows PowerShell Integrated Scripting Environment (ISE)New features in Windows PowerShell Integrated Scripting Environment (ISE)

  • Windows PowerShell ISE unterstützt das Windows PowerShell Workflow-Debuggen und das Remoteskript-Debuggen.Windows PowerShell ISE supports both Windows PowerShell Workflow debugging and remote script debugging.
  • Die IntelliSense-Unterstützung wurde für Windows PowerShell-DSC-Anbieter und -Konfigurationen hinzugefügt.IntelliSense support has been added for Windows PowerShell Desired State Configuration providers and configurations.

Neue Features in Windows PowerShell WorkflowNew features in Windows PowerShell Workflow

  • Für einen neuen allgemeinen PipelineVariable-Parameter wurde die Unterstützung im Kontext von iterativen Pipelines hinzugefügt, wie z.B. bei denen, die vom System Center Orchestrator verwendet werden. Dies sind Pipelines, die Befehle einfach von links nach rechts ausführen, im Gegensatz zur kombinierten Ausführung mithilfe von Streaming.Support has been added for a new PipelineVariable common parameter in the context of iterative pipelines, such as those used by System Center Orchestrator; that is, pipelines that run commands simply left-to-right, as opposed to interspersed running by using streaming.
  • Die Parameterbindung wurde so verbessert, dass sie auch außerhalb von Szenarios zur Vervollständigung mit der TAB-TASTE funktioniert, wie z. B. bei Befehlen, die im aktuellen Runspace nicht vorhanden sind.Parameter binding has been significantly enhanced to work outside of tab completion scenarios, such as with commands that do not exist in the current runspace.
  • Die Unterstützung benutzerdefinierter Containeraktivitäten wurde Windows PowerShell Workflow hinzugefügt.Support for custom container activities has been added to Windows PowerShell Workflow. Wenn ein Aktivitätsparameter den Typ Activity, Activity[] aufweist oder es sich dabei um eine generische Aktivitätssammlung handelt und der Benutzer einen Skriptblock als Argument angegeben hat, konvertiert Windows PowerShell Workflow den Skriptblock in XAML, wie bei der normalen Windows PowerShell-Skript-zu-Workflow-Kompilierung.If an activity parameter is of the types Activity, Activity[] (or is a generic collection of activities) and the user has supplied a script block as an argument, then Windows PowerShell Workflow converts the script block to XAML, as with normal Windows PowerShell script-to-workflow compilation.
  • Nach einem Absturz stellt Windows PowerShell Workflow automatisch eine neue Verbindung mit verwalteten Knoten her.After a crash, Windows PowerShell Workflow automatically reconnects to managed nodes.
  • Sie können nun Foreach -Parallel-Aktivitätsanweisungen mithilfe der ThrottleLimit-Eigenschaft drosseln.You can now throttle Foreach -Parallel activity statements by using the ThrottleLimit property.
  • Der allgemeine ErrorAction-Parameter weist den neuen gültigen Wert Suspend auf, der für Workflows exklusiv ist.The ErrorAction common parameter has a new valid value, Suspend, that is exclusively for workflows.
  • Ein Workflowendpunkt schließt sich nun automatisch, wenn keine aktiven Sitzungen ausgeführt werden, keine in Bearbeitung befindlichen Aufträge und keine ausstehenden Aufträge vorhanden sind.A workflow endpoint now automatically closes if there are no active sessions, no in-progress jobs, and no pending jobs. Dieses Feature behält Ressourcen auf dem Computer bei, der als Workflowserver agiert, wenn die automatischen Schließbedingungen erfüllt wurden.This feature conserves resources on the computer that is acting as the workflow server, when the automatic closure conditions have been met.

Neue Features in Windows PowerShell Web ServicesNew features in Windows PowerShell Web Services

  • Wenn in Windows PowerShell-Webdienste (PSWS, auch als Management OData IIS-Erweiterung bezeichnet) ein Fehler auftritt, während ein Cmdlet ausgeführt wird, werden detailliertere Fehlermeldungen an den Aufrufer zurückgegeben.When an error occurs in Windows PowerShell Web Services (PSWS, also called Management OData IIS Extension), while a cmdlet is running, more detailed error messages are returned to the caller. Außerdem befolgen Fehlercodes Richtlinien für Fehlercodes für die Microsoft Azure-REST-API.In addition, error codes follow Windows Azure REST API error code guidelines.
  • Ein Endpunkt kann nun die API-Version definieren, sowie die Nutzung einer bestimmten API-Version erzwingen.An endpoint can now define the API version, as well as enforce the usage of a specific API version. Wenn Versionskonflikte zwischen Client und Server auftreten, werden auf dem Client und auf dem Server Fehler angezeigt.Whenever version mismatches occur between client and server, errors are displayed to both the client and the server.
  • Die Verwaltung des Dispatchschemas wurde vereinfacht, indem Werte für im Schema fehlende Felder automatisch generiert werden.Management of the dispatch schema has been simplified by automatically generating values for any missing fields in the schema. Die Generierung erfolgt als ein hilfreicher Ausgangspunkt, selbst wenn das Dispatchschema nicht vorhanden ist.Generation occurs, as a helpful starting point, even if the dispatch schema does not exist.
  • Die Typenverarbeitung in PSWS wurde so verbessert, dass auch Typen unterstützt werden, die einen anderen als den Standardkonstruktor verwenden, indem sie sich ähnlich wie der PSTypeConverter in Windows PowerShell verhält.Type handling in PSWS has been improved to support types that use a different constructor than the default constructor, by behaving similarly to the PSTypeConverter in Windows PowerShell. Auf diese Weise können Sie mit PSWS komplexe Typen verwenden.This lets you use complex types with PSWS.
  • Mit PSWS können Sie eine zugewiesene Instanz nun während der Ausführung einer Abfrage erweitern.PSWS now allows expanding an associated instance while running a query. Bei größeren binären Inhalten (z. B. Bildern, Audio oder Videos) sind die Übertragungskosten erheblich, und es ist besser, binäre Daten ohne Codierung zu übertragen.For larger binary contents (such as images, audio, or video), the transfer cost is significant, and it is better to transfer binary data without encoding. PSWS verwendet benannte Ressourcenstreams für die Übertragung ohne Codierung.PSWS uses named resource streams for transferring without encoding. Der benannte Ressourcendatenstrom ist eine Eigenschaft einer Entität des Edm.Stream-Typs.The named resource stream is a property of an entity of the Edm.Stream type. Jeder benannte Ressourcenstream verfügt über einen separaten URI für GET- oder UPDATE-Vorgänge.Each named resource stream has a separate URI for GET or UPDATE operations.
  • OData -Aktionen bieten nun einen Mechanismus zum Aufrufen von nicht-CRUD-Methoden (Erstellen, Lesen, Aktualisieren und Löschen) für eine Ressource.OData actions now provide a mechanism for invoking non-CRUD (Create, Read, Update, and Delete) methods on a resource. Sie können eine Aktion aufrufen, indem Sie eine HTTP POST-Anforderung an den URI senden, die für die Aktion definiert ist.You can invoke an action by sending an HTTP POST request to the URI that is defined for the action. Die Parameter für die Aktion werden im Text der POST-Anforderung definiert.The parameters for the action are defined in the body of the POST request.
  • Um eine Konsistenz mit Windows Azure-Richtlinien herzustellen, sollten alle URLs vereinfacht werden.To be consistent with Windows Azure guidelines, all URLs should be simplified. Durch eine in Key As Segment enthaltene Änderung können einzelne Schlüssel als Segmente dargestellt werden.A change included in Key As Segment allows single keys to be represented as segments. Beachten Sie, dass Verweise, die mehrere Schlüsselwerte enthalten, wie zuvor durch Kommas getrennte Werte in einer eingeklammerten Notation benötigen.Note that references that use multiple key values require comma-separated values in parenthetical notation, as before.
  • Vor dieser Version von PSWS war die einzige Möglichkeit für die Ausführung von Erstell-, Aktualisierungs- und Löschvorgängen das Aufrufen von Post, Put, oder Delete zu einer Ressource auf oberster Ebene.Before this release of PSWS, the only way to perform Create, Update, or Delete operations was to invoke Post, Put, or Delete on a top-level resource. Neu in dieser Version von PSWS: mit enthaltenen Ressourcenvorgängen können Benutzer die gleichen Ergebnisse erzielen und dabei die gleiche Ressource weniger direkt erreichen, als wären die Ressourcen enthalten.New in this release of PSWS, Contained Resource operations let users achieve the same results while reaching the same resource less directly, approaching as if these resources were contained.

Neue Features in Windows PowerShell Web AccessNew features in Windows PowerShell Web Access

  • Sie können die Verbindung mit vorhandenen Sitzungen in der webbasierten Windows PowerShell Web Access-Konsole trennen und erneut herstellen.You can disconnect from and reconnect to existing sessions in the web-based Windows PowerShell Web Access console. Über die Schaltfläche Speichern in der webbasierten Konsole können Sie die Verbindung mit einer Sitzung trennen, ohne sie zu löschen und zu einem anderen Zeitpunkt eine neue Verbindung mit der Sitzung herstellen.A Save button in the web-based console lets you disconnect from a session without deleting it and reconnect to the session another time.
  • Standardparameter können auf der Anmeldeseite angezeigt werden.Default parameters can be displayed on the sign-in page. Um Standardparameter anzuzeigen, müssen Sie Werte für alle Einstellungen konfigurieren, die im Bereich Optionale Verbindungseinstellungen auf der Anmeldeseite in einer Datei namens web.config angezeigt werden. Sie können die Datei web.config verwenden, um alle optionalen Verbindungseinstellungen abgesehen von einem zweiten oder alternativen Anmeldeinformationssatz zu konfigurieren.To display default parameters, configure values for all of the settings displayed in the Optional Connection Settings area of the sign-in page in a file named web.config. You can use the web.config file to configure all optional connection settings except for a second or alternate set of credentials.
  • In Windows Server 2012 R2 können Sie die Autorisierungsregeln für Windows PowerShell Web Access remote verwalten.In Windows Server 2012 R2, you can remotely manage authorization rules for Windows PowerShell Web Access. Die Cmdlets Add-PswaAuthorizationRule und Test-PswaAuthorizationRule enthalten nun einen Credential-Parameter, mit dem Administratoren Autorisierungsregeln von einem Remotecomputer oder in einer Windows PowerShell Web Access-Sitzung verwalten können.The Add-PswaAuthorizationRule and Test-PswaAuthorizationRule cmdlets now include a Credential parameter that enables administrators to manage authorization rules from a remote computer or in a Windows PowerShell Web Access session.
  • Sie können nun mehrere Windows PowerShell Web Access-Sitzungen in einer einzelnen Browsersitzung ausführen, indem Sie für jede Sitzung eine neue Browserregisterkarte verwenden.You can now have multiple Windows PowerShell Web Access sessions in a single browser session by using a new browser tab for each session. Sie müssen nicht mehr eine neue Browsersitzung öffnen, um in der webbasierten Windows PowerShell-Konsole eine Verbindung mit einer neuen Sitzung herzustellen.You no longer need to open a new browser session to connect to a new session in the web-based Windows PowerShell console.

Wichtige Fehlerbehebungen in Windows PowerShell 4.0Notable bug fixes in Windows PowerShell 4.0

  • Get-Counter kann nun Zähler zurückgeben, die in französischen Editionen von Windows ein Apostroph-Zeichen enthalten.Get-Counter can now return counters that contain an apostrophe character in French editions of Windows.
  • Sie können nun die GetType-Methode zu deserialisierten Objekten anzeigen.You can now view the GetType method on deserialized objects.
  • Mit #Requires-Anweisungen können Benutzer nun bei Bedarf Administratorzugriffsrechte anfordern.#Requires statements now let users require Administrator access rights, if needed.
  • Das Cmdlet Import-Csv ignoriert nun leere Zeilen.The Import-Csv cmdlet now ignores blank lines.
  • Ein Problem wurde behoben, wenn Windows PowerShell ISE bei der Ausführung eines Invoke-WebRequest-Befehls zu viel Speicher verwendet.A problem where Windows PowerShell ISE uses too much memory when you are running an Invoke-WebRequest command has been fixed.
  • Get-Module zeigt nun Modulversionen in einer Version-Spalte an.Get-Module now displays module versions in a Version column.
  • Remove-Element -Recurse entfernt nun wie erwartet Elemente aus Unterordnern.Remove-Item -Recurse now removes items from subfolders as expected.
  • Eine UserName-Eigenschaft wurde zu Get-Process-Ausgabeobjekten hinzugefügt.A UserName property has been added to Get-Process output objects.
  • Das Cmdlet Invoke-RestMethod gibt nun alle verfügbaren Ergebnisse wieder.The Invoke-RestMethod cmdlet now returns all available results.
  • Add-Member wirkt sich jetzt auf Hashtabellen aus, selbst wenn darauf noch nicht zugegriffen wurde.Add-Member now takes effect on hashtables, even if the hashtables have not yet been accessed.
  • Select-Object -Expand verursacht keinen Fehler mehr oder generiert eine Ausnahme, wenn der Wert der Eigenschaft NULL oder leer ist.Select-Object -Expand no longer fails or generates an exception if the value of the property is null or empty.
  • Get-Process kann nun in einer Pipeline mit anderen Befehlen verwendet werden, die die ComputerName-Eigenschaft aus Objekten abruft.Get-Process can now be used in a pipeline with other commands that get the ComputerName property from objects.
  • ConvertTo-Json und ConvertFrom-Json können nun Begriffe in doppelten Anführungszeichen akzeptieren, und die dazugehörigen Fehlermeldungen sind nun lokalisierbar.ConvertTo-Json and ConvertFrom-Json can now accept terms within double quotes, and its error messages are now localizable.
  • Get-Job gibt nun alle abgeschlossenen geplanten Aufträge zurück, sogar in neuen Sitzungen.Get-Job now returns any completed scheduled jobs, even in new sessions.
  • Probleme mit der Bereitstellung von VHDs und deren Aufhebung mithilfe des FileSystem-Anbieters in Windows PowerShell 4.0 wurden behoben.Issues with mounting and unmounting VHDs by using the FileSystem provider in Windows PowerShell 4.0 have been fixed. Windows PowerShell kann nun neue Laufwerke erkennen, wenn sie in derselben Sitzung bereitgestellt werden.Windows PowerShell is now able to detect new drives when they are mounted in the same session.
  • Sie müssen nicht mehr explizit Module des Typs ScheduledJob oder Workflow laden, um mit ihren Auftragstypen zu arbeiten.You no longer need to explicitly load ScheduledJob or Workflow modules to work with their job types.
  • Am Prozess für den Import von Workflows wurden Leistungsverbesserungen vorgenommen, die geschachtelte Workflows definieren; dieser Prozess ist nun schneller.Performance improvements have been made to the process of importing workflows that define nested workflows; this process is now faster.

Neue Features in Windows PowerShell 3.0New features in Windows PowerShell 3.0

Windows PowerShell 3.0 bietet die folgenden neuen Features.Windows PowerShell 3.0 includes the following new features.

Windows PowerShell-WorkflowWindows PowerShell Workflow

Durch Windows PowerShell Workflow kann Windows PowerShell auf die Leistungsfähigkeit von Windows Workflow Foundation zurückgreifen.Windows PowerShell Workflow brings the power of Windows Workflow Foundation to Windows PowerShell. Sie können Workflows in XAML oder in der Windows PowerShell-Sprache schreiben und sie genau wie ein Cmdlet ausführen.You can write workflows in XAML or in the Windows PowerShell language and run them just as you would run a cmdlet. Das Cmdlet Get-Command ruft Workflowbefehle ab, das Cmdlet Get-Help ruft Hilfe für Workflows ab.The Get-Command cmdlet gets workflow commands and the Get-Help cmdlet gets help for workflows.

Workflows sind Sequenzen von Verwaltungsaktivitäten mehrerer Computer, die lange ausgeführt werden, wiederholbar, parallelisierbar, unterbrechbar und neu startbar sind.Workflows are sequences of multicomputer management activities that are long-running, repeatable, frequent, parallelizable, interruptible, suspendable, and restartable. Workflows können durch eine beabsichtigte oder unbeabsichtigte Unterbrechung fortgesetzt werden, z. B. nach einem Netzwerkausfall, einem Neustart von Windows oder einem Stromausfall.Workflows can be resumed from an intentional or accidental interruption, such as a network outage, a Windows restart, or a power failure.

Workflows sind außerdem portierbar; sie können als XAML-Dateien exportiert oder aus ihnen importiert werden.Workflows are also portable; they can be exported as or imported from XAML files. Sie können benutzerdefinierte Sitzungskonfigurationen schreiben, mit denen Workflows oder Aktivitäten durch delegierte oder untergeordnete Benutzer in einem Workflow ausgeführt werden können.You can write custom session configurations that allow workflow or activities in a workflow to be run by delegated or subordinate users.

Im Folgenden finden Sie die Vorteile von Windows PowerShell Workflow.The following are the benefits of Windows PowerShell Workflow

  • Automatisierung sequenzierter, langer Aufgaben.Automation of sequenced, long-running tasks.
  • Remoteüberwachung lange ausgeführter Aufgaben.Remote monitoring of long-running tasks. Status und Fortschritt von Aktivitäten sind jederzeit sichtbar.Status and progress of activities are visible at any time.
  • Verwaltung mehrerer Computer.Multicomputer management. Gleichzeitiges Ausführen von Aufgaben als Workflows zu Hundertern von verwalteten Knoten.Simultaneously run tasks as workflows on hundreds of managed nodes. Windows PowerShell Workflow enthält eine integrierte Bibliothek allgemeiner Verwaltungsparameter, z.B. PSComputerName, mit denen Verwaltungsszenarios für mehrere Computer umgesetzt werden können.Windows PowerShell Workflow includes a built-in library of common management parameters, such as PSComputerName, which enable multi-computer management scenarios.
  • Einzelne Aufgabenausführung komplexer Prozesse.Single task execution of complex processes. Sie können ähnliche Skripts kombinieren, die ein vollständiges End-to-End-Szenario in einen einzelnen Workflow implementiert.You can combine related scripts that implement an entire end-to-end scenario into a single workflow.
  • Persistenz: Ein Workflow wird an bestimmten Punkten gespeichert (oder zwischengespeichert), die vom Autor definiert wurden, sodass der Workflow bei der letzten persistent gespeicherten Aufgabe (oder dem Prüfpunkt) fortgesetzt werden kann, statt den Workflow vom Anfang erneut starten zu müssen.Persistence.: a workflow is saved (or check-pointed) at specific points defined by its author so you can resume the workflow from the last persisted task (or checkpoint), instead of restarting the workflow from the beginning.
  • Stabilität.Robustness. Automatisierte Wiederherstellung nach einem Fehler.Automated failure recovery. Workflows überstehen geplante und nicht geplante Neustarts.Workflows survive planned and unplanned restarts. Sie können die Workflowausführung unterbrechen und den Workflow anschließend vom letzten permanenten Punkt fortsetzen.You can suspend workflow execution and then resume the workflow from the last persistence point. Workflowautoren können festlegen, dass bestimmte Aktivitäten bei einem Fehler für einen oder mehrere verwaltete Knoten erneut ausgeführt werden.Workflow authors can designate specific activities to be re-run in case of failure on one or more managed nodes.
  • Möglichkeit, die Verbindung zu trennen, erneut eine Verbindung herzustellen, und zum Ausführen in getrennten Sitzungen.Ability to disconnect, reconnect, and run in disconnected sessions. Benutzer können eine Verbindung zum Workflowserver herstellen und sie trennen, der Workflow wird jedoch kontinuierlich ausgeführt.Users can connect and disconnect from the workflow server, but the workflow runs continuously. Sie können sich vom Clientcomputer abmelden oder den Clientcomputer neu starten und die Workflowausführung von einem anderen Computer überwachen, ohne den Workflow zu unterbrechen.You can log off of the client computer or restart the client computer and monitor the workflow execution from another computer without interrupting the workflow.
  • Planung.Scheduling. Workflowaufgaben können wie jedes Windows PowerShell-Cmdlet oder -Skript geplant werden.Workflow tasks can be scheduled like any Windows PowerShell cmdlet or script.
  • Workflow- und Verbindungsdrosselung.Workflow and Connection Throttling. Die Workflowausführung und Verbindungen zu Knoten können gedrosselt werden, sodass eine Skalierung und Hochverfügbarkeitsszenarios möglich sind.Workflow execution and connections to nodes can be throttled, thus enabling scalability and high-availability scenarios.

Windows PowerShell Web AccessWindows PowerShell Web Access

Windows PowerShell Web Access ist ein Windows Server 2012-Feature, mit dem Benutzer Windows PowerShell-Befehle und -Skripts in einer webbasierten Konsole ausführen können.Windows PowerShell Web Access is a Windows Server 2012 feature that lets users run Windows PowerShell commands and scripts in a web-based console. Geräte mit webbasierter Konsole benötigen Windows PowerShell, Remoteverwaltungssoftware oder Browser-Plug-In-Installationen nicht.Devices that use the web-based console do not require Windows PowerShell, remote management software, or browser plug-in installations. Erforderlich ist lediglich ein ordnungsgemäß konfiguriertes Windows PowerShell Web Access-Gateway und ein Browser auf dem Clientgerät, der JavaScript unterstützt und Cookies akzeptiert.All that is required is a properly-configured Windows PowerShell Web Access gateway and a client device browser that supports JavaScript and accepts cookies.

Weitere Informationen finden Sie unter Bereitstellen von Windows PowerShell Web Access.For more information, see Deploy Windows PowerShell Web Access.

Neue Windows PowerShell ISE-FeaturesNew Windows PowerShell ISE Features

Für Windows PowerShell 3.0 bietet Windows PowerShell Integrated Scripting Environment (ISE) viele neue Features, darunter IntelliSense, das Fenster „Befehl anzeigen“ und ein vereinheitlichter Konsolenbereich, Snippets, übereinstimmende Klammern, Bereich erweitern/reduzieren, automatisches Speichern, Liste zuletzt verwendeter Elemente, umfassende Kopie, Blockkopie und vollständige Unterstützung für das Schreiben von Windows PowerShell-Skriptworkflows.For Windows PowerShell 3.0, Windows PowerShell Integrated Scripting Environment (ISE) has many new features, including IntelliSense, Show-Command window, a unified Console Pane, snippets, brace-matching, expand-collapse sections, auto-save, recent items list, rich copy, block copy, and full support for writing Windows PowerShell script workflows. Weitere Informationen finden Sie unter Informationen about_Windows_PowerShell_ISE.For more information, see about_Windows_PowerShell_ISE.

Unterstützung für Microsoft .NET Framework 4Support for Microsoft .NET Framework 4

Windows PowerShell wurde während der Common Language Runtime 4.0 erstellt.Windows PowerShell is built against the Common Language Runtime 4.0. Cmdlet-, Skript- und Workflowersteller können die neuen Microsoft .NET Framework 4-Klassen in Windows PowerShell mit Features verwenden, zu denen unter anderen die Anwendungskompatibilität und Bereitstellung, Managed Extensibility Framework, paralleles Computing, Netzwerk, Windows Communication Foundation und Windows Workflow Foundation gehören.Cmdlet, script, and workflow authors can use the new Microsoft .NET Framework 4 classes in Windows PowerShell, with features that include Application Compatibility and Deployment, Managed Extensibility Framework, Parallel Computing, Networking, Windows Communication Foundation and Windows Workflow Foundation.

Unterstützung für Windows Preinstallation EnvironmentSupport for Windows Preinstallation Environment

Windows PowerShell 3.0 ist eine optionale Komponente des Windows Preinstallation Environment (Windows PE) 4.0 für Windows 8.Windows PowerShell 3.0 is an optional component of Windows Preinstallation Environment (Windows PE) 4.0 for Windows 8. Windows PE ist ein minimales Betriebssystem, mit dem ein Computer ohne Betriebssystem gestartet und für die Windows-Installation vorbereitet werden kann.Windows PE is a minimal operating system that starts a computer that has no operating system and prepares it for Windows installation. Windows PE kann zum Partitionieren und Formatieren von Festplatten, zum Kopieren von Datenträgerimages auf einen Computer und zum Auslösen der Windows-Einrichtung über eine Netzwerkfreigabe verwendet werden.Windows PE can be used to partition and format hard drives, copy disk images to a computer, and initiate Windows Setup from a network share. Windows PowerShell 3.0 kann unter Windows PE zum Verwalten von Bereitstellungs-, Diagnose- und Wiederherstellungsszenarien verwendet werden.Windows PowerShell 3.0 can be used on Windows PE to manage deployment, diagnostics, and recovery scenarios.

Getrennte SitzungenDisconnected Sessions

Ab Windows PowerShell 3.0 werden permanente durch den Benutzer verwaltete Sitzungen ("PSSessions"), die Sie mithilfe des New-PSSession-Cmdlets erstellen, auf dem Remotecomputer gespeichert.Beginning in Windows PowerShell 3.0, persistent user-managed sessions ("PSSessions") that you create by using the New-PSSession cmdlet are saved on the remote computer. Sie sind nicht mehr von der Sitzung abhängig, in der sie erstellt wurden.They are no longer dependent on the session in which they were created.

Sie können jetzt eine Sitzung trennen, ohne die Befehle zu unterbrechen, die in der Sitzung ausgeführt werden.You can now disconnect from a session without disrupting the commands that are running in the session. Sie können die Sitzung schließen und den Computer herunterfahren.You can close the session and shut down your computer. Später können Sie über eine andere Sitzung auf demselben oder einem anderen Computer erneut eine Verbindung zu der Sitzung herstellen.Later, you can reconnect to the session from a different session on the same or on a different computer.

Der Parameter ComputerNamedes Cmdlets Get-PSSession ruft nun alle Benutzersitzungen ab, die eine Verbindung mit dem Computer aufbauen, sogar wenn sie in einer anderen Sitzung auf einem anderen Computer gestartet wurden.The ComputerName parameter of the Get-PSSession cmdlet now gets all of the user's sessions that connect to the computer, even if they were started in a different session on a different computer. Sie können eine Verbindung zu den Sitzungen herstellen, die Ergebnisse der Befehle abrufen, neue Befehle starten, und anschließend die Verbindung zu der Sitzung trennen.You can connect to the sessions, get the results of commands, start new commands, and then disconnect from the session.

Neue Cmdlets wurden hinzugefügt, damit das Feature „Getrennte Sitzungen“ unterstützt wird. Dazu gehörenDisconnect-PSSession, Connect-PSSession und Receive-PSSession sowie neue Parameter, die den Cmdlets hinzugefügt wurden, die PSSessions verwalten, z. B. der Parameter InDisconnectedSession des Cmdlets Invoke-Command.New cmdlets have been added to support the Disconnected Sessions feature, including Disconnect-PSSession, Connect-PSSession, and Receive-PSSession, and new parameters have been added to cmdlets that manage PSSessions, such as the InDisconnectedSession parameter of the Invoke-Command cmdlet.

Die Funktion für getrennte Sitzungen wird nur unterstützt, wenn die Computer am startenden ("Client") und beendenden ("Server") Ende der Verbindung Windows PowerShell 3.0 ausführen.The Disconnected Sessions feature is supported only when the computers at both the originating ("client") and terminating ("server") ends of the connection are running Windows PowerShell 3.0.

Zuverlässige SitzungskonnektivitätRobust Session Connectivity

Windows PowerShell 3.0 erkennt unerwartete Verbindungsunterbrechungen zwischen dem Client und dem Server und versucht, die Verbindung neu aufzubauen und die Ausführung automatisch fortzusetzen.Windows PowerShell 3.0 detects unexpected losses of connectivity between the client and server and attempts to reestablish connectivity and resume execution automatically. Wenn die Client/Server-Verbindung nicht erneut in der geplanten Zeit hergestellt werden kann, erhält der Benutzer eine Benachrichtigung und die Sitzung wird getrennt.If the client-server connection cannot be reestablished in the allotted time, the user is notified and the session is disconnected. Während des Versuchs eine neue Verbindung herzustellen, gibt Windows PowerShell dem Benutzer kontinuierliches Feedback.During the attempt to reconnect, Windows PowerShell provides continuous feedback to the user.

Wenn die getrennte Sitzung mithilfe des InvokeCommand gestartet wurde, erstellt Windows PowerShell einen Auftrag für die getrennte Sitzung, damit ein erneuter Verbindungsaufbau schneller erfolgen und die Ausführung fortgesetzt werden kann.If the disconnected session was started by using the InvokeCommand, Windows PowerShell creates a job for the disconnected session to make it easier to reconnect and resume execution.

Diese Features bieten eine zuverlässigere und wiederherstellbare Remoting-Erfahrung, mit der Benutzer lange Aufgaben ausführen können, für die zuverlässige Sitzungen wie Workflows erforderlich sind.These features provide a more reliable and recoverable remoting experience and allow users to perform long-running tasks that require robust sessions, such as workflows.

Aktualisierbares HilfesystemUpdatable Help System

Sie können aktualisierte Hilfedateien für die Cmdlets in Ihren Modulen herunterladen.You can now download updated help files for the cmdlets in your modules. Das Cmdlet Update-Help ermittelt die neuesten Hilfedateien, lädt sie aus dem Internet herunter, entpackt sie, überprüft sie auf Gültigkeit und installiert sie im ordnungsgemäßen sprachspezifischen Verzeichnis für das Modul.The Update-Help cmdlet identifies the newest help files, downloads them from the Internet, unpacks them, validates them, and installs them in the correct language-specific directory for the module.

Um die aktualisierten Hilfedateien zu verwenden, geben Sie einfach Get-Help ein.To use the updated help files, just type Get-Help. Windows oder Windows PowerShell müssen nicht neu gestartet werden.You do not need to restart Windows or Windows PowerShell. Starten Sie Windows PowerShell mit der Option „Als Administrator ausführen“, um Hilfe für Module im Verzeichnis „$pshome“ zu aktualisieren.To update help for modules in the $pshome directory, start Windows PowerShell with the "Run as administrator" option.

Um Benutzer zu unterstützen, die keinen Internetzugriff haben und sich hinter Firewalls befinden, lädt das neue Cmdlet Save-Help Hilfedateien in ein Dateisystemverzeichnis (z. B. eine Dateifreigabe) herunter.To support users who don't have Internet access and users behind firewalls, the new Save-Help cmdlet downloads help files to a file system directory, such as a file share. Benutzer können anschließend das Cmdlet Update-Help verwenden, um aktualisierte Hilfedateien aus der Dateifreigabe abzurufen.Users can then use the Update-Help cmdlet to get updated help files from the file share.

Sie können das Cmdlet Update-Help verwenden, um Hilfedateien für alle oder bestimmte Module in allen unterstützten Benutzeroberflächenkulturen zu aktualisieren.You can use the Update-Help cmdlet to update help files for all or particular modules in all supported UI cultures. Sie können sogar einen Update-Help-Befehl in Ihrem Windows PowerShell-Profil ablegen.You can even put an Update-Help command in your Windows PowerShell profile. Standardmäßig lädt Windows PowerShell die Hilfedateien für ein Modul nicht öfter als einmal täglich herunter.By default, Windows PowerShell downloads the help files for a module no more than once each day.

Windows 8- und Windows Server 2012-Module enthalten keine Hilfedateien.Windows 8 and Windows Server 2012 modules do not include help files. Um die neuesten Hilfedateien herunterzuladen, geben Sie Update-Help ein.To download the latest help files, type Update-Help. Geben Sie Get-Help (ohne Parameter) ein, um weitere Informationen zu erhalten, oder lesen Sie about_Updatable_Help.For more information, type Get-Help (without parameters) or see about_Updatable_Help.

Wenn die Hilfedateien für ein Cmdlet nicht auf dem Computer installiert sind, zeigt das Cmdlet Get-Help nun automatisch generierte Hilfe an.When the help files for a cmdlet are not installed on the computer, the Get-Help cmdlet now displays auto-generated help. Die automatisch generierte Hilfe umfasst die Befehlssyntax und Anweisungen für die Nutzung des Cmdlets Update-Help zum Herunterladen der Hilfedateien.The auto-generated help includes the command syntax and instructions for using the Update-Help cmdlet to download help files.

Jeder Modulautor kann eine aktualisierbare Hilfe für das Modul unterstützen.Any module author can support Updatable Help for their module. Sie können Hilfedateien in das Modul einschließen und die aktualisierbare Hilfe verwenden, um sie zu aktualisieren oder Hilfedateien wegzulassen und die aktualisierbare Hilfe zu verwenden, um sie zu installieren.You can include help files in the module and use Updatable Help to update them or omit the help files and use Updatable Help to install them. Weitere Informationen zur Unterstützung der aktualisierbaren Hilfe finden Sie unter Unterstützen der aktualisierbaren Hilfe.For more information about supporting Updatable Help, see Supporting Updatable Help.

Verbesserte OnlinehilfeEnhanced Online Help

Die Windows PowerShell-Onlinehilfe ist eine nützliche Ressource für alle Benutzer. Sie ist jedoch besonders wichtig für Benutzer, die aktualisierte Hilfedateien nicht installieren bzw. nicht installieren können.Windows PowerShell online help is a valuable resource for all users, but it is especially important to users who do not or cannot install updated help files.

Um die Onlinehilfe für jedes Windows PowerShell-Cmdlet zu erhalten, geben Sie Folgendes ein:To get online help for any Windows PowerShell cmdlet, type:

Get-Help <cmdlet-name> -Online

Windows PowerShell öffnet die Onlineversion des Hilfethemas in Ihrem Standardinternetbrowser.Windows PowerShell opens the online version of the help topic in your default Internet browser.

Das Get-Help -Online-Feature in Windows PowerShell 3.0 ist nun noch leistungsfähiger, da es sogar dann funktioniert, wenn keine Hilfedateien für das Cmdlet auf dem Computer installiert sind.The Get-Help -Online feature in Windows PowerShell 3.0 is now even more powerful because it works even when help files for the cmdlet are not installed on the computer. Das Feature Get-Help -Online ruft den URI für das Onlinehilfethema aus der „HelpUri“-Eigenschaft von Cmdlets und erweiterten Funktionen ab.The Get-Help -Online feature gets the URI for online help topic from the HelpUri property of cmdlets and advanced functions.

PS C:\>(Get-Command Get-ScheduledJob).HelpUri
https://go.microsoft.com/fwlink/?LinkID=223923

Ab Windows PowerShell 3.0 können Autoren von C#-Cmdlets die HelpUri-Eigenschaft auffüllen, indem sie ein HelpUri-Attribut in der Cmdlet-Klasse erstellen.Beginning in Windows PowerShell 3.0, authors of C# cmdlets can populate the HelpUri property by creating a HelpUri attribute on the cmdlet class. Entwickler erweiterter Funktionen können eine HelpUri-Eigenschaft für das CmdletBinding-Attribut definieren.Authors of advanced functions can define a HelpUri property on the CmdletBinding attribute. Der Wert der HelpUri-Eigenschaft muss mit „http“ oder „https“ beginnen.The value of the HelpUri property must begin with "http" or "https".

Sie können auch dem ersten dazugehörigen Link einer XML-basierten Cmdlet-Hilfedatei einen HelpUri-Wert oder eine „.Link“-Direktive der kommentarbasierten Hilfe in einer Funktion hinzufügen.You can also include a HelpUri value in the first related link of an XML-based cmdlet help file or the .Link directive of comment-based help in a function.

Weitere Informationen zur Unterstützung der Onlinehilfe finden Sie unter Supporting Online Help (Unterstützen der Onlinehilfe) in der Microsoft-Dokumentation.For more information about supporting online help, see Supporting Online Help in the Microsoft Docs.

CIM-IntegrationCIM integration

Windows PowerShell 3.0 bietet Unterstützung für das Common Information Model (CIM), das allgemeine Definitionen der Verwaltungsinformationen für Systeme, Netzwerke, Anwendungen und Dienste bereitstellt, mit denen Verwaltungsinformationen zwischen heterogenen Systemen ausgetauscht werden können.Windows PowerShell 3.0 includes support for the Common Information Model (CIM), which provides common definitions of management information for systems, networks, applications, and services, allowing them the exchange of management information between heterogeneous systems. Unterstützung für CIM in Windows PowerShell 3.0, einschließlich der Möglichkeit zum Erstellen von Windows PowerShell-Cmdlets auf Grundlage neuer oder vorhandener CIM-Klassen, von Befehlen auf Grundlage der Cmdlet-Definition von XML-Dateien und der Unterstützung für CIM .NET Framework.Support for CIM in Windows PowerShell 3.0, including the ability to author Windows PowerShell cmdlets based on new or existing CIM classes, commands based on cmdlet definition XML files, support for CIM .NET Framework. API, CIM-Verwaltungs-Cmdlets und WMI 2.0-Anbieter.API, CIM management cmdlets and WMI 2.0 providers.

SitzungskonfigurationsdateienSession Configuration Files

Ab Windows PowerShell 3.0 können Sie mithilfe einer Datei eine benutzerdefinierte Sitzungskonfiguration entwerfen.Beginning in Windows PowerShell 3.0, you can design a custom session configuration by using a file. Mit der neuen Sitzungskonfigurationsdatei können Sie die Umgebung der Sitzungen ermitteln, die die Sitzungskonfiguration verwendet, dazu gehören die Module, Skripts, und Formatdateien werden in Sitzungen geladen, die Cmdlets und Sprachelemente, die Benutzer verwenden können, und Skripts, die sie ausführen können sowie die Variablen, die sie verwenden können.The new session configuration file lets you determine the environment of sessions that use the session configuration, including which modules, scripts, and format files are loaded into sessions, which cmdlets and language elements users can use, which modules and scripts they can run, and which variables they can see.

Sie können eine Sitzung entwerfen, in der Benutzer Cmdlets nur von einem bestimmten Modul ausführen können, oder eine Sitzung, in der Benutzer denen vollständigen Sprachzugriff auf alle Module und Zugriff auf Skripts haben, die erweiterte Aufgaben ausführen.You can design a session in which users can only run the cmdlets from one particular module, or a session in which users have full language, access to all modules, and access to scripts that perform advanced tasks.

In vorherigen Versionen von Windows PowerShell stand das Steuerelement auf dieser Ebene nur den Benutzern zur Verfügung, die ein C#-Programm oder ein komplexes Startskript schreiben können.In previous versions of Windows PowerShell, control at this level was available only to those who could write a C# program or a complex start-up script. Nun kann jedes Mitglied der Administratorengruppe auf dem Computer eine Sitzungskonfiguration mithilfe einer Konfigurationsdatei anpassen.Now, any member of the Administrators group on the computer can customize a session configuration by using a configuration file.

Um eine Sitzungskonfigurationsdatei zu erstellen, verwenden Sie das Cmdlet New-PSSessionConfigurationFile.To create a session configuration file, use the New-PSSessionConfigurationFile cmdlet. Um die Sitzungskonfigurationsdatei auf eine Sitzungskonfiguration anzuwenden, verwenden Sie das Cmdlet Register-PSSessionConfiguration oder Set-PSSessionConfiguration.To apply the session configuration file to a session configuration, use the Register-PSSessionConfiguration or `Set-PSSessionConfiguration cmdlets.

Weitere Informationen finden Sie unter about_Session_Configuration_Files und New-PSSessionConfigurationFile.For more information, see about_Session_Configuration_Files and New-PSSessionConfigurationFile.

Integration geplanter Aufträge und der AufgabenplanungScheduled Jobs and Task Scheduler Integration

Sie können jetzt Windows PowerShell-Hintergrundaufträge planen und in Windows PowerShell und in der Aufgabenplanung verwalten.You can now schedule Windows PowerShell background jobs and manage them in Windows PowerShell and in Task Scheduler.

In Windows PowerShell geplante Aufträge sind eine nützliche Hybridlösung von Windows PowerShell-Hintergrundaufträgen und Aufgabenplanungsaufträgen.Windows PowerShell scheduled jobs are a useful hybrid of Windows PowerShell background jobs and Task Scheduler tasks.

Genau wie Windows PowerShell-Hintergrundaufträge werden geplante Aufträge asynchron im Hintergrund ausgeführt.Like Windows PowerShell background jobs, scheduled jobs run asynchronously in the background. Instanzen geplanter, abgeschlossener Aufträge können mithilfe von „Job“-Cmdlets verwaltet werden, wie z. B. Start-Job und Get-Job.Instances of scheduled jobs that have completed can be managed by using the job cmdlets, such as Start-Job and Get-Job.

Genau wie Task Scheduler-Aufgaben können Sie geplante Aufträge für einen einmaligen oder wiederkehrenden Plan, oder als Antwort auf eine Aktion oder ein Ereignis ausführen.Like Task Scheduler tasks, you can run scheduled jobs on a one-time or recurrent schedule, or in response to an action or event. Sie können geplante Aufträge in der Aufgabenplanung bei Bedarf anzeigen, aktivieren und deaktivieren, sie ausführen oder als Vorlagen verwenden, und Bedingungen festlegen, unter denen der Auftrag gestartet wird.You can view and manage scheduled jobs in Task Scheduler, enable and disable them as needed, run them or use them as templates, and set conditions under which the jobs start.

Außerdem enthalten geplante Aufträge einen angepassten Cmdlets-Satz für die Verwaltung.In addition, scheduled jobs come with a customized set of cmdlets for managing them. Mit den Cmdlets können Sie geplante Aufträge erstellen, bearbeiten, verwalten, deaktivieren und geplante Aufträge erneut aktivieren, geplante Auftragsauslöser erstellen und geplante Auftragsoptionen festlegen.The cmdlets let you create, edit, manage, disable, and re-enable scheduled jobs, create scheduled job triggers and set scheduled job options.

Weitere Informationen zu geplanten Aufträgen finden Sie unter about_Scheduled_Jobs.For more information about scheduled jobs, see about_Scheduled_Jobs.

Verbesserungen der Windows PowerShell-SpracheWindows PowerShell Language Enhancements

Windows PowerShell 3.0 umfasst viele Features, die darauf ausgelegt sind, die Sprache einfacher und benutzerfreundlicher zu gestalten und häufige Fehler zu vermeiden.Windows PowerShell 3.0 includes many features that are designed to make its language simpler, easier to use, and to avoid common errors. Die Verbesserungen umfassen die Enumeration der Eigenschaft, Anzahl und Längeneigenschaften von skalaren Objekten, neue Umleitungsoperatoren, der $Using-Bereichsmodifikator, automatische PSItem-Variable, flexible Skriptformatierung, Attribute von Variablen, vereinfachte Attributargumente, numerische Befehlsnamen, den Stop-Parsing-Operator, verbesserte Array-Verteilung, neue Bit-Operatoren, sortierte Wörterbücher, PSCustomObject-Umwandlung und eine verbesserte kommentar-basierte Hilfe.The improvements include property enumeration, count and length properties on scalar objects, new redirection operators, the $Using scope modifier, PSItem automatic variable, flexible script formatting, attributes of variables, simplified attribute arguments, numeric command names, the Stop-Parsing operator, improved array splatting, new bit operators, ordered dictionaries, PSCustomObject casting, and improved comment-based help.

Neue Kern-CmdletsNew Core Cmdlets

Zur Windows PowerShell-Kerninstallation wurden neue Cmdlets hinzugefügt, dazu gehören Cmdlets zur Verwaltung geplanter Aufträge, getrennte Sitzungen, die CIM-Integration und das aktualisierbare Hilfesystem.New cmdlets were added to the Windows PowerShell Core installation, including cmdlets to manage scheduled jobs, disconnected sessions, CIM integration and the Updatable Help System.

Add-JobTriggerAdd-JobTrigger New-JobTriggerNew-JobTrigger
Connect-PSSessionConnect-PSSession New-PSSessionConfigurationFileNew-PSSessionConfigurationFile
ConvertFrom-JsonConvertFrom-Json New-PSTransportOptionNew-PSTransportOption
ConvertTo-JsonConvertTo-Json New-PSWorkflowExecutionOptionNew-PSWorkflowExecutionOption
Disable-JobTriggerDisable-JobTrigger New-PSWorkflowSessionNew-PSWorkflowSession
Disable-ScheduledJobDisable-ScheduledJob New-ScheduledJobOptionNew-ScheduledJobOption
Disconnect-PSSessionDisconnect-PSSession New-WinEventNew-WinEvent
Enable-JobTriggerEnable-JobTrigger Receive-PSSessionReceive-PSSession
Enable-ScheduledJobEnable-ScheduledJob Register-CimIndicationEventRegister-CimIndicationEvent
Get-CimAssociatedInstanceGet-CimAssociatedInstance Register-ScheduledJobRegister-ScheduledJob
Get-CimClassGet-CimClass Remove-CimInstanceRemove-CimInstance
Get-CimInstanceGet-CimInstance Remove-CimSessionRemove-CimSession
Get-CimSessionGet-CimSession Remove-TypeDataRemove-TypeData
Get-ControlPanelItemGet-ControlPanelItem Rename-ComputerRename-Computer
Get-IseSnippetGet-IseSnippet Resume-JobResume-Job
Get-JobTriggerGet-JobTrigger Save-HelpSave-Help
Get-ScheduledJobGet-ScheduledJob Set-CimInstanceSet-CimInstance
Get-ScheduledJobOptionGet-ScheduledJobOption Set-JobTriggerSet-JobTrigger
Get-TypeDataGet-TypeData Set-ScheduledJobSet-ScheduledJob
Import-IseSnippetImport-IseSnippet Set-ScheduledJobOptionSet-ScheduledJobOption
Invoke-AsWorkflowInvoke-AsWorkflow Show-CommandShow-Command
Invoke-CimMethodInvoke-CimMethod Show-ControlPanelItemShow-ControlPanelItem
Invoke-RestMethodInvoke-RestMethod Suspend-JobSuspend-Job
Invoke-WebRequestInvoke-WebRequest Test-PSSessionConfigurationFileTest-PSSessionConfigurationFile
New-CimInstanceNew-CimInstance Unblock-FileUnblock-File
New-CimSessionNew-CimSession Unregister-ScheduledJobUnregister-ScheduledJob
New-CimSessionOptionNew-CimSessionOption Update-HelpUpdate-Help
New-IseSnippetNew-IseSnippet

Verbesserungen an vorhandenen Core-Cmdlets und AnbieternImprovements to Existing Core Cmdlets and Providers

Windows PowerShell 3.0 umfasst neue Features für vorhandene Cmdlets, dazu gehören die vereinfachte Syntax und neue Parameter für folgende Cmdlets: Computer-Cmdlets, CSV-Cmdlets, Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, Security-Cmdlets, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member und WMI-Cmdlets.Windows PowerShell 3.0 includes new features for existing cmdlets including the simplified syntax, and new parameters for the following cmdlets: Computer cmdlets, CSV cmdlets, Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, Security cmdlets, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member, and WMI cmdlets.

Die Windows PowerShell-Anbieter wurden auch erheblich verbessert, dazu gehört die Unterstützung von Zertifikatanbietern zur Verwaltung von Secure Socket Layer (SSL)-Zertifikaten für das Web-Hosting, die Unterstützung von Anmeldeinformationen, permanente Netzwerklaufwerke, und alternative Datenstreams auf Dateisystemlaufwerken.The Windows PowerShell providers were also improved significantly, including Certificate provider support for managing Secure Socket Layer (SSL) certificates for web hosting, support for credential, persistent network drives, and alternate data streams in file system drives.

Import und Erkennung des Remote-ModulsRemote module import and discovery

Windows PowerShell 3.0 erweitert die Modulerkennung, die Importfunktion und implizite Remotefunktionen auf Remotecomputern.Windows PowerShell 3.0 extends module discovery, importing, and implicit remoting capabilities on remote computers. Die Module-Cmdlets rufen Module auf den Remotecomputern ab und importieren die Module mithilfe von Windows PowerShell-Remoting auf die Remote- oder lokalen Computer.The Module cmdlets get modules on remote computers and import the modules to the remote or local computer by using Windows PowerShell remoting. Mit der neuen Unterstützung für CIM-Sitzungen können Sie CIM und WMI verwenden, um nicht-Windows-Computer zu verwalten, indem Sie die Befehle auf dem lokalen Computer importieren, die implizit auf dem Remotecomputer ausgeführt werden.New CIM session support allows you to use CIM and WMI to manage non-Windows computers by importing commands to the local computer that run implicitly on the remote computer.

Weitere Informationen finden Sie in den Hilfethemen zu den Cmdlets Get-Moduleund Import-Module.For more information, see the help topics for the Get-Module and Import-Module cmdlets.

Verbesserte BefehlszeilenergänzungEnhanced Tab Completion

Durch die Vervollständigung mit der TAB-TASTE in der Windows PowerShell-Konsole werden nun die Namen von Cmdlets, Parametern, Parameterwerten, Enumerationen, .NET Framework-Typen, COM-Objekten, versteckten Verzeichnissen und vielem mehr vervollständigt.Tab completion in the Windows PowerShell console now completes the names of cmdlets, parameters, parameter values, enumerations, .NET Frameworks types, COM objects, hidden directories, and more. Das Feature zum Fertigstellen von Registerkarten wurde auf Grundlage einer neuen Analyse und einer abstrakten Syntaxstruktur komplett neu geschrieben, damit weitere Szenarios unterstützt werden, dazu gehören speicherinterne Analysestrukturen und die Midline-Registerkartenfertigstellung.The tab completion feature is completely rewritten based on a new parser and abstract syntax tree to support more scenarios, including in-memory parsing trees and midline tab completion.

Automatisches Laden von ModulenModule Auto-Loading

Das Cmdlet Get-Command ruft nun alle Cmdlets und Funktionen aus allen Modulen ab, die auf dem Computer installiert sind, selbst wenn das Modul nicht in die aktuelle Sitzung importiert wird.The Get-Command cmdlet now gets all cmdlets and functions from all modules that are installed on the computer, even if the module is not imported into the current session.

Wenn Sie das erforderliche Cmdlet abrufen, können Sie es sofort nutzen, ohne Module importieren zu müssen.When you get the cmdlet that you need, you can use it immediately without importing any modules. Windows PowerShell-Module werden nun automatisch importiert, wenn Sie ein beliebiges Cmdlet im Modul verwenden.Windows PowerShell modules are now imported automatically when you use any cmdlet in the module. Sie müssen nicht mehr nach dem Modul suchen und es importieren, um die Cmdlets zu nutzen.You no longer need to search for the module and import it to use its cmdlets.

Der automatische Import von Modulen wird durch Verwenden des Cmdlets in einem Befehl oder durch Ausführen von Get-Command für ein Cmdlet ohne Platzhalter oder von Get-Help für ein Cmdlet ohne Platzhalter ausgelöst.Automatic importing of modules is triggered by using the cmdlet in a command, running Get-Command for a cmdlet without wildcards, or running Get-Help for a cmdlet without wildcards.

Sie können mithilfe der Einstellungsvariablen $PSModuleAutoLoadingPreference das automatische Importieren von Modulen aktivieren, deaktivieren und konfigurieren.You can enable, disable, and configure automatic importing of modules by using the $PSModuleAutoLoadingPreference preference variable.

Weitere Informationen finden Sie unter about_Modules, about_Preference_Variables und in den Hilfethemen für die Cmdlets Get-Command und Import-Module.For more information, see about_Modules, about_Preference_Variables, and the help topics for the Get-Command and Import-Module cmdlets.

Verbesserungen der ModuloberflächeModule Experience Improvements

Mit Windows PowerShell 3.0 erhalten Sie die erweiterte Feature-Unterstützung für Module, dazu gehören auch folgende neue Features.Windows PowerShell 3.0 brings advanced feature support to modules, including the following new features.

  1. Die Modulprotokollierung für einzelne Module (LogPipelineExecutionDetails) und die neue „Modulprotokollierung aktivieren“-GruppenrichtlinieneinstellungModule logging for individual modules (LogPipelineExecutionDetails) and the new "Turn on Module Logging" Group Policy setting
  2. Erweiterte Modulobjekte, die die Werte aus dem Modulmanifest verfügbar machenExtended module objects that expose the values from the module manifest
  3. Die neue ExportedCommands-Eigenschaft von Modulen, einschließlich geschachtelter Module, die Befehle aller Typen kombinieren.New ExportedCommands property of modules, including nested modules, that combines commands of all types
  4. Verbesserte Erkennung verfügbarer (nicht importierter) Module, einschließlich Zulassen der Parameter Path und ListAvailable im selben Befehl.Improved discovery of available (un-imported) modules, including allowing the Path and ListAvailable parameters in the same command
  5. Der neue DefaultCommandPrefix-Schlüssel in Modulemanifesten, der Namenskonflikte vermeidet, ohne den Modulcode zu ändern.New DefaultCommandPrefix key in module manifests that avoids name conflicts without changing module code.
  6. Verbesserte Modulvoraussetzungen, einschließlich voll qualifizierter, erforderlicher Module mit Version und GUID sowie dem automatischen Importieren erforderlicher ModuleImproved module requirements, including fully-qualified required modules with version and GUID and automatic importing of required modules
  7. Ruhigerer, optimierter Ablauf des Cmdlets New-ModuleManifest.Quieter, streamlined operation of the New-ModuleManifest cmdlet.
  8. Neuer Module-Parameter für „#Requires“New Module parameter for #Requires
  9. Verbessertes Cmdlet Import-Module mit den Parametern MinimumVersion und RequiredVersion.Improved Import-Module cmdlet with both MinimumVersion and RequiredVersion parameters.

Vereinfachte Ermittlung von BefehlenSimplified Command Discovery

Sie müssen nicht mehr alle Module importieren, um die für Ihre Sitzung verfügbaren Befehle zu erkennen.You no longer need to import all modules to discover the commands available to your session. In Windows PowerShell 3.0 ruft das Cmdlet Get-Command alle Befehle aus allen installierten Modulen ab.In Windows PowerShell 3.0, the Get-Command cmdlet gets all commands from all installed modules. Und wenn Sie einen Befehl verwenden, wird das Modul, das den Befehl exportiert, automatisch in Ihre Sitzung importiert.And, if you use a command, the module that exports the command is automatically imported into your session.

Das neue Cmdlet Show-Command ist speziell für Einsteiger konzipiert.The new Show-Command cmdlet is designed especially for beginners. Sie können in einem Fenster nach Befehlen suchen.You can search for commands in a window. Sie können alle Befehle anzeigen oder nach Modul filtern, ein Modul importieren, indem Sie auf eine Schaltfläche klicken, Textfelder und Dropdownlisten verwenden, um einen gültigen Befehl zu konstruieren, und anschließend den Befehl zu kopieren und auszuführen, ohne das Fenster zu verlassen.You can view all commands or filter by module, import a module by clicking a button, use text boxes and drop-down lists to construct a valid command, and then copy or run the command without ever leaving the window.

Verbesserte Protokollierung, Diagnose und Unterstützung von GruppenrichtlinienImproved Logging, Diagnostics, and Group Policy Support

Windows PowerShell 3.0 verbessert die Protokollierungs- und Nachverfolgungsunterstützung für Befehle und Module mit Unterstützung von ETW-Protokollen (Event Tracing for Windows, Ereignisablaufverfolgung für Windows), einer bearbeitbaren LogPipelineExecutionDetails-Eigenschaft von Modulen und der Gruppenrichtlinieneinstellung „Modulprotokollierung aktivieren“.Windows PowerShell 3.0 improves the logging and tracing support for commands and modules with support for Event Tracing in Windows (ETW) logs, an editable LogPipelineExecutionDetails property of modules, and the "Turn on Module Logging" Group Policy setting. Sie können nun Parameterwerte aus Protokolldetails abrufen, indem Sie die Protokolleigenschaften anzeigen.You can now get parameter values from log details by displaying the log properties.

Formatierung und AusgabeverbesserungenFormatting and Output Improvements

Neue Formatierungs- und Ausgabeverbesserungen steigern die Effizienz aller Windows PowerShell-Benutzer.New formatting and output improvements improve the efficiency of all Windows PowerShell users. Die Verbesserungen umfassen die Umleitung der Ausgabe für alle Datenströme, ein verbessertes Cmdlet „Update-Type“, das Typen dynamisch ohne „Format.ps1xml“-Dateien hinzufügt, Zeilenumbruch in der Ausgabe, Standardformatierungseigenschaften benutzerdefinierter Objekte, den PSCustomObject-Typ, verbesserte Formatierung für WMI-Objekte und heterogene Objekte und Unterstützung der Erkennung von Methodenüberladungen.The improvements include output redirection for all streams, an enhanced Update-Type cmdlet that adds types dynamically without Format.ps1xml files, word wrap in output, default formatting properties of custom objects, the PSCustomObject type, improved formatting for WMI objects and heterogeneous objects, and support for discovering method overloads.

Verbesserte KonsolenhosterfahrungEnhanced Console Host Experience

Das Windows PowerShell-Konsolenhostprogramm hat in Windows PowerShell 3.0 neue Features. Dazu gehört auch standardmäßig das Singlethread-Apartment.The Windows PowerShell console host program has new features in Windows PowerShell 3.0 including single threaded apartment by default. Mit der neuen „Mit PowerShell ausführen“-Option im Datei-Explorer können Sie Skripts in einer nicht eingeschränkten Sitzung durch einen einfachen Rechtsklick ausführen.The new "Run with PowerShell" option in File Explorer lets you run scripts in a unrestricted session just by right-clicking. Die neue Konsolenhostlogik startet Windows PowerShell schneller und mit den neuen Schriftarten können Sie die bekannte Konsolenfensteroberfläche personalisieren.New console host launch logic starts Windows PowerShell faster and new fonts allow you to personalize the familiar console window experience.

Neue Cmdlets und Hosting-APIsNew Cmdlet and Hosting APIs

Die neuen Cmdlet-API und Hosting-API umfassen öffentliche, erweiterte Syntaxstruktur (AST)-APIs und APIs für die Pipeline-Nummerierung, geschachtelte Pipelines, Runspacepool-Registerkartenfertigstellung, Windows RT, das obsolete Cmdlet-Attribut, und Verb- und Substantiveigenschaften des FunctionInfo-Objekts.The new Cmdlet API and Hosting API include public advanced syntax tree (AST) APIs, and APIs for pipeline paging, nested pipelines, runspace pools tab completion, Windows RT, the Obsolete cmdlet attribute, and Verb and Noun properties of the FunctionInfo object.

LeistungsverbesserungenPerformance Improvements

Die erheblichen Leistungsverbesserungen in Windows PowerShell stammen aus der neuen Sprachanalyse, die auf DLR (Dynamic Runtime Language) in .NET Framework 4. basiert, sowie der Laufzeitskriptkompilierung, Engine-Zuverlässigkeitsverbesserungen und Änderungen am Algorithmus von Get-ChildItem, die die Leistung verbessern, besonders bei der Suche nach Netzwerkfreigaben.Significant performance improvements in Windows PowerShell come from the new language parser, which is built on Dynamic Runtime Language (DLR) in .NET Framework 4., along with runtime script compilation, engine reliability improvements, and changes to the algorithm of the Get-ChildItem that improve its performance, especially when searching network shares.

RunAs und Unterstützung freigegebener HostsRunAs and Shared Host Support

Windows PowerShell 3.0 bietet Unterstützung der Features „RunAs“ und „SharedHost“.Windows PowerShell 3.0 includes support for RunAs and Shared Host features.

Das Feature RunAs ist für Windows PowerShell Workflow konzipiert. Benutzer einer Sitzungskonfiguration können damit Sitzungen erstellen, die mit der Berechtigung eines freigegebenen Benutzerkontos ausgeführt werden.The RunAs feature, designed for Windows PowerShell Workflow, lets users of a session configuration create sessions that run with the permission of a shared user account. Dadurch können Benutzer mit weniger Privilegien bestimmte Befehle und Skripts mit Administratorberechtigungen ausführen, außerdem entfällt das Hinzufügen von weniger erfahrenen Benutzern zur Administratorengruppe.This enables less privileged users to run particular commands and scripts with administrator permissions, and reduces the need for adding less senior users to the Administrators group.

Mit dem Feature SharedHost können mehrere Benutzer auf mehreren Computern gleichzeitig eine Verbindung mit einer Workflowsitzung herstellen und den Status eines Workflows überwachen.The SharedHost feature allows multiple users on multiple computers to connect to a workflow session concurrently and monitor the progress of a workflow. Benutzer können einen Workflow auf einem Computer starten und dann auf einem anderen Computer eine Verbindung zur Workflowsitzung herstellen, ohne die Sitzung auf dem ursprünglichen Computer trennen zu müssen.Users can start a workflow on one computer and then connect to the workflow session on another computer without disconnecting the session from the original computer. Benutzer müssen über die gleichen Berechtigungen verfügen und die gleiche Sitzungskonfiguration verwenden.Users must have the same permissions and be using the same session configuration. Weitere Informationen finden Sie unter „Ausführen eines Windows PowerShell Workflows“ in den ersten Schritten mit Windows PowerShell Workflow.For more information, see "Running a Windows PowerShell Workflow" in Getting Started with Windows PowerShell Workflow.

Verbesserungen bei der Verarbeitung von SonderzeichenSpecial Character Handling Improvements

Damit Windows PowerShell 3.0 Sonderzeichen besser interpretieren und ordnungsgemäß verarbeiten kann, ist der LiteralPath-Parameter, der Sonderzeichen in Pfaden verarbeitet, für fast alle Cmdlets gültig, die über einen Path-Parameter verfügen. Dazu zählen die neuen Cmdlets Update-Help und Save-Help.To improve the ability of Windows PowerShell 3.0 to interpret and correctly handle special characters, the LiteralPath parameter, which handles special characters in paths, is valid on almost all cmdlets that have a Path parameter, including the new Update-Help and Save-Help cmdlets. Die Analyse bietet außerdem eine spezielle Logik zur Verbesserung der Verarbeitung von Akzentzeichen (`) und eckigen Klammern in Dateinamen und -pfaden.The parser also includes special logic to improve handling of the backtick character (`) and square brackets in file names and paths.

Weitere InformationenSee Also