安装Amazon适用于 Windows 上的 PowerShell 的工具 - Amazon Tools for PowerShell
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

安装Amazon适用于 Windows 上的 PowerShell 的工具

基于 Windows 的计算机可以运行任何AmazonTools for PowerShell 包的工具选项:

  • AWS.Tools-模块化版本AmazonTools for PowerShell。每个 Amazon 服务都由其自己的小模块以及共享的支持模块 AWS.Tools.CommonAWS.Tools.Installer 提供支持。

  • AWSS 强力外壳. 网核-单一大模块版本AmazonTools for PowerShell。所有 Amazon 服务都由这个单一大模块支持。

  • AWSShell-特定于传统 Windows 的单一大模块版本AmazonTools for PowerShell。所有 Amazon 服务都由这个单一大模块支持。

您选择的程序包取决于您正在运行的 Windows 的发行版和版本。

注意

Windows PowerShell 工具(AWSPowerShell 模块)默认安装在所有基于 Windows 的 Amazon 系统映像 (AMI) 上。

设置AmazonTools for PowerShell 涉及以下概括性任务,本主题中有详细介绍。

  1. 安装Amazon适合您的环境的 Tools for PowerShell 包选项。

  2. 通过运行 Get-ExecutionPolicy cmdlet 验证是否已启用脚本执行。

  3. 导入Amazon适用于 PowerShell 模块的工具添加到 PowerShell 会话中。

Prerequisites

确保您满足 设置的先决条件AmazonTools for PowerShell 上列出的要求。

PowerShell 的更新版本,包括 PowerShell Core,可以从 Microsoft 下载,地址为 Microsoft 网站上的安装各种版本的 PowerShell

在 Windows 上安装 AWS.Tools

您可以安装模块化版本的Amazon适用于运行 Windows 且具有 Windows PowerShell 5.1 或 PowerShell Core 6.0 或更高版本的计算机上的 PowerShell 工具。有关如何安装 PowerShell Core 的信息,请参阅 Microsoft 网站上的安装各种版本的 PowerShell

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

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

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

  • 使用 Install-Module cmdlet 从 PowerShell 库安装每个服务模块,如以下过程中所述。

使用模块安装 cmdlet 在 Windows 上安装 AWS.Tools 的步骤

  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,为要使用的每个 Amazon 服务安装模块。例如,以下命令将安装 IAM 模块。此命令还会安装指定模块工作所需的任何依赖模块。例如,当您安装第一个 AWS.Tools 服务模块时,它还会安装 AWS.Tools.Common。这是所有 Amazon 服务模块所需的共享模块。它还会删除模块的较早版本,并将其他模块更新到相同的较新版本。

    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-AWSToolsModule cmdlet 从名为 PSGalleryPSRepository (https://www.powershellgallery.com/) 下载所有请求的模块,并将其视为可信来源。有关此 PSRepository 的更多信息,请使用命令 Get-PSRepository -Name PSGallery

    默认情况下,此命令将模块安装到 $home\Documents\PowerShell\Modules 文件夹中。安装AmazonTools for PowerShell 用于计算机的所有用户,您必须在以管理员身份启动的 PowerShell 会话中运行以下命令。这会将模块安装到所有用户都可以访问的 $env:ProgramFiles\PowerShell\Modules 文件夹中。

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

在 Windows 上安装无线网络核心

您可以在运行 Windows 且具有 PowerShell 版本 3 到 5.1 或 PowerShell Core 6.0 或更高版本的计算机上安装 AWSPowerShell.NetCore。有关如何安装 PowerShell Core 的信息,请参阅 Microsoft PowerShell 网站上的安装各种版本的 PowerShell

您可以通过以下两种方式之一安装 AWSPowerShell。

  • AWSPowerShell.NetCore.zip 下载模块并将其提取到其中一个模块目录中。您可以通过输出 $Env:PSModulePath 变量的值来查找模块目录。

  • 使用 Install-Module cmdlet 从 PowerShell 库进行安装,如以下过程中所述。

使用模块安装 cmdlet 从 PowerShell 库安装 AWS PowerShell 的步骤

若要从 PowerShell 库安装 AWSPowerShell.NetCore,您的计算机必须运行 PowerShell 5.0 或更高版本,或者运行PowerShellGet在 PowerShell 3 或更高版本上。运行以下命令。

PS > Install-Module -name AWSPowerShell.NetCore

如果您以管理员身份运行 PowerShell,则先前的命令会安装Amazon适用于计算机上的所有用户的 PowerShell 工具。如果您以没有管理员权限的标准用户身份运行 PowerShell,则该命令会安装Amazon仅适用于当前用户的 PowerShell 工具。

要仅在当前用户具有管理员权限时为该用户安装,请按以下步骤带有 -Scope CurrentUser 参数集运行此命令。

PS > Install-Module -name AWSPowerShell.NetCore -Scope CurrentUser

虽然 PowerShell 3.0 或更高版本通常会在您首次在模块中运行 cmdlet 时将模块加载到 PowerShell 会话中,但 AWSPowerShell.NetCore 模块太大而无法支持此功能。相反,您必须通过运行以下命令将 AWSPowerShell.NetCore 模块显式加载到 PowerShell 会话中。

PS > Import-Module AWSPowerShell.NetCore

要自动将 AWSPowerShell 模块加载到 PowerShell 会话中,请将该命令添加到 PowerShell 配置文件中。有关如何编辑您的 PowerShell 配置文件的更多信息,请参阅 PowerShell 文档中的关于配置文件

在 Windows PowerShell 上安装 AWS PowerShell

您可以安装Amazon以下三种方式之一适用于 Windows PowerShell 的工具:

  • AWSpWhell.zip 下载模块并将其提取到其中一个模块目录中。您可以通过输出 $Env:PSModulePath 变量的值来查找模块目录。

  • 运行适用于 Windows PowerShell 安装程序的工具。这种安装 AWSPowerShell 的方法已弃用,建议您使用Install-Module相反。

  • 使用 Install-Module cmdlet 从 PowerShell 库进行安装,如以下过程中所述。

使用模块安装 cmdlet 从 PowerShell 库安装 AWS PowerShell 的步骤

如果您正在运行 PowerShell 5.0 或更高版本,或者已安装PowerShellGet在 PowerShell 3 或更高版本上。您可以通过运行以下命令,从 Microsoft 的 PowerShell 库安装和更新 AWSPowerShell。

PS > Install-Module -Name AWSPowerShell

要自动将 AWSPowerShell 模块加载到 PowerShell 会话中,请将先前的import-module命令添加到您的 PowerShell 配置文件中。有关如何编辑您的 PowerShell 配置文件的更多信息,请参阅 PowerShell 文档中的关于配置文件

注意

默认安装在所有基于 Windows 的 Amazon PowerShell 统映像 (AMI) 上。

启用脚本执行

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

注意

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

启用脚本执行

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

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

    PS > Set-ExecutionPolicy RemoteSigned
注意

在 64 位系统上,您必须单独对 32 位版本的 PowerShell (Windows PowerShell (x86)) 执行该操作。

如果您没有正确设置执行策略,则每当您尝试运行脚本(如您的配置文件)时,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 的工具会自动更新PSMODE 路径以包括包含AWSPowerShell模块。

由于PSModulePath包含Amazon模块的目录,Get-Module -ListAvailablecmdlet 显示了模块。

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

Versioning

Amazon发布的新版本AmazonTools for PowerShell 定期支持新Amazon服务和功能. 要确定您安装的工具版本,请运行 Get-AWSPowerShellVersion cmdlet。

PS > Get-AWSPowerShellVersion Tools for PowerShell Version 4.1.11.0 Copyright 2012-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. Amazon Web Services SDK for .NET Core Runtime Version 3.7.0.12 Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. Release notes: https://github.com/aws/aws-tools-for-powershell/blob/master/CHANGELOG.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 PowerShell 版本命令以查看Amazon当前版本的工具中支持的服务。如果使用模块化 AWS.Tools.* 选项,则只显示当前已导入的模块。

PS > Get-AWSPowerShellVersion -ListServiceVersionInfo ... Service Noun Prefix Module Name SDK Assembly Version ------- ----------- ----------- ----------- Alexa For Business ALXB AWS.Tools.AlexaForBusiness 3.7.0.11 Amplify Backend AMPB AWS.Tools.AmplifyBackend 3.7.0.11 Amazon API Gateway AG AWS.Tools.APIGateway 3.7.0.11 Amazon API Gateway Management API AGM AWS.Tools.ApiGatewayManagementApi 3.7.0.11 Amazon API Gateway V2 AG2 AWS.Tools.ApiGatewayV2 3.7.0.11 Amazon Appflow AF AWS.Tools.Appflow 3.7.1.4 Amazon Route 53 R53 AWS.Tools.Route53 3.7.0.12 Amazon Route 53 Domains R53D AWS.Tools.Route53Domains 3.7.0.11 Amazon Route 53 Resolver R53R AWS.Tools.Route53Resolver 3.7.1.5 Amazon Simple Storage Service (S3) S3 AWS.Tools.S3 3.7.0.13 ...

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

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

更新Amazon适用于 Windows 上的 PowerShell 的工具

定期,作为AmazonTools for PowerShell 已发布,您应更新在本地运行的版本。

更新模块化 AWS.Tools

要将 AWS.Tools 模块升级到最新版本,请运行以下命令。

PS > Update-AWSToolsModule -CleanUp

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

注意

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

更新适用于 PowerShell Core 的工具

运行Get-AWSPowerShellVersioncmdlet 以确定您正在运行的版本,并将此版本与适用于 Windows PowerShell 的工具的版本进行比较。PowerShell 库网站. 我们建议您每两到三个星期检查一次。只有在更新到支持新命令和 Amazon 服务的版本后,该支持才可用。

在安装更高版本的 AWS PowerShell L.NetCore 之前,请卸载任何现有模块。在卸载现有程序包之前,请关闭任何打开的 PowerShell 会话。运行以下命令来卸载该程序包。

PS > Uninstall-Module -Name AWSPowerShell.NetCore -AllVersions

在卸载程序包后,通过运行以下命令来安装更新的模块。

PS > Install-Module -Name AWSPowerShell.NetCore

安装后,运行命令 Import-Module AWSPowerShell.NetCore 将更新的 cmdlet 加载到 PowerShell 会话中。

更新适用于 Windows PowerShell 的工具

运行Get-AWSPowerShellVersioncmdlet 以确定您正在运行的版本,并将此版本与适用于 Windows PowerShell 的工具的版本进行比较。PowerShell 库网站. 我们建议您每两到三个星期检查一次。只有在更新到支持新命令和 Amazon 服务的版本后,该支持才可用。

  • 如果使用 Install-Module cmdlet 进行了安装,请运行以下命令。

    PS > Uninstall-Module -Name AWSPowerShell -AllVersions PS > Install-Module -Name AWSPowerShell
  • 如果您使用.msi软件包安装程序或使用下载的 ZIP 文件:

    1. Tools for PowerShell网站. 将下载文件名中的程序包版本号与运行Get-AWSPowerShellVersioncmdlet。

    2. 如果下载版本的版本号高于您已安装的版本,请关闭适用于 Windows PowerShell 的所有工具控制台。

    3. 安装适用于 Windows PowerShell 的工具的更高版本。

安装后,运行 Import-Module AWSPowerShell 将更新的 cmdlet 加载到 PowerShell 会话中。或者运行自定义AmazonTools for PowerShell 控制台的工具启动菜单。