Dela via


Komma igång med PowerShell-galleriet

PowerShell-galleriet är en paketlagringsplats 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 här är inte en rekommenderad metod. Mer information finns i Manuell nedladdning av paket.

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

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

  • Name
  • AllVersioner
  • 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 kanske du vill lära dig 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 ett paket som du anser inte har publicerats i god tro klickar du på Rapportera missbruk på paketets sida.

Om du kör Find-Module eller Find-Scriptkan du visa dessa data i det returnerade PSGetModuleInfo-objektet . I följande exempel returneras data i PSReadLine-modulen i galleriet.

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

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 inspektion 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 de här paketen har skapats av Microsoft och andra har skapats 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 ett paket som du anser inte har publicerats i god tro klickar du på 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 till parametern -Scope CurrentUser installeras modulen i $HOME\Documents\WindowsPowerShell\Modules .

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

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

Distribuera

Om du vill distribuera ett paket från PowerShell-galleriet till Azure Automation klickar du på Azure Automation och klickar sedan på Distribuera för att Azure Automation på paketinformationssidan. Du omdirigeras till Azure-hanteringsportalen 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 paketmetadata.

Mer information om Azure Automation finns i Azure Automation dokumentation.

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

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

Kör cmdleten Get-InstalledModule för att ta reda på vilka moduler du har installerat från PowerShell-galleriet. Det här kommandot visar alla moduler som du har i systemet som har installerats direkt från PowerShell-galleriet.

På samma sätt kör du cmdleten för att ta reda på Get-InstalledScript vilka skript som du har installerat från PowerShell-galleriet. Det här kommandot visar alla skript som du har i systemet som installerades direkt från PowerShell-galleriet.

Dessa värdnamn bör läggas till i de tillåtna listor som styr åtkomsten från nätverket.

Värdar som krävs för paketidentifiering och nedladdning:

  • onegetcdn.azureedge.net – CDN-värdnamn

Värdar som krävs när du använder PowerShell-galleriet webbplats:

  • devopsgallerystorage.blob.core.windows.net – värdnamn för lagringskonto
  • *.powershellgallery.com -Webbplats
  • go.microsoft.com – omdirigeringstjänst

Viktigt

Från och med april 2020 stöder PowerShell-galleriet inte längre TLS-versionerna 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 meddelandet i PowerShell-bloggen.