Installera PowerShellGet

PowerShellGet är en in-box-modul i följande versioner

Innan du uppdaterar PowerShellGet bör du alltid installera den senaste NuGet-providern. Kör följande kommando från en upphöjd PowerShell-session.

Install-PackageProvider -Name NuGet -Force

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.

För system med PowerShell 5.0 (eller nyare) kan du installera den senaste versionen av PowerShellGet

Om du vill installera PowerShellGet på alla system där WMF 5.1 är installerat kör du följande kommandon från en upphöjd PowerShell-session.

Install-Module -Name PowerShellGet -Force

Använd Update-Module för att hämta nyare versioner.

Update-Module -Name PowerShellGet
Exit

För datorer som kör PowerShell 3.0 eller PowerShell 4.0

De här anvisningarna gäller för datorer som har PackageManagement Preview installerat eller som inte har någon version av PowerShellGet installerad.

Save-ModuleCmdleten används i båda uppsättningarna med instruktioner. Save-Module laddar ned och sparar en modul och eventuella beroenden från en registrerad lagringsplats. Modulens senaste version sparas på en angiven sökväg på den lokala datorn, men installeras inte. Om du vill installera modulerna i PowerShell 3.0 eller 4.0 kopierar du modulens sparade mappar till $env:ProgramFiles\WindowsPowerShell\Modules .

Mer information finns i Save-Module.

Anteckning

PowerShell 3.0 och PowerShell 4.0 hade endast stöd för en version av en modul. Från och med PowerShell 5.0 installeras moduler i <modulename>\<version> . På så sätt kan du installera flera versioner sida vid sida. När du har laddat ned modulen med måste du kopiera filerna från till mappen på Save-Module <modulename>\<version> <modulename> måldatorn, som du ser i anvisningarna nedan.

Förberedande steg på datorer som kör PowerShell 3.0

Anvisningarna i avsnitten nedan installerar modulerna i katalogen $env:ProgramFiles\WindowsPowerShell\Modules . I PowerShell 3.0 visas inte den här katalogen i som standard, så du måste lägga till den för att modulerna ska läsas in $env:PSModulePath automatiskt.

Öppna en upphöjd PowerShell-session och kör följande kommando (som börjar gälla i framtida sessioner):

[Environment]::SetEnvironmentVariable(
  'PSModulePath',
  ((([Environment]::GetEnvironmentVariable('PSModulePath', 'Machine') -split ';') + "$env:ProgramFiles\WindowsPowerShell\Modules") -join ';'),
  'Machine'
)

Datorer med PackageManagement Preview installerat

Anteckning

PackageManagement Preview var en nedladdningsbar komponent som gjorde PowerShellGet tillgängligt för PowerShell version 3 och 4, men det är inte längre tillgängligt. Om du vill testa om den har installerats på en viss dator kör du Get-Module -ListAvailable PowerShellGet .

  1. Från en PowerShell-session använder du Save-Module för att ladda ned den aktuella versionen av PowerShellGet. Två mappar laddas ned: PowerShellGet och PackageManagement. Varje mapp innehåller en undermapp med ett versionsnummer.

    Save-Module -Name PowerShellGet -Path C:\LocalFolder -Repository PSGallery
    
  2. Kontrollera att modulerna PowerShellGet och PackageManagement inte har lästs in i några andra processer.

  3. Öppna PowerShell-konsolen igen med förhöjd behörighet och kör följande kommando.

    'PowerShellGet', 'PackageManagement' | % {
      $targetDir = "$env:ProgramFiles\WindowsPowerShell\Modules\$_"
      Remove-Item $targetDir\* -Recurse -Force
      Copy-Item C:\LocalFolder\$_\*\* $targetDir\ -Recurse -Force
    }
    

Datorer utan PowerShellGet

För datorer utan någon installerad version av PowerShellGet (testa med ) krävs en dator med Get-Module -ListAvailable PowerShellGet PowerShellGet installerat för att hämta modulerna.

  1. Från den dator där PowerShellGet är installerat använder du för Save-Module att ladda ned den aktuella versionen av PowerShellGet. Två mappar laddas ned: PowerShellGet och PackageManagement. Varje mapp innehåller en undermapp med ett versionsnummer.

    Save-Module -Name PowerShellGet -Path C:\LocalFolder -Repository PSGallery
    
  2. Kopiera respektive undermapp i <version> mapparna PowerShellGet och PackageManagement till den dator som inte har PowerShellGet installerat i mappar och mappar, vilket kräver en $env:ProgramFiles\WindowsPowerShell\Modules\PowerShellGet\ $env:ProgramFiles\WindowsPowerShell\Modules\PackageManagement\ upphöjd session.

  3. Om du till exempel har åtkomst till nedladdningsmappen på den andra datorn, till exempel , från måldatorn via en UNC-sökväg, till exempel , öppnar du en PowerShell-konsol med förhöjd behörighet och kör ws1 \\ws1\C$\LocalFolder följande kommando:

    'PowerShellGet', 'PackageManagement' | % {
      $targetDir = "$env:ProgramFiles\WindowsPowerShell\Modules\$_"
      $null = New-Item -Type Directory -Force $targetDir
      $fromComputer = 'ws1'  # Specify the name of the other computer here.
      Copy-Item \\$fromComputer\C$\LocalFolder\$_\*\* $targetDir -Recurse -Force
      if (-not (Get-ChildItem $targetDir)) { Throw "Copying failed." }
    }