

第 5 版 (V5) AWS Tools for PowerShell 已發行！

如需有關中斷變更和遷移應用程式的資訊，請參閱[遷移主題](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html)。

 [https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html)

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# `AWS.Tools` 在 Windows 上安裝 （建議）
<a name="ps-installing-awstools"></a>

如需 AWS Tools for PowerShell 在 Windows 上安裝 的一般資訊，包括先決條件和其他選項，請參閱[父主題](pstools-getting-set-up-windows.md)。

如需預先安裝在 上的 Tools for PowerShell 的相關資訊 AWS CloudShell，請參閱 [在 CloudShell 上安裝](pstools-getting-set-up-cloudshell.md)。

您可以在使用 Windows PowerShell 5 AWS Tools for PowerShell .1 或 PowerShell Core 6.0 或更新版本執行 Windows 的電腦上安裝 的模組化版本。如需如何安裝 PowerShell Core 的相關資訊，請參閱 Microsoft 網站上的[安裝各種版本的 PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell) 一文。

有三種方式可以安裝 `AWS.Tools`：
+ 使用 `AWS.Tools.Installer` 模組中的 Cmdlet。此模組可簡化其他`AWS.Tools`模組的安裝和更新。 `AWS.Tools.Installer`需要 `PowerShellGet`，並會自動下載和安裝其更新版本。 `AWS.Tools.Installer`會自動讓您的模組版本保持同步。當您安裝或更新至某個模組的較新版本時， 中的 cmdlet `AWS.Tools.Installer`會自動將所有其他`AWS.Tools`模組更新為相同的版本。

  此方法會在以下程序中說明。
+ 從 `[AWS.Tools.zip](https://sdk-for-net.amazonwebservices.com/ps/v5/latest/AWS.Tools.zip)` 下載模組，然後解壓縮至其中一個模組資料夾。您可以顯示 `PSModulePath` 環境變數的值來探索自己的模組資料夾。
**警告**  
下載 ZIP 檔案之後，在擷取內容之前，您可能需要將其解鎖。這通常透過開啟 檔案的屬性、檢視**一般**索引標籤，以及在存在時選取**解除封鎖**核取方塊來完成。  
如果需要解除封鎖 ZIP 檔案，但您未這麼做，您可能會收到類似下列的錯誤：「Import-Module ：無法載入檔案或組件」。
+ 使用 `Install-Module` cmdlet 從 PowerShell Gallery 安裝每個服務模組。

**使用 `AWS.Tools.Installer`模組在 Windows `AWS.Tools`上安裝**

1. 啟動 PowerShell 工作階段。
**注意**  
除非手邊任務需要，否則建議「請勿」**以提高權限的管理員身分執行 PowerShell。這是因為可能會有潛在的安全風險，且不符合最低權限原則。

1. 若要安裝模組化 `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
   ```

1. 您現在可以使用 `Install-AWSToolsModule` cmdlet 為要使用的每個 AWS 服務安裝 模組。例如，以下命令會安裝 Amazon EC2 和 Amazon 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-AWSToolsModule` Cmdlet 會從名為 `PSGallery` 的 `PSRepository` ([https://www.powershellgallery.com/](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 Gallery](https://www.powershellgallery.com/packages?q=aws) 中的命令。

## 啟用指令碼執行
<a name="enable-script-execution-aws-tools"></a>

若要載入 AWS Tools for PowerShell 模組，您必須啟用 PowerShell 指令碼執行。欲啟用指令碼執行，請執行 `Set-ExecutionPolicy` cmdlet 來設定 `RemoteSigned` 政策。如需詳細資訊，請參閱 Microsoft Technet 網站上的 [About Execution Policies](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies)。

**注意**  
此需求僅適用於執行 Windows 的電腦。`ExecutionPolicy` 安全限制不會出現在其他作業系統上。

 **啟用指令碼執行** 

1. 需要管理員權限才能設定執行政策。若您並非以具備管理員權限的使用者登入，請以管理員身分開啟 PowerShell 工作階段。選擇 **Start (開始)**，然後選擇 **All Programs (所有程式)**。選擇 **Accessories (附屬應用程式)**，然後選擇 **Windows PowerShell**。以滑鼠右鍵按一下 **Windows PowerShell**，然後在內容選單上，選擇 **Run as administrator (以系統管理員身分執行)**。

1. 在命令提示中，輸入以下內容。

   ```
   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
```

Tools for Windows PowerShell 安裝程式會自動更新 [PSModulePath](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_psmodulepath)，納入內含 `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...
```

## 版本控制
<a name="pstools-versioning-aws-tools"></a>

AWS AWS Tools for PowerShell 會定期發行 的新版本，以支援新的 AWS 服務和功能。若要確認您已安裝的工具版本，請執行 [Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) 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-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) 命令，以查看目前版本工具中支援的 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` 來檢視 \$1PSVersionTable [自動變數](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6)的內容。

例如：

```
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
```

## 在 Windows AWS Tools for PowerShell 上更新
<a name="pstools-updating-awstools"></a>

定期 AWS Tools for PowerShell 發行更新版本的 時，您應該更新在本機執行的版本。

### 更新模組化`AWS.Tools`模組
<a name="update-the-tools-for-powershell-awstools"></a>

若要將`AWS.Tools`模組更新至最新版本，請執行下列命令：

```
PS > Update-AWSToolsModule -CleanUp
```

此命令會更新所有目前安裝的`AWS.Tools`模組，並在成功更新後移除舊版。

**注意**  
`Update-AWSToolsModule` Cmdlet 會從名為 `PSGallery` 的 `PSRepository` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) 下載所有模組，並視為是信任的來源。如需此 的詳細資訊，請使用 `Get-PSRepository -Name PSGallery`命令`PSRepository`。