0

我需要将 PowerShell Az 模块从一台机器离线移动到另一台机器(两台机器都有相同的 windows (10 Pro 1809)、.net、powershell (5.1) 等版本)

我无法使用 Private PowerShellGet Repositories 或 MSI 安装程序

Save-Module -Name Az -Path 'C:\Users\kag\Documents\ps_modules' -RequiredVersion 3.7.0 -Force在“捐赠者”机器上运行,它给了我 50 多个导出的目录: 在此处输入图像描述

我将所有内容复制到“接收器”机器并运行:

Get-ChildItem "C:\Users\kag\Documents\ps_modules\*" -Recurse | Unblock-File
Import-Module -name "C:\Users\kag\Documents\ps_modules\Az" -Verbose

..但是得到所有依赖项的错误:

在此处输入图像描述

任何想法如何正确地将 Az 模块脱机?

4

1 回答 1

1

这是我的评论作为答案:

您保存模块的路径似乎C:\Users\kag\Documents\ps_modules不是 PowerShell 知道的模块路径之一。

您可以通过键入来测试 PowerShell 使用哪些路径来查找您的模块

$env:PSModulePath.split(';')

在控制台中。


以下是Stefan Stranger 博客的摘录

您可以添加仅可用于当前会话的临时路径:

$env:PSModulePath = $env:PSModulePath + ";C:\Users\kag\Documents\ps_modules"

要使其永久化,您可以将上面的行添加到您的 PowerShell 配置文件中,或者手动将其添加到注册表中:

$CurrentValue = [Environment]::GetEnvironmentVariable("PSModulePath", "User")
[Environment]::SetEnvironmentVariable("PSModulePath", $CurrentValue + ";C:\Users\kag\Documents\ps_modules", "User")

使用“用户”仅为当前用户存储此路径。使用“机器”使该路径可供所有用户使用

于 2020-07-29T14:21:59.807 回答