Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ab Version 5.1 ist PowerShell in verschiedenen Editionen verfügbar, die unterschiedliche Funktionen mitbringen und zu unterschiedlichen Plattformen kompatibel sind.
Desktop Edition: Basiert auf .NET Framework und bietet Kompatibilität mit Skripts und Modulen für Versionen von PowerShell, die auf vollständigen Fußabdruckeditionen von Windows wie Server Core und Windows Desktop ausgeführt werden.
Core Edition: Basiert auf .NET Core und bietet Kompatibilität mit Skripts und Modulen für Versionen von PowerShell, die auf reduzierten Speicherbedarfseditionen von Windows wie Nano Server und Windows IoT ausgeführt werden.
Die ausgeführte Edition von PowerShell wird in der PSEdition-Eigenschaft von $PSVersionTable angezeigt.
$PSVersionTable
Name Value
---- -----
PSVersion 5.1.14300.1000
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
CLRVersion 4.0.30319.42000
BuildVersion 10.0.14300.1000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Skriptautoren können verhindern, dass ein Skript ausgeführt wird, es sei denn, es wird in einer kompatiblen Edition von PowerShell ausgeführt, indem sie den PSEdition-Parameter in einer #requires Anweisung verwenden.
Set-Content C:\script.ps1 -Value "#requires -PSEdition Core
Get-Process -Name PowerShell"
Get-Content C:\script.ps1
#requires -PSEdition Core
Get-Process -Name PowerShell
C:\script.ps1
C:\script.ps1 : The script 'script.ps1' cannot be run because it contained a "#requires" statement for PowerShell editions 'Core'. The edition of PowerShell that is required by the script does not match the currently running PowerShell Desktop edition.
At line:1 char:1
+ C:\script.ps1
+ ~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (script.ps1:String) [], RuntimeException
+ FullyQualifiedErrorId : ScriptRequiresUnmatchedPSEdition
Benutzer des PowerShell-Katalogs finden die Liste der Skripts, die in einer bestimmten PowerShell-Edition unterstützt werden. Skripts ohne PSEdition_Desktop- und PSEdition_Core-Tags gelten in der PowerShell Desktop Edition als einwandfrei.
# Find scripts supported on PowerShell Desktop edition
Find-Script -Tag PSEdition_Desktop
# Find scripts supported on PowerShell Core edition
Find-Script -Tag PSEdition_Core
Weitere Details
PowerShell Gallery