我需要将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:
我将所有内容复制到“接收器”计算机并正在运行:
Get-ChildItem "C:\Users\kag\Documents\ps_modules\*" -Recurse | Unblock-File
Import-Module -name "C:\Users\kag\Documents\ps_modules\Az" -Verbose
..但是所有依赖项都出错:
有什么想法如何正确地使Az模块脱机?
答案 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")
使用“用户”只为当前用户存储此路径。使用“计算机”使该路径可用于所有用户