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 modulen PowerShellGet 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.

Not

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

Du kan hitta paket i PowerShell-galleriet med hjälp av kontrollen Search på PowerShell-galleriets startsidaeller genom att bläddra igenom sidan Moduler och skript från sidan Packages. 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:

  • Namn
  • AllVersioner
  • MinimumVersion
  • RequiredVersion
  • Tagg
  • Innehåller
  • DscResource
  • RoleCapability
  • Befallning
  • Filter

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 veta 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 modulen PSReadLine 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 kontroll kör du antingen cmdleten Save-Module eller Save-Script, beroende på pakettyp. 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 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å pakettyp.

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

Install-Script installerar skriptet för att $env:ProgramFiles\WindowsPowerShell\Scripts som standard. Detta kräver ett administratörskonto. Om du lägger till parametern -Scope CurrentUser installeras skriptet för att $HOME\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 parametern -RequiredVersion.

Gruppera

Om du vill distribuera ett paket från PowerShell-galleriet till Azure Automation klickar du på Azure Automationoch klickar sedan på Distribuera till Azure Automation på sidan med paketinformation. Du omdirigeras till Azure Management Portal 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 AzureAutomationNotSupported tagg i paketmetadata.

Mer information om Azure Automation finns i dokumentationen Azure Automation.

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 försöker Update-Module uppdatera alla moduler som installerats genom att köra Install-Module. Om du vill uppdatera moduler selektivt lägger du till parametern -Name.

När du kör utan ytterligare parametrar försöker Update-Script 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 Get-InstalledScript för att ta reda på vilka skript du har installerat från PowerShell-galleriet. Det här kommandot visar alla skript som du har i systemet som har installerats direkt från PowerShell-galleriet.

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

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

  • onegetcdn.azureedge.net
  • powershellgallery.azureedge.net
  • psg-prod-eastus.azureedge.net

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

  • *.powershellgallery.com - webbplats
  • go.microsoft.com och aka.ms – omdirigeringstjänster

Viktig

Från och med april 2020 stöder PowerShell-galleriet inte längre TLS-versionerna (Transport Layer Security) 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 se till att du använder TLS 1.2:

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

Mer information finns i meddelande i PowerShell-bloggen.