Aan de slag met de PowerShell Gallery

De PowerShell Gallery is een pakketopslagplaats met scripts, modules en DSC-resources die u kunt downloaden en gebruiken. U gebruikt de cmdlets in de PowerShellGet-module om pakketten te installeren vanuit de PowerShell Gallery. U hoeft zich niet aan te melden om items van de PowerShell Gallery te downloaden.

Notitie

Het is mogelijk om een pakket rechtstreeks van de PowerShell Gallery te downloaden, maar dit wordt niet aanbevolen. Zie Handmatig pakket downloaden voor meer informatie.

U kunt pakketten vinden in de PowerShell Gallery met behulp van het besturingselement Zoeken op de startpagina van de PowerShell Gallery of door te bladeren door de modules en scripts op de pagina Pakketten. U kunt ook pakketten vinden in de PowerShell Gallery door de Find-Modulecmdlets , Find-DscResourceen Find-Script uit te voeren, afhankelijk van het pakkettype, met -Repository PSGallery.

U kunt resultaten uit de galerie filteren met behulp van de volgende parameters:

  • Name
  • AllVersions
  • Minimumversion
  • RequiredVersion
  • Tag
  • Includes
  • DscResource
  • RoleCapability
  • Opdracht
  • Filter

Als u alleen specifieke DSC-resources in de galerie wilt detecteren, kunt u de Find-DscResource cmdlet uitvoeren. Find-DscResource retourneert gegevens over DSC-resources in de galerie. Omdat DSC-resources altijd als onderdeel van een module worden geleverd, moet u nog steeds uitvoeren Install-Module om deze DSC-resources te installeren.

Zodra u een pakket hebt geïdentificeerd waarin u geïnteresseerd bent, wilt u er mogelijk meer over weten. U kunt dit doen door de specifieke pagina van dat pakket in de galerie te bekijken. Op die pagina kunt u alle metagegevens zien die met het pakket zijn geüpload. Deze metagegevens worden geleverd door de auteur van het pakket en worden niet geverifieerd door Microsoft. De eigenaar van het pakket is sterk gekoppeld aan het galerieaccount dat wordt gebruikt om het pakket te publiceren en is betrouwbaarder dan het veld Auteur.

Als u een pakket ontdekt dat volgens u niet te goeder trouw is gepubliceerd, klikt u op Misbruik melden op de pagina van dat pakket.

Als u of Find-ScriptuitvoertFind-Module, kunt u deze gegevens weergeven in het geretourneerde PSGetModuleInfo-object. Het volgende voorbeeld retourneert gegevens over de PSReadLine-module in de galerie.

Find-Module -Name PSReadLine -Repository PSGallery | Get-Member

We raden het volgende proces aan bij het downloaden van pakketten van de PowerShell Gallery:

Inspecteren

Als u een pakket uit de galerie wilt downloaden voor inspectie, voert u de Save-Module cmdlet of Save-Script uit, afhankelijk van het pakkettype. Hiermee kunt u het pakket lokaal opslaan zonder het te installeren en de inhoud van het pakket controleren. Vergeet niet het opgeslagen pakket handmatig te verwijderen.

Sommige van deze pakketten zijn geschreven door Microsoft en andere zijn gemaakt door de PowerShell-community. Microsoft raadt u aan de inhoud en code van pakketten in deze galerie te controleren vóór de installatie.

Als u een pakket ontdekt dat volgens u niet te goeder trouw is gepubliceerd, klikt u op Misbruik melden op de pagina van dat pakket.

Installeren

Als u een pakket uit de galerie wilt installeren voor gebruik, voert u de Install-Module cmdlet of Install-Script uit, afhankelijk van het pakkettype.

Install-Module installeert de module standaard in $env:ProgramFiles\WindowsPowerShell\Modules . Hiervoor is een beheerdersaccount vereist. Als u de -Scope CurrentUser parameter toevoegt, wordt de module geïnstalleerd in $HOME\Documents\WindowsPowerShell\Modules .

Install-Script installeert het script standaard in $env:ProgramFiles\WindowsPowerShell\Scripts . Hiervoor is een beheerdersaccount vereist. Als u de -Scope CurrentUser parameter toevoegt, wordt het script geïnstalleerd in $HOME\Documents\WindowsPowerShell\Scripts .

Standaard wordt Install-Module de Install-Script meest recente versie van een pakket geïnstalleerd. Als u een oudere versie van het pakket wilt installeren, voegt u de -RequiredVersion parameter toe.

Implementeren

Als u een pakket van de PowerShell Gallery naar Azure Automation wilt implementeren, klikt u op Azure Automation en klikt u vervolgens op implementeren naar Azure Automation op de pagina met pakketdetails. U wordt omgeleid naar de Azure-beheerportal, waar u zich aanmeldt met de referenties van uw Azure-account. Houd er rekening mee dat bij het implementeren van pakketten met afhankelijkheden alle afhankelijkheden naar Azure Automation worden geïmplementeerd. De knop Implementeren in Azure Automation kan worden uitgeschakeld door de tag AzureAutomationNotSupported toe te voegen aan de metagegevens van uw pakket.

Zie de documentatie voor Azure Automation voor meer informatie over Azure Automation.

Als u pakketten wilt bijwerken die zijn geïnstalleerd vanuit de PowerShell Gallery, voert u de Update-Module cmdlet of uitUpdate-Script. Wanneer wordt uitgevoerd zonder extra parameters, Update-Module probeert u alle geïnstalleerde modules bij te werken door uit te voeren Install-Module. Als u modules selectief wilt bijwerken, voegt u de -Name parameter toe.

Op dezelfde manier wordt, wanneer uitgevoerd zonder extra parameters, Update-Script ook geprobeerd om alle geïnstalleerde scripts bij te werken door uit te voeren Install-Script. Als u scripts selectief wilt bijwerken, voegt u de -Name parameter toe.

Als u wilt zien welke modules u hebt geïnstalleerd vanuit de PowerShell Gallery, voert u de Get-InstalledModule cmdlet uit. Met deze opdracht worden alle modules op uw systeem weergegeven die rechtstreeks vanuit de PowerShell Gallery zijn geïnstalleerd.

Op dezelfde manier voert u de cmdlet uit om erachter te komen welke scripts u hebt geïnstalleerd vanuit de Get-InstalledScript PowerShell Gallery. Met deze opdracht worden alle scripts op uw systeem vermeld die rechtstreeks vanuit de PowerShell Gallery zijn geïnstalleerd.

Deze hostnamen moeten worden toegevoegd aan de acceptatielijsten die de toegang vanaf uw netwerk beheren.

Hosts die vereist zijn voor pakketdetectie en -download:

  • onegetcdn.azureedge.net - CDN-hostnaam

Hosts die vereist zijn bij het gebruik van de PowerShell Gallery-website:

  • devopsgallerystorage.blob.core.windows.net - hostnaam van opslagaccount
  • *.powershellgallery.com -Website
  • go.microsoft.com - omleidingsservice

Belangrijk

Vanaf april 2020 biedt de PowerShell Gallery geen ondersteuning meer voor TLS-versies (Transport Layer Security) 1.0 en 1.1. Als u tls 1.2 of hoger niet gebruikt, krijgt u een foutmelding wanneer u toegang probeert te krijgen tot de PowerShell Gallery. Gebruik de volgende opdracht om ervoor te zorgen dat u TLS 1.2 gebruikt:

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

Zie de aankondiging in de PowerShell-blog voor meer informatie.