PowerShell Az 模块:离线导出和导入
PowerShell Az module: export and import offline
我需要将 PowerShell Az 模块从一台机器离线移动到另一台机器(两台机器具有相同的 windows (10 Pro 1809)、.net、powershell (5.1) 等版本)
我无法使用私有 PowerShellGet 存储库或 MSI 安装程序
我 运行 Save-Module -Name Az -Path 'C:\Users\kag\Documents\ps_modules' -RequiredVersion 3.7.0 -Force
在“donor”机器上,它给了我 50 多个导出的目录:
我将所有内容复制到“接收方”机器并 运行ning:
Get-ChildItem "C:\Users\kag\Documents\ps_modules\*" -Recurse | Unblock-File
Import-Module -name "C:\Users\kag\Documents\ps_modules\Az" -Verbose
..但所有依赖项都出现错误:
关于如何正确地离线移动 Az 模块有什么想法吗?
这里是我的评论作为答案:
您在 C:\Users\kag\Documents\ps_modules
中保存模块的路径似乎不是 PowerShell 知道的模块路径之一。
您可以通过键入
来测试 PowerShell 使用哪些路径来查找您的模块
$env:PSModulePath.split(';')
在控制台中。
您可以添加仅对当前会话可用的临时路径:
$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")
使用“用户”只为当前用户存储此路径。使用“机器”让所有用户都可以使用该路径
我需要将 PowerShell Az 模块从一台机器离线移动到另一台机器(两台机器具有相同的 windows (10 Pro 1809)、.net、powershell (5.1) 等版本)
我无法使用私有 PowerShellGet 存储库或 MSI 安装程序
我 运行 Save-Module -Name Az -Path 'C:\Users\kag\Documents\ps_modules' -RequiredVersion 3.7.0 -Force
在“donor”机器上,它给了我 50 多个导出的目录:
我将所有内容复制到“接收方”机器并 运行ning:
Get-ChildItem "C:\Users\kag\Documents\ps_modules\*" -Recurse | Unblock-File
Import-Module -name "C:\Users\kag\Documents\ps_modules\Az" -Verbose
..但所有依赖项都出现错误:
关于如何正确地离线移动 Az 模块有什么想法吗?
这里是我的评论作为答案:
您在 C:\Users\kag\Documents\ps_modules
中保存模块的路径似乎不是 PowerShell 知道的模块路径之一。
您可以通过键入
来测试 PowerShell 使用哪些路径来查找您的模块$env:PSModulePath.split(';')
在控制台中。
您可以添加仅对当前会话可用的临时路径:
$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")
使用“用户”只为当前用户存储此路径。使用“机器”让所有用户都可以使用该路径