Windows Management Framework (WMF) 5.x Release Notes
WMF 5.0-wijzigingen
- PowerShell 5.0 voegt een nieuwe gestructureerde informatiestroom toe
- Verbeteringen in DSC, waaronder vier nieuwe DSC-resources:
- WindowsFeatureSet
- WindowsOptionalFeatureSet
- ServiceSet
- ProcessSet
- Just Enough Administration toegevoegd om beheer op basis van rollen via remoting van PowerShell mogelijk te maken
- PowerShell 5.0 breidt de taal uit met door de gebruiker gedefinieerde klassen en enumeraties
- Verbeterde functies voor debuggen in PowerShell ISE en externe debugging toegevoegd
- De modules PowerShellGet en PackageManagement zijn toegevoegd
- Verbeterde Logboekregistratie en transcripties van PowerShell-scripts
- Cmdlets voor cryptografische berichtsyntaxis toevoegen
- WMF 5.0 bevat de NetworkSwitchManager-module voor Windows
- De module Microsoft.PowerShell.ODataUtils is toegevoegd
- Ondersteuning toegevoegd voor Software Inventory Logging (SIL)
- Nieuwe cmdlets installeren of bijwerken als reactie op aanvragen en problemen van gebruikers
WMF 5.1-wijzigingen
WMF 5.1 bevat de onderdelen PowerShell, WMI, WinRM en Software Inventory Logging (SIL) die zijn uitgebracht met Windows Server 2016. WMF 5.1 kan worden geïnstalleerd op Windows 7, Windows 8.1, Windows Server 2008 R2, 2012 en 2012 R2 en biedt verschillende verbeteringen ten opzichte van WMF 5.0, waaronder:
- Nieuwe cmdLets
- PowerShellGet-verbeteringen, waaronder het afdwingen van ondertekende modules en het installeren van JEA-modules
- Ondersteuning in PackageManagement toegevoegd voor Containers, CBS Setup, EXE-installatie en CAB-pakketten
- Verbeteringen in foutopsporing voor DSC- en PowerShell-klassen
- Beveiligingsverbeteringen, waaronder de handhaving van door catalogus ondertekende modules die afkomstig zijn van de pull-server, gebruikt in combinatie met PowerShellGet-cmdlets
- Antwoorden op een aantal gebruikersaanvragen en -problemen
Belangrijk
Voordat u WMF 5.1 installeert op Windows Server 2008 of Windows 7, controleert u of WMF 3.0 niet is geïnstalleerd. Zie WMF 5.1 Prerequisites for Windows Server 2008 R2 SP1 en Windows 7 SP1 voor meer informatie.
PowerShell-edities
Vanaf versie 5.1 is PowerShell beschikbaar in verschillende edities die verschillende functiesets en platformcompatibiliteit aan duiden.
- Desktop-editie: deze editie is gebaseerd op .NET Framework en biedt compatibiliteit met scripts en modules die zijn gericht op versies van PowerShell die worden uitgevoerd op edities van Windows met een volledige footprint zoals Server Core en Windows Desktop.
- Core-editie: deze editie is gebaseerd op .NET Framework en biedt compatibiliteit met scripts en modules die zijn gericht op versies van PowerShell die worden uitgevoerd op edities van Windows met een verminderde footprint zoals Nano Server en Windows IoT.
Meer informatie over het gebruik van PowerShell-edities
- Bepalen welke editie van PowerShell wordt uitgevoerd met $PSVersionTable
- Filter Get-Module resultaten op CompatiblePSEditions met behulp van de parameter PSEdition
- Scriptuitvoering voorkomen, tenzij deze wordt uitgevoerd op een compatibele editie van PowerShell
- De compatibiliteit van een module declareer voor specifieke PowerShell-versies
Module Analysis Cache
Vanaf WMF 5.1 biedt PowerShell controle over het bestand dat wordt gebruikt voor het opslaan van gegevens over een module, zoals de opdrachten die worden exporteert.
Deze cache wordt standaard opgeslagen in het bestand ${env:LOCALAPPDATA}\Microsoft\Windows\PowerShell\ModuleAnalysisCache . De cache wordt doorgaans gelezen bij het opstarten tijdens het zoeken naar een opdracht en wordt ergens na het importeren van een module op een achtergrondthread geschreven.
Als u de standaardlocatie van de cache wilt wijzigen, stelt u de $env:PSModuleAnalysisCachePath omgevingsvariabele in voordat u PowerShell start. Wijzigingen in deze omgevingsvariabele zijn alleen van invloed op processen voor kinderen. De waarde moet een volledig pad (inclusief bestandsnaam) geven dat PowerShell toestemming heeft om bestanden te maken en te schrijven. Als u de bestandscache wilt uitschakelen, stelt u deze waarde in op een ongeldige locatie, bijvoorbeeld:
$env:PSModuleAnalysisCachePath = 'nul'
Hiermee stelt u het pad naar een ongeldig apparaat in. Als PowerShell niet naar het pad kan schrijven, wordt er geen fout geretourneerd, maar ziet u foutrapportage met behulp van een tracer:
Trace-Command -PSHost -Name Modules -Expression { Import-Module Microsoft.PowerShell.Management -Force }
Bij het uitschrijven van de cache controleert PowerShell op modules die niet meer bestaan om onnodig grote caches te voorkomen. Soms zijn deze controles niet wenselijk. In dat geval kunt u ze uitschakelen door het volgende in te stellen:
$env:PSDisableModuleAnalysisCacheCleanup = 1
Het instellen van deze omgevingsvariabele wordt onmiddellijk van kracht in het huidige proces.
Moduleversie opgeven
In WMF 5.1 gedraagt zich hetzelfde als using module andere module-gerelateerde constructies in PowerShell.
Voorheen kon u geen bepaalde moduleversie opgeven; Als er meerdere versies aanwezig zijn, is er een fout opgetreden.
In WMF 5.1:
U kunt ModuleSpecification Constructor (Hashtable) gebruiken.
Deze hashtabel heeft dezelfde indeling als
Get-Module -FullyQualifiedName.Voorbeeld:
using module @{ModuleName = 'PSReadLine'; RequiredVersion = '1.1'}Als er meerdere versies van de module zijn, gebruikt PowerShell dezelfde oplossingslogica als en wordt er geen fout weergegeven, hetzelfde
Import-Modulegedrag als enImport-ModuleImport-DscResource.
Verbeteringen inKerker
In WMF 5.1 is de versie vanSlager die wordt geleverd met PowerShell bijgewerkt van 3.3.5 naar 3.4.0. Deze update maakt beter gedrag mogelijk voor Pester op Nano Server.
U kunt de wijzigingen in Pest bekijken door het CHANGELOG in de GitHub controleren.