gpt4 book ai didi

PowerShell v5 - 如何将模块安装到没有互联网连接的计算机上?

转载 作者:行者123 更新时间:2023-12-03 22:38:39 27 4
gpt4 key购买 nike

我有一台机器(v3,互联网,无管理员访问权限),用于下载 WMF 5.0 并设置另一台机器(v5,无互联网,管理员访问权限)。现在,我想在运行 v5 但没有互联网连接的机器上使用 PowerShellGet 中的一些模块。

我需要一个选项来下载 *.psm1 文件,然后我可以复制并使用它。
就像我们可以选择从 GitHub 下载一样。

任何有类似问题和任何解决方法的人?

最佳答案

安装 Package Management Module在您的 PowerShell 3 机器上,然后使用 Save-Module ...

或设置ProGet在你网络的“边缘”的某个地方,让它镜像你想要的公共(public)模块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

关于PowerShell v5 - 如何将模块安装到没有互联网连接的计算机上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37486587/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com