Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Från och med version 5.1 finns PowerShell i olika utgåvor som anger olika funktionsuppsättningar och plattformskompatibilitet.
Desktop Edition: Bygger på .NET Framework och ger kompatibilitet med skript och moduler som är inriktade på versioner av PowerShell som körs på fullständiga fotavtrycksversioner av Windows, till exempel Server Core och Windows Desktop.
Core Edition: Bygger på .NET Core och ger kompatibilitet med skript och moduler som är inriktade på versioner av PowerShell som körs på mindre fotavtrycksversioner av Windows, till exempel Nano Server och Windows IoT.
Den version av PowerShell som körs visas i egenskapen PSEdition för $PSVersionTable.
$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
Skriptförfattare kan förhindra att ett skript körs om det inte körs på en kompatibel version av PowerShell med hjälp av parametern PSEdition på en #requires instruktion.
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
PowerShell-galleriet användare kan hitta listan över skript som stöds i en specifik PowerShell-utgåva. Skript utan PSEdition_Desktop- och PSEdition_Core-taggar anses fungera bra på PowerShell Desktop-utgåvan.
# Find scripts supported on PowerShell Desktop edition
Find-Script -Tag PSEdition_Desktop
# Find scripts supported on PowerShell Core edition
Find-Script -Tag PSEdition_Core
Mer information
PowerShell Gallery