Share via


Opmerkingen bij de release van Windows Management Framework (WMF) 5.x

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 mogelijk te maken via externe communicatie met PowerShell
  • PowerShell 5.0 breidt de taal uit met door de gebruiker gedefinieerde klassen en opsommingen
  • Verbeterde functies voor foutopsporing in PowerShell ISE en externe foutopsporing toegevoegd
  • De modules PowerShellGet en PackageManagement toegevoegd
  • Verbeterde logboekregistratie en transcripties van PowerShell-scripts
  • Cmdlets voor syntaxis voor cryptografische berichten toevoegen
  • WMF 5.0 bevat de module NetworkSwitchManager voor Windows
  • De module Microsoft.PowerShell.ODataUtils is toegevoegd
  • Ondersteuning toegevoegd voor Logboekregistratie van software-inventaris (SIL)
  • Nieuwe cmdlets of cmdlets bijwerken als reactie op aanvragen en problemen van gebruikers

WMF 5.1-wijzigingen

WMF 5.1 bevat de powershell-, WMI-, WinRM- en SIL-onderdelen (Software Inventory Logging) 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 op Windows Server 2008 of Windows 7 installeert, controleert u of WMF 3.0 niet is geïnstalleerd. Zie WMF 5.1 Prerequisites for Windows Server 2008 R2 SP1 and Windows 7 SP1 (Vereisten voor WMF 5.1 voor 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 duiden op verschillende functiesets en platformcompatibiliteit.

  • 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

Module-analysecache

Vanaf WMF 5.1 biedt PowerShell controle over het bestand dat wordt gebruikt om gegevens over een module in de cache op te slaan, zoals de opdrachten die worden geëxporteerd.

Deze cache wordt standaard opgeslagen in het bestand ${env:LOCALAPPDATA}\Microsoft\Windows\PowerShell\ModuleAnalysisCache. De cache wordt meestal 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 onderliggende processen. De waarde moet een volledig pad (inclusief bestandsnaam) noemen dat PowerShell heeft gemachtigd 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 wordt het pad ingesteld op een ongeldig apparaat. Als PowerShell niet naar het pad kan schrijven, wordt er geen fout geretourneerd, maar kunt u foutenrapportage zien 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 een onnodig grote cache 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 using module gedraagt zich op dezelfde manier als andere module-gerelateerde constructies in PowerShell. Voorheen was het niet mogelijk om een bepaalde moduleversie op te geven; Als er meerdere versies aanwezig waren, resulteert dit in een fout.

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 Import-Module en wordt er geen fout geretourneerd, hetzelfde gedrag als Import-Module en Import-DscResource.

Verbeteringen in Pester

In WMF 5.1 is de versie van Pester die wordt geleverd met PowerShell bijgewerkt van 3.3.5 naar 3.4.0. Deze update zorgt voor beter gedrag voor Pester op Nano Server.

U kunt de wijzigingen in Pest bekijken door het CHANGELOG in de GitHub-opslagplaats te controleren.