Sdílet prostřednictvím


Zpráva k vydání verze windows Management Framework (WMF) 5.x

Změny WMF 5.0

  • PowerShell 5.0 přidává nový strukturovaný informační proud
  • 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. Pro více informací viz WMF 5.1 Předpoklady 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

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 proměnnou $env:PSModuleAnalysisCachePath prostředí před spuštěním PowerShellu. 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 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 existuje více verzí, výsledkem byla chyba.

Ve WMF 5.1:

  • Můžete použít konstruktor ModuleSpecification (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 rozlišení jako Import-Module a nevrací chybu – stejné chování jako Import-Module a Import-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 Pestu si můžete prohlédnout kontrolou CHANGELOGU v GitHub repozitáři.