Zainstalować Package Management Module na PowerShell 3 komputer, a następnie użyj modułu Save-Module ...
lub skonfiguruj ProGet gdzieś "na krawędzi" swojej sieci, i niech to będzie odzwierciedlać moduły, które chcesz od publiczności PowerShellGallery dla klientów wewnętrznych.
W przeciwnym razie, po prostu zbudować własny pobierania URL:
https://www.powershellgallery.com/api/v2/package/$Name/$Version
Można nawet wygenerować moduł proxy OData, lub po prostu użyć Invoke-restmethod do wyszukiwania:
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
}
Więc teraz można po prostu wykonaj to samo, co w oficjalnym module:
Find-Module Pester | Save-Module -Path ~\Downloads
Dzięki. https://www.powershellgallery.com/api/v2/package/$Name/$Version było kluczem. – zerocool18