使用用户数据在AWS实例上安装Azure模块

问题描述 投票:0回答:1

我正在尝试通过userdata在AWS EC2实例上自动安装用于PowerShell(Az)的Azure模块,以便可以在启动实例时执行Azure命令。但是,我收到此错误:

PackageManagement \ Install-Package:无法转换值在“ 2.0.0-preview”中键入“ System.Version”。错误:“输入字符串原为格式不正确。“

其他已报告此问题的人已通过升级PowerShellGet并删除了旧版本来解决此问题。我正在用这段代码来做到这一点:

    Install-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201 -Force -Confirm:$false
    Install-Module -Name PowerShellGet -Repository PSGallery -Force -Confirm:$false
    Remove-Item -Path "C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1" -Force -Recurse

但是,当我运行命令之后安装模块时:

    Install-Module -Name Az -AllowClobber -Force -Confirm:$false -Scope AllUsers

我仍然遇到相同的错误。

如何解决此问题而不必关闭并重新打开外壳?所有这些都需要作为同一脚本的一部分运行。

azure powershell amazon-ec2 module user-data
1个回答
0
投票

您使用了Remove-Item,但是该命令只是删除了模块文件。 PS会话中仍然存在导入的模块。因此,您可以尝试使用Remove-Module删除它,然后使用Import-Module导入正确的一个。但是,这不是建议的方法,您可以尝试以下两种方法:

  1. 您可以只使用Update-Module -Name PowerShellGet -Force直接更新您现有的模块。

  2. 另一种方法是卸载旧模块,然后安装新版本。

© www.soinside.com 2019 - 2024. All rights reserved.