Установите Package Management Module на вашем PowerShell 3, а затем используйте Save-Module ...
Или настройте ProGet где-нибудь «на краю» вашей сети и попробуйте зеркалировать модули, которые вы хотите от общественности, PowerShellGallery для ваших внутренних клиентов.
В противном случае, просто создать свой собственный скачать URL:
https://www.powershellgallery.com/api/v2/package/$Name/$Version
Вы даже можете создать модуль прокси OData, или просто использовать Invoke-restmethod для поиска:
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
}
Итак, теперь вы можете просто сделайте то же самое, что и в официальном модуле:
Find-Module Pester | Save-Module -Path ~\Downloads
Спасибо. https://www.powershellgallery.com/api/v2/package/$Name/$Version был ключом. – zerocool18