Windows Management Framework (WMF) 5.x– information

WMF 5.0-ändringar

  • PowerShell 5.0 lägger till en ny strukturerad informationsström
  • Förbättringar av DSC, inklusive fyra nya DSC-resurser:
    • WindowsFeatureSet
    • WindowsOptionalFeatureSet
    • ServiceSet
    • ProcessSet
  • Just Enough Administration har lagts till för att aktivera rollbaserad administration via PowerShell-fjärrkommunikation
  • PowerShell 5.0 utökar språket till att omfatta användardefinierade klasser och uppräkningar
  • Förbättrade felsökningsfunktioner i PowerShell ISE och tillagd fjärrfelsökning
  • Modulerna PowerShellGet och PackageManagement har lagts till
  • Förbättrad loggning och avskrift för PowerShell-skript
  • Lägg till cmdlets för syntax för kryptografimeddelande
  • WMF 5.0 innehåller NetworkSwitchManager-modulen för Windows
  • Microsoft.PowerShell.ODataUtils-modulen har lagts till
  • Stöd har lagts till för Software Inventory Logging (SIL)
  • Sever new or update cmdlets in response to user requests and issues (Ta bort nya eller uppdatera cmdlets som svar på användarbegäranden och problem)

WMF 5.1-ändringar

WMF 5.1 innehåller de PowerShell-, WMI-, WinRM- och SIL-komponenter (Software Inventory Logging) som släpptes med Windows Server 2016. WMF 5.1 kan installeras på Windows 7, Windows 8.1, Windows Server 2008 R2, 2012 och 2012 R2 och ger flera förbättringar över WMF 5.0 inklusive:

  • Nya cmdletar
  • PowerShellGet-förbättringarna omfattar att framtvinga signerade moduler och installera JEA-moduler
  • PackageManagement har lagt till stöd för containrar, CBS-installation, EXE-baserad installation, CAB-paket
  • Felsökningsförbättringar för DSC- och PowerShell-klasser
  • Säkerhetsförbättringar, inklusive framtvingning av katalogsignerade moduler som kommer från Pull-servern och när du använder PowerShellGet-cmdletar
  • Svar på ett antal förfrågningar och problem från användare

Viktigt

Innan du installerar WMF 5.1 på Windows Server 2008 eller Windows 7 bekräftar du att WMF 3.0 inte är installerat. Mer information finns i WMF 5.1 Prerequisites for Windows Server 2008 R2 SP1 and Windows 7 SP1.

PowerShell-utgåvor

Från och med version 5.1 är PowerShell tillgängligt i olika utgåvor som anger olika funktionsuppsättningar och plattformskompatibilitet.

  • Desktop Edition: bygger på .NET Framework och ger kompatibilitet med skript och moduler för versioner av PowerShell som körs på fullständiga utgåvor av Windows, till exempel Server Core och Windows Desktop.
  • Core Edition: bygger på .NET Core och ger kompatibilitet med skript och moduler för versioner av PowerShell som körs på begränsade utgåvor av Windows som Nano Server och Windows IoT.

Läs mer om hur du använder PowerShell-versioner

Modulanalyscache

Från och med WMF 5.1 ger PowerShell kontroll över filen som används för att cachelagra data om en modul, till exempel kommandon som exporteras.

Som standard lagras den här cachen i filen ${env:LOCALAPPDATA}\Microsoft\Windows\PowerShell\ModuleAnalysisCache . Cachen läses vanligtvis vid start när du söker efter ett kommando och skrivs i en bakgrundstråd någon gång efter att en modul har importerats.

Om du vill ändra standardplatsen för cachen anger du $env:PSModuleAnalysisCachePath miljövariabeln innan du startar PowerShell. Ändringar i den här miljövariabeln påverkar endast underordnade processer. Värdet ska ge en fullständig sökväg (inklusive filnamn) som PowerShell har behörighet att skapa och skriva filer. Om du vill inaktivera filcacheminnet anger du värdet till en ogiltig plats, till exempel:

$env:PSModuleAnalysisCachePath = 'nul'

Detta anger sökvägen till en ogiltig enhet. Om PowerShell inte kan skriva till sökvägen returneras inget fel, men du kan se felrapportering med hjälp av en spårning:

Trace-Command -PSHost -Name Modules -Expression { Import-Module Microsoft.PowerShell.Management -Force }

När du skriver ut cachen söker PowerShell efter moduler som inte längre finns för att undvika en onödigt stor cache. Ibland är dessa kontroller inte önskvärda, och i så fall kan du inaktivera dem genom att ange:

$env:PSDisableModuleAnalysisCacheCleanup = 1

Inställningen av den här miljövariabeln börjar gälla omedelbart i den aktuella processen.

Ange modulversion

I WMF 5.1 using module fungerar på samma sätt som andra modulrelaterade konstruktioner i PowerShell. Tidigare kunde du inte ange en viss modulversion. Om det fanns flera versioner resulterade detta i ett fel.

I WMF 5.1:

  • Du kan använda ModuleSpecification-konstruktorn (Hashtable).

    Den här hash-tabellen har samma format som Get-Module -FullyQualifiedName .

    Exempel: using module @{ModuleName = 'PSReadLine'; RequiredVersion = '1.1'}

  • Om det finns flera versioner av modulen använder PowerShell samma lösningslogik som och returnerar inte något fel – Import-Module samma beteende som och Import-Module Import-DscResource .

Förbättringar av Tor

I WMF 5.1 har versionen avPner som levereras med PowerShell uppdaterats från 3.3.5 till 3.4.0. Den här uppdateringen ger bättre beteende för Firmwareer på Nano Server.

Du kan granska ändringarna i Pest genom att granska CHANGELOG på den GitHub lagringsplatsen.