Komma igång med PowerShell-galleriet

Den PowerShell-galleriet är en paketdatabas som innehåller skript, moduler och DSC-resurser som du kan ladda ned och utnyttja. Du använder cmdletarna i PowerShellGet-modulen för att installera paket från PowerShell-galleriet. Du behöver inte logga in för att ladda ned objekt från PowerShell-galleriet.

Anteckning

Det går att ladda ned ett paket från PowerShell-galleriet direkt, men det är inte en rekommenderad metod. Mer information finns i Ladda ned manuellt paket.

Du kan hitta paket i PowerShell-galleriet med hjälp av sökkontrollen på PowerShell-galleriet:s startsida,eller genom att bläddra igenom Moduler och skript på sidan Paket. Du kan också hitta paket från PowerShell-galleriet genom att köra cmdletarna Find-Module, Find-DscResourceoch Find-Script, beroende på pakettyp, med -Repository PSGallery .

Du kan filtrera resultat från galleriet med hjälp av följande parametrar:

  • Name
  • AllVersions
  • Minimumversion
  • RequiredVersion
  • Tagg
  • Inkluderar
  • DscResource
  • RoleCapability
  • Kommando
  • Filtrera

Om du bara är intresserad av att identifiera specifika DSC-resurser i galleriet kan du köra cmdleten Find-DscResource. Find-DscResource returnerar data om DSC-resurser som finns i galleriet. Eftersom DSC-resurser alltid levereras som en del av en modul måste du fortfarande köra Install-Module för att installera dessa DSC-resurser.

När du har identifierat ett paket som du är intresserad av kan du läsa mer om det. Du kan göra detta genom att undersöka paketets specifika sida i galleriet. På den sidan kan du se alla metadata som laddats upp med paketet. Dessa metadata tillhandahålls av paketets författare och verifieras inte av Microsoft. Paketets ägare är starkt knuten till det gallerikonto som används för att publicera paketet och är mer tillförlitligt än fältet Författare.

Om du upptäcker att ett paket som du anser inte har publicerats i ont Rapportera missbruk på paketets sida.

Om du kör Find-Module eller Find-Scriptkan du visa dessa data i det returnerade PSGetModuleInfo-objektet. Om du till exempel Find-Module -Name PSReadLine -Repository PSGallery |Get-Member kör returneras data på PSReadLine-modulen i galleriet.

Vi rekommenderar följande process när du laddar ned paket från PowerShell-galleriet:

Inspektera

Om du vill ladda ned ett paket från galleriet för granskning kör du antingen cmdleten Save-Module eller Save-Script, beroende på pakettypen. På så sätt kan du spara paketet lokalt utan att installera det och granska paketinnehållet. Kom ihåg att ta bort det sparade paketet manuellt.

Vissa av dessa paket har redigerats av Microsoft och andra har redigerats av PowerShell-communityn. Microsoft rekommenderar att du granskar innehållet och koden för paket i det här galleriet före installationen.

Om du upptäcker att ett paket som du anser inte har publicerats i ont Rapportera missbruk på paketets sida.

Installera

Om du vill installera ett paket från galleriet för användning kör du antingen cmdleten Install-Module eller Install-Script, beroende på pakettypen.

Install-Module installerar modulen till $env:ProgramFiles\WindowsPowerShell\Modules som standard. Detta kräver ett administratörskonto. Om du lägger -Scope CurrentUser till parametern installeras modulen i $env:USERPROFILE\Documents\WindowsPowerShell\Modules .

Install-Script installerar skriptet till $env:ProgramFiles\WindowsPowerShell\Scripts som standard. Detta kräver ett administratörskonto. Om du lägger -Scope CurrentUser till parametern installeras skriptet i $env:USERPROFILE\Documents\WindowsPowerShell\Scripts .

Som standard installerar Install-Module och Install-Script den senaste versionen av ett paket. Om du vill installera en äldre version av paketet lägger du till -RequiredVersion parametern .

Distribuera

Om du vill distribuera ett paket PowerShell-galleriet till Azure Automation klickar du på Azure Automation och sedan på Distribuera till Azure Automation på sidan med paketinformation. Du omdirigeras till Den Azure-Hanteringsportal där du loggar in med dina autentiseringsuppgifter för Azure-kontot. Observera att distribution av paket med beroenden distribuerar alla beroenden till Azure Automation. Knappen "Distribuera till Azure Automation" kan inaktiveras genom att lägga till taggen AzureAutomationNotSupported i dina paketmetadata.

Mer information om Azure Automation finns i Azure Automation dokumentationen.

Kör antingen cmdleten Update-Module PowerShell-galleriet Update-Module eller Update-Script för att uppdatera paket som har installerats från PowerShell-galleriet-paketet. När den körs utan ytterligare parametrar försöker Update-Module uppdatera alla moduler som har installerats genom att köra Install-Module. Om du vill uppdatera moduler selektivt lägger du till -Name parametern .

På samma sätt försöker Update-Script också uppdatera alla skript som installerats genom att köra Install-Scriptnär det körs utan ytterligare parametrar. Om du vill uppdatera skript selektivt lägger du till -Name parametern .

Om du vill ta reda på vilka moduler som du har PowerShell-galleriet kan du köra cmdleten Get-InstalledModule. Det här kommandot visar alla moduler som du har i systemet som har installerats direkt från PowerShell-galleriet.

Om du vill ta reda på vilka skript som du har installerat från PowerShell-galleriet kör du cmdleten Get-InstalledScript. Det här kommandot visar alla skript som du har på datorn som har installerats direkt från PowerShell-galleriet.

Den PowerShell-galleriet använder följande värdnamn.

  • psg-prod-eastus.azureedge.net- CDN värdnamn
  • az818661.vo.msecnd.net- CDN värdnamn
  • devopsgallerystorage.blob.core.windows.net – värdnamn för lagringskonto
  • *.powershellgallery.com – webbplats
  • go.microsoft.com – omdirigeringstjänst

Dessa värdnamn ska läggas till i listorna över tillåtna som styr åtkomsten från nätverket.

Viktigt

Från och med april 2020 PowerShell-galleriet inte längre versionerna Transport Layer Security (TLS) 1.0 och 1.1. Om du inte använder TLS 1.2 eller senare får du ett felmeddelande när du försöker komma åt PowerShell-galleriet. Använd följande kommando för att kontrollera att du använder TLS 1.2:

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

Mer information finns i tillkännagivandet i PowerShell-bloggen.