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: 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.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: 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.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 toegevoegd de Microsoft.PowerShell.Security module; deze genereren en bestanden voor 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 maakt een Windows-catalogusbestand voor mappen en bestanden.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. De set mappen samen met de bijbehorende catalogusbestand voor deze mappen, kunnen gebruikers distribueren.Users can distribute the set of folders along with corresponding catalog file representing those folders. Deze informatie is nuttig om te valideren of de wijzigingen voor de mappen zijn aangebracht 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>]

Catalogus versie 1 en 2 worden ondersteund.Catalog versions 1 and 2 are supported. De SHA1-hash-algoritme voor het maken van bestands-hashes; maakt gebruik van versie 1 SHA256 maakt gebruik van versie 2.Version 1 uses the SHA1 hashing algorithm to create file hashes; version 2 uses SHA256. Catalogusversie 2 van de 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. U moet catalogusversie 2 van de gebruiken voor 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.

Als u wilt 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 die vertegenwoordigt een reeks 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 in catalogus met toepassingsgroepen op schijf.This cmdlet compares all the files hashes and their relative paths found in catalog with ones on disk. Als er een discrepantie tussen het 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 deze informatie ophalen met behulp van de -gedetailleerde parameter.Users can retrieve all this information by using the -Detailed parameter. Er wordt ook weergegeven ondertekenen status van de catalogus in handtekening -eigenschap hebben die gelijk is aan het aanroepen Get-AuthenticodeSignature cmdlet uit op het catalogusbestand.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 voor 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.

Deze cache wordt standaard 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 is doorgaans lezen bij het opstarten tijdens het zoeken naar een opdracht en geschreven in een achtergrondthread enige tijd opnieuw 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 wijzigen van de standaardlocatie van de cache, de $env:PSModuleAnalysisCachePath omgevingsvariabele voordat u start 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 volledig pad (inclusief bestandsnaam) zijn dat PowerShell gemachtigd is te maken en bestanden schrijven name.The value should name a full path (including filename) that PowerShell has permission to create and write files. Schakel de bestandscache van 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 apparaat.This sets the path to an invalid device. Als PowerShell kan niet naar het pad schrijven, geen fout wordt geretourneerd, maar u kunt zien die fouten rapporteren met behulp van een traceerders: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 voor modules die niet meer bestaan om te voorkomen dat een onnodig groot cache gecontroleerd.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 gedraagt zich dezelfde manier als andere constructies module-gerelateerde in PowerShell.In WMF 5.1, using module behaves the same way as other module-related constructions in PowerShell. Voorheen moest u geen manier om op te geven van een bepaalde moduleversie; Als er meerdere versies aanwezig is, resulteert dit in een fout.Previously, you had no way to specify a particular module version; if there were multiple versions present, this resulted in an error.

In een 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 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 in 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 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 versies 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