

第 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)

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

# 在 Windows 上安裝 AWSPowerShell.NetCore
<a name="ps-installing-awspowershellnetcore"></a>

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

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

**注意**  
AWSPowerShell.NetCore 不是安裝 的建議方法 AWS Tools for PowerShell。如需建議的方法，請[安裝 `AWS.Tools`（建議）](ps-installing-awstools.md)改為參閱 。

您可以在執行 Windows，且包含 PowerShell 第 3 版到 5.1 版，或是 PowerShell Core 6.0 或更新版本的電腦上安裝 AWSPowerShell.NetCore。如需如何安裝 PowerShell Core 的相關資訊，請參閱 Microsoft PwerShell 網站中的《[安裝各種版本的 PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell)》一文。

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

**使用 Install-Module cmdlet 從 PowerShell Gallery 安裝 AWSPowerShell.NetCore**

若要從 PowerShell Gallery 安裝 AWSPowerShell.NetCore，您的電腦必須執行 PowerShell 5.0 或更新版本，或是在 PowerShell 3 或更新版本中執行 [PowerShellGet](https://www.powershellgallery.com/packages/PowerShellGet)。執行下列命令。

```
PS > Install-Module -name AWSPowerShell.NetCore
```

如果您以管理員身分執行 PowerShell，先前的命令會 AWS Tools for PowerShell 為電腦上的所有使用者安裝 。如果您以沒有管理員許可的標準使用者身分執行 PowerShell，則只會 AWS Tools for PowerShell 為目前的使用者安裝相同的命令。

若在使用者具備管理員許可時，僅要為目前的使用者進行安裝，請搭配 `-Scope CurrentUser` 參數執行命令，如下。

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

雖然 PowerShell 3.0 和更新版本通常會在您第一次執行模組中的 Cmdlet 時，將模組載入您的 PowerShell 工作階段，由於 AWSPowerShell.NetCore 模組的大小太大，因此不支援此功能。您必須改為執行以下命令，明確將 AWSPowerShell.NetCore Core 模組載入您的 PowerShell 工作階段。

```
PS > Import-Module AWSPowerShell.NetCore
```

若要自動將 AWSPowerShell.NetCore 模組載入 PowerShell 工作階段，請將該命令新增到您的 PowerShell 描述檔。如需編輯您 PowerShell 描述檔的詳細資訊，請參閱 PowerShell 文件中的 [About Profiles](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_profiles)。

## 啟用指令碼執行
<a name="enable-script-execution-ps-core"></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-ps-core"></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` 來檢視 $PSVersionTable [自動變數](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-ps-core"></a>

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

### 更新 Tools for PowerShell Core
<a name="update-the-tools-for-powershell-core"></a>

執行 `Get-AWSPowerShellVersion` Cmdlet 來確認您正在執行的版本，並將此版本與 [PowerShell Gallery](https://www.powershellgallery.com/packages/AWSPowerShell) 網站上可用的 Tools for Windows PowerShell 版本進行比較。我們建議您每兩到三週檢查一次。只有在您更新到具有該支援的版本之後，才能支援新的命令 AWS 和服務。

安裝 AWSPowerShell.NetCore 的較新版本前，請解除安裝現有模組。請在您解除安裝現有套件前關閉任何開啟的 PowerShell 工作階段。執行下列命令以解除安裝套件。

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

解除安裝套件後，請執行以下命令來安裝更新後的模組。

```
PS > Install-Module -Name AWSPowerShell.NetCore
```

安裝完成後，請執行 `Import-Module AWSPowerShell.NetCore` 命令來將更新後的 Cmdlet 載入您的 PowerShell 工作階段。