zpráva k vydání verze Windows Management Framework (WMF) 5.x
Změny WMF 5.0
- PowerShell 5.0 přidá nový strukturovaný datový proud informací .
- Vylepšení DSC včetně čtyř nových prostředků DSC:
- WindowsFeatureSet
- WindowsOptionalFeatureSet
- ServiceSet
- Sada procesů
- Přidání funkce 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 protokolování inventáře softwaru (SIL)
- V reakci na požadavky a problémy uživatelů vyřidíte nové rutiny nebo rutiny aktualizace.
Změny WMF 5.1
WMF 5.1 zahrnuje komponenty PowerShell, WMI, WinRM a Protokolování inventáře softwaru (SIL), které byly vydány s Windows Server 2016. WMF 5.1 je možné nainstalovat ve Windows 7, Windows 8.1, Windows Server 2008 R2, 2012 a 2012 R2 a poskytuje několik vylepšení oproti WMF 5.0, včetně:
- Nové rutiny
- Vylepšení PowerShellGet zahrnuje vynucení podepsaných modulů a instalaci modulů JEA
- Přidaná podpora funkce PackageManagement pro kontejnery, nastavení CBS, nastavení založené na souboru EXE a balíčky CAB
- Vylepšené ladění pro třídy DSC a PowerShellu
- Vylepšené zabezpečení, včetně vynucení modulů podepsaných v katalogu, které pocházejí ze serveru vyžádané replikace při používání rutin PowerShellGet
- Odpovědi na celou řadu požadavků a problémů uživatelů
Důležité
Před instalací WMF 5.1 na Windows Server 2008 nebo Windows 7 ověřte, že WMF 3.0 není nainstalovaný. Další informace najdete v tématu Požadavky na WMF 5.1 pro Windows Server 2008 R2 SP1 a Windows 7 SP1.
Edice PowerShellu
Počínaje verzí 5.1 je PowerShell dostupný v různých edicích, které označují různé sady funkcí a kompatibilitu platforem.
- Desktop Edition: Tato edice je založená na rozhraní .NET Framework a zajišťuje kompatibilitu se skripty a moduly cílenými na verze PowerShellu spouštěné na plných edicích Windows, jako je Jádro serveru a Windows Desktop.
- Core Edition: Tato edice je založená na rozhraní .NET Core a zajišťuje kompatibilitu se skripty a moduly cílenými na verze PowerShellu spouštěné na edicích Windows s nízkými nároky na prostředky, jako je 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ánění spuštění skriptu, pokud se nespustí v kompatibilní edici PowerShellu
- Deklarace kompatibility 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, například příkazů, 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 $env:PSModuleAnalysisCachePath
proměnnou prostředí. 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 cesta nastaví na neplatné zařízení. Pokud PowerShell nemůže zapisovat do cesty, nevrátí se žádná chyba, ale můžete zobrazit zprávy o chybách pomocí trasovacího nástroje:
Trace-Command -PSHost -Name Modules -Expression { Import-Module Microsoft.PowerShell.Management -Force }
Při zápisu 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 using module
se 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 bylo k dispozici více verzí, došlo k chybě.
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í chybu – stejné chování jakoImport-Module
aImport-DscResource
.
Vylepšení Pesteru
Ve WMF 5.1 byla verze Pesteru, která se dodává s PowerShellem, aktualizována z verze 3.3.5 na verzi 3.4.0. Tato aktualizace umožňuje lepší chování pro Pester na Nano Serveru.
Změny v souboru Pest můžete zkontrolovat kontrolou protokolu CHANGELOG v úložišti GitHub.