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á 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

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í jako Import-Module a Import-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.