Nieuwe scenario's en onderdelen in WMF 5.1New Scenarios and Features in WMF 5.1

Opmerking: Deze informatie is voorlopig en kan worden gewijzigd.Note: This information is preliminary and subject to change.

PowerShell-editiesPowerShell Editions

Vanaf versie 5.1 is PowerShell beschikbaar in verschillende edities die staan voor verschillende functies en platformcompatibiliteit.Starting with version 5.1, PowerShell is available in different editions which denote varying feature sets and platform compatibility.

  • Desktop-editie: 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, zoals Server Core- en Windows Desktop volledige footprint.Desktop Edition: Built on .NET Framework and provides compatibility with scripts and modules targeting versions of PowerShell running on full footprint editions of Windows such as Server Core and Windows Desktop.
  • Core-editie: Gebaseerd op .NET Core en biedt compatibiliteit met scripts en modules die zijn gericht op versies van PowerShell die worden uitgevoerd op edities van Windows, zoals Nano Server en Windows IoT verminderde footprint.Core Edition: Built on .NET Core and provides compatibility with scripts and modules targeting versions of PowerShell running on reduced footprint editions of Windows such as Nano Server and Windows IoT.

Meer informatie over het gebruik van PowerShell-editiesLearn more about using PowerShell Editions

Catalogus-CmdletsCatalog Cmdlets

Twee nieuwe-cmdlets zijn toegevoegd de Microsoft.PowerShell.Security module; deze genereren en bestanden van Windows-catalogus te valideren.Two new cmdlets have been added in the Microsoft.PowerShell.Security module; these generate and validate Windows catalog files.

Nieuwe FileCatalogNew-FileCatalog


Nieuwe FileCatalog Hiermee maakt u een Windows-catalogusbestand voor set van bestanden en mappen.New-FileCatalog creates a Windows catalog file for set of folders and files. Dit catalogusbestand bevat-hashes voor alle bestanden in de opgegeven paden.This catalog file contains hashes for all files in specified paths. Gebruikers kunnen de set van mappen, samen met de bijbehorende catalogusbestand voor deze mappen distribueren.Users can distribute the set of folders along with corresponding catalog file representing those folders. Deze informatie is nuttig om te valideren of eventuele wijzigingen worden aangebracht aan de mappen sinds de aanmaaktijd van de catalogus.This information is useful to validate whether any changes have been made to the folders since catalog creation time.

New-FileCatalog [-CatalogFilePath] <string> [[-Path] <string[]>] [-CatalogVersion <int>] [-WhatIf] [-Confirm] [<CommonParameters>]

Versies 1 en 2 van de catalogus worden ondersteund.Catalog versions 1 and 2 are supported. Versie 1 gebruikt de SHA1-hash-algoritme voor het maken van bestands-hashes; SHA256 maakt gebruik van versie 2.Version 1 uses the SHA1 hashing algorithm to create file hashes; version 2 uses SHA256. Catalogusversie 2 wordt niet ondersteund op Windows Server 2008 R2 of Windows 7.Catalog version 2 is not supported on Windows Server 2008 R2 or Windows 7. Moet u catalogusversie 2 van de op Windows 8, Windows Server 2012, en latere besturingssystemen.You should use catalog version 2 on Windows 8, Windows Server 2012, and later operating systems.

Hiermee maakt u het catalogusbestand.This creates the catalog file.

Om te controleren of de integriteit van catalogusbestand (Pester.cat in bovenstaande voorbeeld), meld u aan met behulp van Set AuthenticodeSignature cmdlet.To verify the integrity of catalog file (Pester.cat in above example), sign it using Set-AuthenticodeSignature cmdlet.

Test-FileCatalogTest-FileCatalog


Test-FileCatalog valideert de catalogus voor een set van mappen.Test-FileCatalog validates the catalog representing a set of folders.

Test-FileCatalog [-CatalogFilePath] <string> [[-Path] <string[]>] [-Detailed] [-FilesToSkip <string[]>] [-WhatIf] [-Confirm] [<CommonParameters>]

Deze cmdlet worden alle bestanden-hashes vergeleken en hun relatieve paden te vinden catalogus met resources op schijf.This cmdlet compares all the files hashes and their relative paths found in catalog with ones on disk. Als er overeenkomende bestands-hashes en paden gedetecteerd wordt de status als ValidationFailed.If it detects any mismatch between file hashes and paths it returns the status as ValidationFailed. Gebruikers kunnen al deze gegevens ophalen met behulp van de -gedetailleerde parameter.Users can retrieve all this information by using the -Detailed parameter. Er wordt ook weergegeven ondertekenings status van de catalogus in handtekening eigenschap die gelijk is aan het aanroepen Get-AuthenticodeSignature cmdlet uit op de catalog-bestand.It also displays signing status of catalog in Signature property which is equivalent to calling Get-AuthenticodeSignature cmdlet on the catalog file. Gebruikers kunnen ook een bestand tijdens de validatie overslaan met behulp van de - FilesToSkip parameter.Users can also skip any file during validation by using the -FilesToSkip parameter.

Module Analysis CacheModule Analysis Cache

Beginnen met WMF 5.1, biedt PowerShell controle over het bestand dat wordt gebruikt om cachegegevens over een module, zoals de opdrachten die zijn geƫxporteerd.Starting with WMF 5.1, PowerShell provides control over the file that is used to cache data about a module, such as the commands it exports.

Standaard worden deze cache wordt opgeslagen in het bestand ${env:LOCALAPPDATA}\Microsoft\Windows\PowerShell\ModuleAnalysisCache.By default, this cache is stored in the file ${env:LOCALAPPDATA}\Microsoft\Windows\PowerShell\ModuleAnalysisCache. De cache doorgaans bij het opstarten tijdens het zoeken naar een opdracht wordt gelezen en geschreven op een achtergrond-thread enige tijd opnieuw uit nadat een module is geĆÆmporteerd.The cache is typically read at startup while searching for a command and is written on a background thread sometime after a module is imported.

Als u wilt de standaardlocatie van de cache wijzigen, stelt de $env:PSModuleAnalysisCachePath omgevingsvariabele voordat u begint met PowerShell.To change the default location of the cache, set the $env:PSModuleAnalysisCachePath environment variable before starting PowerShell. Wijzigingen in deze omgevingsvariabele wordt alleen van invloed op de onderliggende processen.Changes to this environment variable will only affect children processes. De waarde moet een naam een volledig pad (inclusief bestandsnaam) zijn dat PowerShell gemachtigd is om het maken en bestanden te schrijven.The value should name a full path (including filename) that PowerShell has permission to create and write files. Als u wilt uitschakelen bestandscache, deze waarde instelt op een ongeldige locatie, bijvoorbeeld:To disable the file cache, set this value to an invalid location, for example:

$env:PSModuleAnalysisCachePath = 'nul'

Hiermee stelt het pad naar een ongeldige apparaatnaam.This sets the path to an invalid device. Als PowerShell kan niet naar het pad schrijven, er wordt geen fout wordt geretourneerd, maar u kunt zien die fouten rapporteren met behulp van een traceringstoken:If PowerShell can't write to the path, no error is returned, but you can see error reporting by using a tracer:

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

Bij het schrijven van de cache wordt PowerShell-modules die niet meer aanwezig zijn om te voorkomen dat een onnodig groot cache controleren.When writing out the cache, PowerShell will check for modules that no longer exist to avoid an unnecessarily large cache. Soms zijn deze controles niet wenselijk in dat geval kunt u deze uitschakelen door in te stellen:Sometimes these checks are not desirable, in which case you can turn them off by setting:

$env:PSDisableModuleAnalysisCacheCleanup = 1

Instellen van deze omgevingsvariabele wordt onmiddellijk van kracht in het huidige proces.Setting this environment variable will take effect immediately in the current process.

Moduleversie opgevenSpecifying module version

In WMF 5.1, using module gedrag net als andere constructies met betrekking tot module in PowerShell.In WMF 5.1, using module behaves the same way as other module-related constructions in PowerShell. Voorheen moest u geen enkele manier om op te geven van een bepaalde moduleversie; Als er meerdere versies aanwezig waren, dit heeft een fout gegenereerd.Previously, you had no way to specify a particular module version; if there were multiple versions present, this resulted in an error.

In WMF 5.1:In WMF 5.1:

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

  • Als er meerdere versies van de module, PowerShell wordt gebruikt de dezelfde resolutie logica als Import-Module en niet een plaatsingsfout--hetzelfde gedrag als Import-Module en Import-DscResource.If there are multiple versions of the module, PowerShell uses the same resolution logic as Import-Module and doesn't return an error--the same behavior as Import-Module and Import-DscResource.

Verbeteringen voor lastigeImprovements to Pester

In WMF 5.1, de versie van Pester die wordt geleverd met PowerShell is bijgewerkt van 3.3.5 naar 3.4.0, met de toevoeging van het doorvoeren https://github.com/pester/Pester/pull/484/commits/3854ae8a1f215b39697ac6c2607baf42257b102e, die zorgt voor een betere gedrag voor Pester op Nano Server.In WMF 5.1, the version of Pester that ships with PowerShell has been updated from 3.3.5 to 3.4.0, with the addition of commit https://github.com/pester/Pester/pull/484/commits/3854ae8a1f215b39697ac6c2607baf42257b102e, which enables better behavior for Pester on Nano Server.

U kunt de wijzigingen in versie 3.3.5-3.4.0 bekijken door te inspecteren van het bestand ChangeLog.md op: https://github.com/pester/Pester/blob/master/CHANGELOG.mdYou can review the changes in versions 3.3.5 to 3.4.0 by inspecting the ChangeLog.md file at: https://github.com/pester/Pester/blob/master/CHANGELOG.md