PowerShell Az模块:离线导出和导入

时间:2020-07-29 10:48:47

标签: powershell powershell-module az

我需要将PowerShell Az模块从一台计算机移到另一台脱机(两台计算机具有相同的窗口(10 Pro 1809)、. net,powershell(5.1)等版本)

我不能使用Private PowerShellGet存储库或MSI安装程序

我在“ donor”机器上运行Save-Module -Name Az -Path 'C:\Users\kag\Documents\ps_modules' -RequiredVersion 3.7.0 -Force,它输出了50多个dir: enter image description here

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

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

..但是所有依赖项都出错:

enter image description here

有什么想法如何正确地使Az模块脱机?

1 个答案:

答案 0 :(得分:1)

以下是我的评论作为答案:

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

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

$env:PSModulePath.split(';')

在控制台中。


以下是Stefan Stranger's Blog的摘录

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

$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")

使用“用户”只为当前用户存储此路径。使用“计算机”使该路径可用于所有用户