Zpráva k vydání verze windows Management Framework (WMF) 5.x
Změny WMF 5.0
- PowerShell 5.0 přidá nový datový proud strukturovaných informací
- Vylepšení DSC včetně čtyř nových prostředků DSC:
- WindowsFeatureSet
- WindowsOptionalFeatureSet
- Sada služeb
- ProcessSet
- Přidání Just Enough Administration pro povolení správy na základě rolí prostřednictvím vzdálené komunikace PowerShellu
- PowerShell 5.0 rozšiřuje jazyk tak, aby zahrnoval uživatelem definované třídy a výčty.
- Vylepšené funkce ladění v prostředí PowerShell ISE a přidání vzdáleného ladění
- Přidání modulů PowerShellGet a PackageManagement
- Vylepšené protokolování a přepisy skriptů PowerShellu
- Přidání rutin syntaxe kryptografických zpráv
- WMF 5.0 obsahuje modul NetworkSwitchManager pro Windows.
- Přidání modulu Microsoft.PowerShell.ODataUtils
- Přidání podpory pro protokolování inventáře softwaru (SIL)
- Oddělte nové nebo aktualizační rutiny v reakci na požadavky a problémy uživatelů.
Změny WMF 5.1
WMF 5.1 obsahuje komponenty PowerShellu, WMI, WinRM a Protokolování inventáře softwaru (SIL), které byly vydány s Windows Serverem 2016. WMF 5.1 je možné nainstalovat ve Windows 7, Windows 8.1, Windows Serveru 2008 R2, 2012 a 2012 R2 a nabízí několik vylepšení oproti WMF 5.0, mezi které patří:
- Nové rutiny
- Vylepšení modulu PowerShellGet zahrnují vynucování podepsaných modulů a instalaci modulů JEA.
- Přidání podpory PackageManagement pro kontejnery, nastavení CBS, nastavení založené na exe, balíčky CAB
- Vylepšení ladění pro třídy DSC a PowerShellu
- Vylepšení zabezpečení včetně vynucení modulů podepsaných katalogem pocházejících ze serveru vyžádané replikace a při použití rutin PowerShellGet
- Odpovědi na řadu uživatelských požadavků a problémů
Důležitý
Než nainstalujete WMF 5.1 ve Windows Serveru 2008 nebo Windows 7, zkontrolujte, že není nainstalovaný WMF 3.0. Další informace naleznete v tématu WMF 5.1 Požadavky pro Windows Server 2008 R2 SP1 a Windows 7 SP1.
Edice PowerShellu
Od verze 5.1 je PowerShell k dispozici v různých edicích, které označují různé sady funkcí a kompatibilitu platformy.
- Desktop Edition: postaveno na rozhraní .NET Framework a poskytuje kompatibilitu se skripty a moduly, které cílí na verze PowerShellu spuštěné na plných edicích Windows, jako je Jádro serveru a Windows Desktop.
- Core Edition: postavená na .NET Core a poskytuje kompatibilitu se skripty a moduly, které cílí na verze PowerShellu běžící na edicích Windows s omezenými nároky, jako jsou Nano Server a Windows IoT.
Další informace o používání edic PowerShellu
- Určení spuštěné edice PowerShellu pomocí $PSVersionTable
- filtrování Get-Module výsledků podle compatiblePSEditions pomocí parametru PSEdition
- Zabránit spuštění skriptu, pokud neběží na kompatibilní edici PowerShellu
- Deklarujte kompatibilitu modulu s konkrétními verzemi PowerShellu
Mezipaměť analýzy modulů
Počínaje verzí WMF 5.1 poskytuje PowerShell kontrolu nad souborem, který se používá k ukládání dat o modulu do mezipaměti, jako jsou příkazy, které exportuje.
Ve výchozím nastavení je tato mezipaměť uložena v souboru ${env:LOCALAPPDATA}\Microsoft\Windows\PowerShell\ModuleAnalysisCache
. Mezipaměť se obvykle čte při spuštění při hledání příkazu a zapisuje se do vlákna na pozadí někdy po importu modulu.
Pokud chcete změnit výchozí umístění mezipaměti, nastavte před spuštěním PowerShellu proměnnou prostředí $env:PSModuleAnalysisCachePath
. Změny této proměnné prostředí ovlivní pouze podřízené procesy. Hodnota by měla pojmenovat úplnou cestu (včetně názvu souboru), kterou má PowerShell oprávnění k vytváření a zápisu souborů. Pokud chcete zakázat mezipaměť souborů, nastavte tuto hodnotu na neplatné umístění, například:
$env:PSModuleAnalysisCachePath = 'nul'
Tím se nastaví cesta k neplatnému zařízení. Pokud PowerShell nemůže zapisovat do cesty, nevrátí se žádná chyba, ale pomocí trasování se zobrazí hlášení chyb:
Trace-Command -PSHost -Name Modules -Expression { Import-Module Microsoft.PowerShell.Management -Force }
Při psaní mezipaměti PowerShell zkontroluje moduly, které už neexistují, aby nedocházelo k zbytečně velké mezipaměti. Někdy tyto kontroly nejsou žádoucí, v takovém případě je můžete vypnout nastavením:
$env:PSDisableModuleAnalysisCacheCleanup = 1
Nastavení této proměnné prostředí se projeví okamžitě v aktuálním procesu.
Určení verze modulu
Ve WMF 5.1 se using module
chová stejně jako ostatní konstrukce související s moduly v PowerShellu.
Dříve jste neměli způsob, jak určit konkrétní verzi modulu; pokud existuje více verzí, výsledkem byla chyba.
Ve WMF 5.1:
Můžete použít ModuleSpecification Konstruktor (Hashtable).
Tato tabulka hash má stejný formát jako
Get-Module -FullyQualifiedName
.Příklad :
using module @{ModuleName = 'PSReadLine'; RequiredVersion = '1.1'}
Pokud existuje více verzí modulu, PowerShell používá stejnou logiku řešení jako
Import-Module
a nevrací stejné chování jakoImport-Module
aImport-DscResource
.
Vylepšení pesteru
Ve WMF 5.1 byla verze Pester, která se dodává s PowerShellem, aktualizována z verze 3.3.5 na 3.4.0. Tato aktualizace umožňuje lepší chování nástroje Pester na Nano Serveru.
Změny v nástroji Pest můžete zkontrolovat kontrolou CHANGELOG v úložišti GitHub.