AWS.Tools在 Windows 上安装(推荐) - AWS Tools for PowerShell (版本 5)

的版本 5 (V5) AWS Tools for PowerShell 已经发布!

有关重大更改和迁移应用程序的信息,请参阅迁移主题

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS.Tools在 Windows 上安装(推荐)

有关 AWS Tools for PowerShell 在 Windows 上安装的一般信息,包括先决条件和其他选项,请参阅父主题

有关上预安装 PowerShell 的工具的信息 AWS CloudShell,请参阅已安装在 CloudShell

你可以在运行 Windows PowerShell 5.1、 PowerShell 酷睿 6.0 或更高版本的 Windows 的计算机 AWS Tools for PowerShell 上安装模块化版本。有关如何安装 PowerShell Core 的信息,请参阅 PowerShell在 Microsoft 网站上安装各种版本的。

您可以通过以下三种方式之一安装 AWS.Tools

  • 使用 AWS.Tools.Installer 模块中的 cmdlet。该模块简化了其他AWS.Tools模块的安装和更新。 AWS.Tools.Installer需要PowerShellGet并自动下载和安装它的更新版本。 AWS.Tools.Installer自动使您的模块版本保持同步。当您安装或更新到一个模块的较新版本时,中的 cmdlet AWS.Tools.Installer 会自动将所有其他AWS.Tools模块更新到相同的版本。

    此方法将在随后的步骤中描述。

  • AWS.Tools.zip 下载模块并将它们提取到其中一个模块文件夹中。您可以通过显示 PSModulePath 变量的值来查找模块文件夹。

    警告

    下载 ZIP 文件后,在解压缩内容之前,可能需要将其解除封锁。这通常是通过打开文件属性,查看 “常规” 选项卡,然后选择 “取消阻止” 复选框(如果存在)来完成的。

    如果 ZIP 文件需要解除阻止,但您没有这样做,则可能会收到类似以下内容的错误:“导入模块:无法加载文件或程序集”。

  • 使用 Install-Module cmdlet 从 PowerShell 库中安装每个服务模块。

使用该AWS.Tools.Installer模块AWS.Tools在 Windows 上安装
  1. 开始会 PowerShell 话。

    注意

    我们建议您不要以具有更高权限的管理员 PowerShell 身份运行,除非手头的任务需要这样做。这是因为此操作具有潜在的安全风险,并且不符合最低特权原则。

  2. 要安装模块化 AWS.Tools 程序包,请运行以下命令。

    PS > Install-Module -Name AWS.Tools.Installer Untrusted repository You are installing the modules from an untrusted repository. If you trust this repository, change its InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from 'PSGallery'? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): y

    如果您收到关于存储库“不受信任”的通知,系统会询问您是否仍要安装。输入y PowerShell 以允许安装模块。为了避免在不信任存储库的情况下出现提示并安装模块,您可以使用 -Force 参数运行以下命令。

    PS > Install-Module -Name AWS.Tools.Installer -Force
  3. 现在,您可以使用 Install-AWSToolsModule cmdlet 为要使用的每项 AWS 服务安装该模块。例如,以下命令安装亚马逊 EC2和亚马逊 S3 模块。此命令还会安装指定模块工作所需的任何依赖模块。例如,当您安装第一个 AWS.Tools 服务模块时,它还会安装 AWS.Tools.Common。这是所有 AWS 服务模块都需要的共享模块。它还会删除模块的较早版本,并将其他模块更新到相同的较新版本。

    PS > Install-AWSToolsModule AWS.Tools.EC2,AWS.Tools.S3 -CleanUp Confirm Are you sure you want to perform this action? Performing the operation "Install-AWSToolsModule" on target "AWS Tools version 4.0.0.0". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): Installing module AWS.Tools.Common version 4.0.0.0 Installing module AWS.Tools.EC2 version 4.0.0.0 Installing module AWS.Tools.Glacier version 4.0.0.0 Installing module AWS.Tools.S3 version 4.0.0.0 Uninstalling AWS.Tools version 3.3.618.0 Uninstalling module AWS.Tools.Glacier Uninstalling module AWS.Tools.S3 Uninstalling module AWS.Tools.SimpleNotificationService Uninstalling module AWS.Tools.SQS Uninstalling module AWS.Tools.Common
    注意

    Install-AWSToolsModulecmdlet 从PSRepository命名 PSGallery (https://www.powershellgallery.com/) 下载所有请求的模块,并将其视为可信来源。有关此 PSRepository 的更多信息,请使用命令 Get-PSRepository -Name PSGallery

    默认情况下,前面的命令会将模块安装到 %USERPROFILE%\Documents\WindowsPowerShell\Modules 文件夹中。要 AWS Tools for PowerShell 为计算机的所有用户安装,必须在以管理员身份启动的 PowerShell 会话中运行以下命令。例如,以下命令将 IAM 模块安装到所有用户均可访问的 %ProgramFiles%\WindowsPowerShell\Modules 文件夹中。

    PS > Install-AWSToolsModule AWS.Tools.IdentityManagement -Scope AllUsers

    要安装其他模块,请使用相应的模块名称运行类似的命令,如图PowerShell 库中所示

启用脚本执行

要加载 AWS Tools for PowerShell 模块,必须启用 PowerShell 脚本执行。要启用脚本执行,请运行 Set-ExecutionPolicy cmdlet 以设置 RemoteSigned 策略。有关更多信息,请参阅 Microsoft Technet 网站上的关于执行策略

注意

此要求仅适用于运行 Windows 的计算机。ExecutionPolicy 安全限制不存在于其他操作系统上。

启用脚本执行

  1. 需要管理员权限才能设置执行策略。如果您不是以具有管理员权限的用户身份登录,请以管理员身份打开 PowerShell 会话。选择开始,然后选择所有程序。选择 “附件”,然后选择 “Windows” PowerShell。右键单击 Windows PowerShell,然后在上下文菜单上选择 “以管理员身份运行”。

  2. 在命令提示符处,输入以下命令。

    PS > Set-ExecutionPolicy RemoteSigned
注意

在 64 位系统上,对于 32 位版本的 Windows PowerShell (x 86) PowerShell,必须单独执行此操作。

如果您没有正确设置执行策略,则每当您尝试运行脚本(例如您的配置文件)时,都会 PowerShell 显示以下错误。

File C:\Users\username\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see "get-help about_signing" for more details. At line:1 char:2 + . <<<< 'C:\Users\username\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1' + CategoryInfo : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeException

适用于 Windows 的工具 PowerShell 安装程序会自动更新PSModule路径,以包括包含该AWSPowerShell模块的目录的位置。

由于PSModulePath包含 AWS 模块目录的位置,因此 Get-Module -ListAvailable cmdlet 会显示该模块。

PS > Get-Module -ListAvailable ModuleType Name ExportedCommands ---------- ---- ---------------- Manifest AppLocker {} Manifest BitsTransfer {} Manifest PSDiagnostics {} Manifest TroubleshootingPack {} Manifest AWSPowerShell {Update-EBApplicationVersion, Set-DPStatus, Remove-IAMGroupPol...

版本控制

AWS AWS Tools for PowerShell 定期发布新版本以支持新的 AWS 服务和功能。要确定已安装的工具的版本,请运行 Get-AWSPower ShellVersion cmdlet。

例如:

PS > Get-AWSPowerShellVersion AWS Tools for PowerShell Version 5.0.3 Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. Amazon Web Services SDK for .NET Core Runtime Version 4.0.0.13 Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. Release notes: https://github.com/aws/aws-tools-for-powershell/blob/main/changelogs/CHANGELOG.ALL.md This software includes third party software subject to the following copyrights: - Logging from log4net, Apache License [http://logging.apache.org/log4net/license.html]

您也可以将-ListServiceVersionInfo参数添加到 Get-AWSPower ShellVersion 命令中,以查看当前版本的工具支持的 AWS 服务列表。如果使用模块化 AWS.Tools.* 选项,则只显示当前已导入的模块。

例如:

PS > Get-AWSPowerShellVersion -ListServiceVersionInfo ... Service Noun Prefix Module Name SDK Assembly Version ------- ----------- ----------- ----------- AWS IAM Access Analyzer IAMAA AWS.Tools.AccessAnalyzer 3.7.400.33 AWS Account ACCT AWS.Tools.Account 3.7.400.33 AWS Certificate Manager Private... PCA AWS.Tools.ACMPCA 3.7.400.34 AWS Amplify AMP AWS.Tools.Amplify 3.7.401.28 Amplify Backend AMPB AWS.Tools.AmplifyBackend 3.7.400.33 ...

要确定您正在运行 PowerShell 的版本,$PSVersionTable请输入查看 $ T PSVersion able 自动变量的内容。

例如:

PS > $PSVersionTable Name Value ---- ----- PSVersion 6.2.2 PSEdition Core GitCommitId 6.2.2 OS Darwin 18.7.0 Darwin Kernel Version 18.7.0: Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2~2/RELEASE_X86_64 Platform Unix PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…} PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 WSManStackVersion 3.0

AWS Tools for PowerShell 在 Windows 上更新

随着更新版本的 AWS Tools for PowerShell 发布,您应该定期更新在本地运行的版本。

更新模块化模块 AWS.Tools

要将您的AWS.Tools模块更新到最新版本,请运行以下命令:

PS > Update-AWSToolsModule -CleanUp

此命令更新当前安装的所有AWS.Tools模块,并在成功更新后删除早期版本。

注意

Update-AWSToolsModulecmdlet 从PSRepository命名的 PSGallery (https://www.powershellgallery.com/) 下载所有模块,并将其视为可信来源。使用Get-PSRepository -Name PSGallery命令获取有关此内容的更多信息PSRepository