PowerShellGet installeren
PowerShellGet is een in-box-module in de volgende releases
- Windows 10 of nieuwer
- Windows Server 2016 of nieuwer
- Windows Management Framework (WMF) 5.0 of hoger
- PowerShell 6
De nieuwste versie van PowerShell Gallery
Voordat u PowerShellGet bij werkt, moet u altijd de nieuwste NuGet-provider installeren. Voer vanuit een PowerShell-sessie met verhoogde bevoegdheid de volgende opdracht uit.
Install-PackageProvider -Name NuGet -Force
Belangrijk
Vanaf april 2020 biedt de PowerShell Gallery geen ondersteuning meer voor Transport Layer Security versies 1.0 en 1.1 (TLS). Als u TLS 1.2 of hoger niet gebruikt, ontvangt 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.
Voor systemen met PowerShell 5.0 (of hoger) kunt u de nieuwste versie van PowerShellGet installeren
Als u PowerShellGet wilt installeren op een systeem met WMF 5.1 geïnstalleerd, voert u de volgende opdrachten uit vanuit een PowerShell-sessie met verhoogde bevoegdheid.
Install-Module -Name PowerShellGet -Force
Gebruik Update-Module om nieuwere versies op te halen.
Update-Module -Name PowerShellGet
Exit
Voor computers met PowerShell 3.0 of PowerShell 4.0
Deze instructies zijn van toepassing op computers waarop PackageManagement Preview is geïnstalleerd of waarop geen versie van PowerShellGet is geïnstalleerd.
De Save-Module cmdlet wordt gebruikt in beide sets instructies. Save-Module downloadt en slaat een module en eventuele afhankelijkheden van een geregistreerde opslagplaats op. De meest recente versie van de module wordt opgeslagen op een opgegeven pad op de lokale computer, maar is niet geïnstalleerd. Als u de modules wilt installeren in PowerShell 3.0 of 4.0, kopieert u de opgeslagen mappen van de module naar $env:ProgramFiles\WindowsPowerShell\Modules .
Zie Save-Module voor meer informatie.
Notitie
PowerShell 3.0 en PowerShell 4.0 ondersteunen slechts één versie van een module. Vanaf PowerShell 5.0 worden modules geïnstalleerd in <modulename>\<version> . Hiermee kunt u meerdere versies naast elkaar installeren. Nadat u de module met hebt gedownload, moet u de bestanden kopiëren van de naar de map op de Save-Module <modulename>\<version> doelmachine, zoals wordt weergegeven in de <modulename> onderstaande instructies.
Voorbereidende stap op computers met PowerShell 3.0
Met de instructies in de onderstaande secties installeert u de modules in de map $env:ProgramFiles\WindowsPowerShell\Modules . In PowerShell 3.0 wordt deze map niet standaard vermeld in , dus moet u deze toevoegen om ervoor te zorgen dat de $env:PSModulePath modules automatisch worden geladen.
Open een PowerShell-sessie met verhoogde bevoegdheid en voer de volgende opdracht uit (die van kracht wordt in toekomstige sessies):
[Environment]::SetEnvironmentVariable(
'PSModulePath',
((([Environment]::GetEnvironmentVariable('PSModulePath', 'Machine') -split ';') + "$env:ProgramFiles\WindowsPowerShell\Modules") -join ';'),
'Machine'
)
Computers waarop PackageManagement Preview is geïnstalleerd
Notitie
PackageManagement Preview was een downloadbaar onderdeel dat PowerShellGet beschikbaar maakte voor PowerShell-versies 3 en 4, maar deze is niet meer beschikbaar. Voer uit om te testen of deze op een bepaalde computer is Get-Module -ListAvailable PowerShellGet geïnstalleerd.
Gebruik vanuit een PowerShell-sessie
Save-Moduleom de huidige versie van PowerShellGet te downloaden. Er worden twee mappen gedownload: PowerShellGet en PackageManagement. Elke map bevat een submap met een versienummer.Save-Module -Name PowerShellGet -Path C:\LocalFolder -Repository PSGalleryZorg ervoor dat de modules PowerShellGet en PackageManagement niet in andere processen worden geladen.
Open de PowerShell-console opnieuw met verhoogde machtigingen en voer de volgende opdracht uit.
'PowerShellGet', 'PackageManagement' | % { $targetDir = "$env:ProgramFiles\WindowsPowerShell\Modules\$_" Remove-Item $targetDir\* -Recurse -Force Copy-Item C:\LocalFolder\$_\*\* $targetDir\ -Recurse -Force }
Computers zonder PowerShellGet
Voor computers waarop geen versie van PowerShellGet is geïnstalleerd (test met ), is een computer met Get-Module -ListAvailable PowerShellGet PowerShellGet vereist om de modules te downloaden.
Gebruik op de computer met PowerShellGet om
Save-Modulede huidige versie van PowerShellGet te downloaden. Er worden twee mappen gedownload: PowerShellGet en PackageManagement. Elke map bevat een submap met een versienummer.Save-Module -Name PowerShellGet -Path C:\LocalFolder -Repository PSGalleryKopieer de respectieve submap in de mappen
<version>PowerShellGet en PackageManagement naar de computer waarop PowerShellGet niet is geïnstalleerd, in mappen en respectievelijk, waarvoor een sessie met verhoogde bevoegdheid is$env:ProgramFiles\WindowsPowerShell\Modules\PowerShellGet\$env:ProgramFiles\WindowsPowerShell\Modules\PackageManagement\vereist.Als u bijvoorbeeld toegang hebt tot de downloadmap op de andere computer, bijvoorbeeld vanaf de doelcomputer via een UNC-pad, bijvoorbeeld , opent u een PowerShell-console met verhoogde machtigingen en voer u de
ws1\\ws1\C$\LocalFoldervolgende opdracht uit:'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." } }