Installare il Package Management Module sul tuo PowerShell 3 macchina, quindi utilizzare Save-Module ...
Oppure impostare ProGet da qualche parte "sul bordo" della rete e fare in modo che rispecchi i moduli desiderati dal pubblico PowerShellGallery per i client solo interni.
In mancanza di ciò, basta costruire il proprio URL di download:
https://www.powershellgallery.com/api/v2/package/$Name/$Version
È anche possibile generare un modulo proxy OData, o semplicemente usare richiamare-restmethod per la ricerca:
function Find-Module {
param($Name)
invoke-restmethod "https://www.powershellgallery.com/api/v2/Packages?`$filter=Id eq '$name' and IsLatestVersion" |
select-Object @{n='Name';ex={$_.title.'#text'}},
@{n='Version';ex={$_.properties.version}},
@{n='Uri';ex={$_.Content.src}}
}
function Save-Module {
param(
[Parameter(ValueFromPipelineByPropertyName=$true,Mandatory=$true)]
$Name,
[Parameter(ValueFromPipelineByPropertyName=$true,Mandatory=$true)]$Uri,
[Parameter(ValueFromPipelineByPropertyName=$true)]$Version="",
[string]$Path = $pwd
)
$Path = (Join-Path $Path "$Name.$Version.nupkg")
Invoke-WebRequest $Uri -OutFile $Path
Get-Item $Path
}
così ora si può basta fare come con il modulo ufficiale:
Find-Module Pester | Save-Module -Path ~\Downloads
Grazie. https://www.powershellgallery.com/api/v2/package/$Name/$Version era la chiave. – zerocool18