Delen via


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

WMF 5.0-wijzigingen

  • PowerShell 5.0 voegt een nieuwe gestructureerde Information stream toe
  • Verbeteringen in DSC, waaronder vier nieuwe DSC-resources:
    • WindowsFeatureSet
    • WindowsOptionalFeatureSet
    • ServiceSet
    • ProcessSet
  • Just Enough Administration toegevoegd om op rollen gebaseerd beheer in te schakelen 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 PowerShellGet- en PackageManagement-modules toegevoegd
  • Verbeterde Logboekregistratie en transcripties van PowerShell-scripts
  • Cmdlets voor cryptografische berichtsyntaxis toevoegen
  • WMF 5.0 bevat de NetworkSwitchManager-module voor Windows
  • De microsoft.PowerShell.ODataUtils-module toegevoegd
  • Ondersteuning toegevoegd voor Logboekregistratie van software-inventaris (SIL)
  • Nieuwe cmdlets serveren 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 omvatten het afdwingen van ondertekende modules en het installeren van JEA-modules
  • PackageManagement heeft ondersteuning toegevoegd voor Containers, CBS Setup, EXE-installatie, CAB-pakketten
  • Foutopsporingsverbeteringen voor DSC- en PowerShell-klassen
  • Beveiligingsverbeteringen, waaronder het afdwingen van door de catalogus ondertekende modules die afkomstig zijn van de Pull-server en wanneer u PowerShellGet-cmdlets gebruikt
  • 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-vereisten voor Windows Server 2008 R2 SP1 en Windows 7 SP1voor meer informatie.

PowerShell-edities

Vanaf versie 5.1 is PowerShell beschikbaar in verschillende edities die duiden op verschillende functiesets en platformcompatibiliteit.

  • Desktop Edition: gebouwd op .NET Framework en biedt compatibiliteit met scripts en modules die zijn gericht op versies van PowerShell die worden uitgevoerd op edities met volledige footprint van Windows, zoals Server Core en Windows Desktop.
  • Core Edition: gebouwd op .NET Core en biedt compatibiliteit met scripts en modules die zijn gericht op versies van PowerShell die worden uitgevoerd op edities met een verminderde footprint van Windows, zoals Nano Server en Windows IoT.

Meer informatie over het gebruik van PowerShell-edities

Cache voor moduleanalyse

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 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 enige tijd op een achtergrondthread geschreven nadat een module is geïmporteerd.

Als u de standaardlocatie van de cache wilt wijzigen, stelt u de omgevingsvariabele $env:PSModuleAnalysisCachePath 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 gemachtigd is 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 in 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 schrijven van de cache controleert PowerShell op modules die niet meer bestaan om onnodig grote cache te voorkomen. Soms zijn deze controles niet wenselijk. In dat geval kunt u ze uitschakelen door de instelling 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 using module zich op dezelfde manier als andere modulegerelateerde constructies in PowerShell. Voorheen was het niet mogelijk om een bepaalde moduleversie op te geven; als er meerdere versies aanwezig waren, 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 de dezelfde oplossingslogica als Import-Module en retourneert niet 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 maakt beter gedrag mogelijk voor Pester op Nano Server.

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