

AWS Tools for PowerShell V4 がメンテナンスモードになりました。

[AWS Tools for PowerShell V5](https://docs.aws.amazon.com/powershell/v5/userguide/) に移行することをお勧めします。移行方法の詳細と情報については、[メンテナンスモードのお知らせ](https://aws.amazon.com/blogs/developer/aws-tools-for-powershell-v4-maintenance-mode-announcement/)を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Windows への AWS Tools for PowerShell のインストール
<a name="pstools-getting-set-up-windows"></a>

Windows ベースのコンピュータでは、AWS Tools for PowerShell パッケージオプションのいずれかを実行できます。
+ [**`AWS.Tools`**](#ps-installing-awstools) - モジュール化されたバージョンの AWS Tools for PowerShell。AWS の各サービスが、個別の小さなモジュールと、共通のサポートモジュール `AWS.Tools.Common` および `AWS.Tools.Installer` によってサポートされます。
+ [**AWSPowerShell.NetCore**](#ps-installing-awspowershellnetcore) - 大きな単独モジュールバージョンの AWS Tools for PowerShell。AWS のすべてのサービスが、この大きな単独モジュールでサポートされます。
**注記**  
単一のモジュールは大きすぎて [AWS Lambda](https://aws.amazon.com/lambda/) 関数で使用できない場合があることに注意してください。代わりに、上記のモジュール化されたバージョンを使用します。
+ [**AWSPowerShell**](#ps-installing-awswindowspowershell) - Windows 固有の大きな単独モジュールのレガシーバージョンの AWS Tools for PowerShell。AWS のすべてのサービスが、この大きな単独モジュールでサポートされます。

選択するパッケージは、実行している Windows のリリースとエディションによって異なります。

**注記**  
すべての Windows ベースの Amazon マシンイメージ (AMI) には、AWS Tools for PowerShell がデフォルトでインストールされています。インストールされているパッケージは AMI によって異なります。多くの AMI には AWSPowerShell モジュールが含まれていますが、別のパッケージが使用されている場合もあります。例えば、Windows Server 2025 用の Amazon EC2 AMI では、モジュール化された `AWS.Tools` パッケージが使用されています。

AWS Tools for PowerShell のセットアップには、このトピックで詳しく説明する次の大まかなタスクが含まれます。

1. 環境に適した AWS Tools for PowerShell パッケージオプションをインストールします。

1. `Get-ExecutionPolicy` コマンドレットを実行して、スクリプトの実行が有効になっていることを確認します。

1. PowerShell セッションに AWS Tools for PowerShell モジュールをインポートします。

## 前提条件
<a name="prerequisites"></a>

新しいバージョンの PowerShell (PowerShell Core を含む) は、Microsoft のウェブサイトの「[PowerShell のさまざまなバージョンのインストール](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell)」からダウンロードできます。

## Windows に `AWS.Tools` をインストールする
<a name="ps-installing-awstools"></a>

モジュール化されたバージョンの AWS Tools for PowerShell は、Windows PowerShell 5.1 または PowerShell Core 6.0 以降を搭載する Windows が実行されている コンピュータにインストールできます。PowerShell Core をインストールする方法については、Microsoft のウェブサイトへの「[PowerShell のさまざまなバージョンのインストール](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell)」を参照してください。

次の 3 つの方法のいずれかで `AWS.Tools` をインストールできます。
+ `AWS.Tools.Installer` モジュール内のコマンドレットを使用する。このモジュールは、他の `AWS.Tools` モジュールのインストールと更新を簡素化します。`AWS.Tools.Installer` は `PowerShellGet` を必要とし、その最新版を自動的にダウンロードしてインストールします。`AWS.Tools.Installer` は、モジュールのバージョンを自動的に同期させます。あるモジュールの新しいバージョンをインストールまたは更新すると、`AWS.Tools.Installer` 内のコマンドレットによって、他のすべての `AWS.Tools` モジュールが同じバージョンに自動的に更新されます。

  この方法については後述の手順で説明します。
+ `[AWS.Tools.zip](https://sdk-for-net.amazonwebservices.com/ps/v4/latest/AWS.Tools.zip)` からモジュールをダウンロードし、モジュールフォルダの 1 つにそのモジュールを展開する。`PSModulePath` 環境変数の値を表示することで、モジュールフォルダを検出できます。
**警告**  
ZIP ファイルをダウンロードした後、展開する前にブロック解除が必要になる場合があります。そのために通常は、ファイルのプロパティを開き、**[General]** (全般) タブで **[Unblock]** (ブロック解除) チェックボックス (存在する場合) をオンにします。  
ZIP ファイルのブロック解除が必要だったが行わなかった場合は、「Import-Module : Could not load file or assembly」 (ファイルまたはアセンブリをロードできませんでした) のようなエラーが表示されることがあります。
+ `Install-Module` コマンドレットを使用して、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
   ```

   リポジトリについて「信頼されていない」という通知を受けた場合は、これをインストールするかどうかを確認するメッセージが表示されます。PowerShell がモジュールをインストールできるようにするには、**y** を入力します。プロンプトを回避し、リポジトリを信頼せずにモジュールをインストールするには、`-Force` パラメータを指定してコマンドを実行します。

   ```
   PS > Install-Module -Name AWS.Tools.Installer -Force
   ```

1. AWS コマンドレットを利用することで、使用する `Install-AWSToolsModule` のサービスごとのモジュールをインストールできるようになりました。例えば、次のコマンドは 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` コマンドレットは、すべての要求されたモジュールを `PSGallery` という名前の `PSRepository` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) からダウンロードし、これを信頼できるソースと見なします。この `Get-PSRepository -Name PSGallery` の詳細を参照するには、`PSRepository` コマンドを使用します。

   デフォルトでは、前のコマンドはモジュールを `%USERPROFILE%\Documents\WindowsPowerShell\Modules` フォルダにインストールします。コンピュータのすべてのユーザー用に AWS Tools for PowerShell をインストールするには、管理者として起動した PowerShell セッションで次のコマンドを実行する必要があります。例えば、次のコマンドは、すべてのユーザーがアクセスできる `%ProgramFiles%\WindowsPowerShell\Modules` フォルダに IAM モジュールをインストールします。

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

   他のモジュールをインストールするには、[PowerShell Gallery](https://www.powershellgallery.com/packages?q=aws) にある適切なモジュール名で同様のコマンドを実行します。

## Windows で AWSPowerShell.NetCore をインストールする
<a name="ps-installing-awspowershellnetcore"></a>

AWSPowerShell.NetCore は、PowerShell バージョン 3～5.1 または PowerShell Core 6.0 以降を搭載する Windows が実行されているコンピュータにインストールできます。PowerShell Core をインストールする方法については、Microsoft の PowerShell ウェブサイトの「[PowerShell のさまざまなバージョンのインストール](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell)」を参照してください。

AWSPowerShell.NetCore は、次の 2 つの方法のいずれかのでインストールできます。
+ [AWSPowerShell.NetCore.zip](https://sdk-for-net.amazonwebservices.com/ps/v4/latest/AWSPowerShell.NetCore.zip) からモジュールをダウンロードし、モジュールディレクトリの 1 つにそのモジュールを展開する。`PSModulePath` 環境変数の値を表示することで、モジュールディレクトリを検出できます。
**警告**  
ZIP ファイルをダウンロードした後、展開する前にブロック解除が必要になる場合があります。そのために通常は、ファイルのプロパティを開き、**[General]** (全般) タブで **[Unblock]** (ブロック解除) チェックボックス (存在する場合) をオンにします。  
ZIP ファイルのブロック解除が必要だったが行わなかった場合は、「Import-Module : Could not load file or assembly」 (ファイルまたはアセンブリをロードできませんでした) のようなエラーが表示されることがあります。
+ 次の手順で説明するように、`Install-Module` コマンドレットを使用して PowerShell ギャラリーからインストールします。

**Install-Module コマンドレットを使用して PowerShell ギャラリーから AWSPowerShell.NetCore をインストールするには**

PowerShell ギャラリーから AWSPowerShell.NetCore をインストールするには、コンピュータで PowerShell 5.0 以降が実行されているか、[PowerShellGet](https://www.powershellgallery.com/packages/PowerShellGet) が PowerShell 3 以降で実行されている必要があります。以下のコマンドを実行してください。

```
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 以降のリリースでは、初めてモジュールでコマンドレットを実行したときにモジュールが 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)」を参照してください。

## Windows PowerShell に AWSPowerShell をインストールする
<a name="ps-installing-awswindowspowershell"></a>

次の 2 つの方法のいずれかで AWS Tools for Windows PowerShell をインストールできます。
+ [AWSPowerShell.zip](https://sdk-for-net.amazonwebservices.com/ps/v4/latest/AWSPowerShell.zip) からモジュールをダウンロードし、モジュールディレクトリの 1 つにそのモジュールを展開します。`PSModulePath` 環境変数の値を表示することで、モジュールディレクトリを検出できます。
**警告**  
ZIP ファイルをダウンロードした後、展開する前にブロック解除が必要になる場合があります。そのために通常は、ファイルのプロパティを開き、**[General]** (全般) タブで **[Unblock]** (ブロック解除) チェックボックス (存在する場合) をオンにします。  
ZIP ファイルのブロック解除が必要だったが行わなかった場合は、「Import-Module : Could not load file or assembly」 (ファイルまたはアセンブリをロードできませんでした) のようなエラーが表示されることがあります。
+ 次の手順で説明するように、`Install-Module` コマンドレットを使用して PowerShell ギャラリーからインストールする。

**Install-Module コマンドレットを使用して PowerShell ギャラリーから AWSPowerShell をインストールするには**

PowerShell 5.0 以降を実行している場合は、PowerShell ギャラリーから AWSPowerShell をインストールできます。[PowerShellGet](https://www.powershellgallery.com/packages/PowerShellGet)PowerShell 3 以降で。次のコマンドを実行して、Microsoft の [PowerShell ギャラリー](https://www.powershellgallery.com/packages/AWSPowerShell)から AWSPowerShell をインストールおよび更新できます。

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

AWSPowerShell モジュールを PowerShell セッションに自動的にロードするには、前の `import-module` コマンドレットを PowerShell プロファイルに追加します。PowerShell プロファイルの編集の詳細については、PowerShell ドキュメントの「[About Profiles](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-6)」を参照してください。

**注記**  
Tools for Windows PowerShell は、Windows ベースのすべての Amazon マシンイメージ (AMI) にデフォルトでインストールされています。

## スクリプト実行の有効化
<a name="enable-script-execution"></a>

AWS Tools for PowerShell モジュールをロードするには、PowerShell スクリプトの実行を有効にする必要があります。スクリプトの実行を有効にするには、`Set-ExecutionPolicy` のポリシーを設定するために `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 セッションを開きます。[**スタート**] ボタンをクリックし、[**すべてのプログラム**] を選択します。[**アクセサリ**] を選択し、[**Windows PowerShell**] を選択します。[**Windows PowerShell**] を右クリックして、コンテキストメニューから [**管理者として実行**] を選択します。

1. コマンドプロンプトで次のコマンドを入力します。

   ```
   PS > Set-ExecutionPolicy RemoteSigned 
   ```

**注記**  
64 ビットシステムでは、32 ビットバージョンの PowerShell である **Windows PowerShell (x86)** でもこれを行う必要があります。

実行ポリシーが正しく設定されていない場合、プロファイルなどのスクリプトを実行しようとすると、次のエラーが表示されます。

```
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](http://msdn.microsoft.com/en-us/library/windows/desktop/dd878326.aspx) を更新し、`AWSPowerShell` モジュールが格納されているディレクトリの場所を反映します。

`PSModulePath` には AWS モジュールのディレクトリの場所が含まれているため、`Get-Module -ListAvailable` コマンドレットによりモジュールが表示されます。

```
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"></a>

新しい AWS サービスと機能をサポートするために、AWS Tools for PowerShell は AWS の新しいバージョンを定期的にリリースします。インストール済みのツールのバージョンを確認するには、[Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v4/reference/items/Get-AWSPowerShellVersion.html) コマンドレットを実行します。

例:

```
PS > Get-AWSPowerShellVersion

AWS Tools for PowerShell
Version 4.1.849
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Amazon Web Services SDK for .NET
Core Runtime Version 3.7.402.75
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Release notes: https://github.com/aws/aws-tools-for-powershell/blob/v4.1/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]
```

また、[Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v4/reference/items/Get-AWSPowerShellVersion.html) コマンドに `-ListServiceVersionInfo` パラメータを追加して、現在のツールのバージョンでサポートされる 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"></a>

AWS Tools for PowerShell の更新バージョンがリリースされると同時に、ローカルで実行しているバージョンを定期的に更新する必要があります。

### モジュール化された `AWS.Tools` パッケージのモジュールを更新する
<a name="update-the-tools-for-powershell"></a>

`AWS.Tools` モジュールを最新バージョンに更新するには、次のコマンドを実行します。

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

このコマンドは、現在インストールされているすべての `AWS.Tools` モジュールを更新し、正常に更新されると、他のインストール済みバージョンを削除します。

**注記**  
`Update-AWSToolsModule` コマンドレットは、すべてのモジュールを `PSGallery` という名前の `PSRepository` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) からダウンロードし、これを信頼できるソースと見なします。この `Get-PSRepository -Name PSGallery` の詳細を参照するには、`PSRepository` コマンドを使用します。

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

`Get-AWSPowerShellVersion` コマンドレットを実行して実行中のバージョンを確認し、[PowerShell Gallery](https://www.powershellgallery.com/packages/AWSPowerShell) ウェブサイトにある Tools for Windows PowerShell のバージョンと比較します。2～3 週間ごとにチェックすることをお勧めします。新しいコマンドおよび AWS サービスのサポートは、そのサポートのあるバージョンに更新した後にのみ利用できます。

AWSPowerShell.NetCore の新しいリリースをインストールする前に、既存のモジュールをアンインストールします。既存のパッケージをアンインストールする前に、開いているすべての PowerShell セッションを閉じます。次のコマンドを実行して、パッケージをアンインストールします。

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

パッケージがアンインストールされたら、次のコマンドを実行して、更新されたモジュールをインストールします。

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

インストール後、コマンド `Import-Module AWSPowerShell.NetCore` を実行して、更新されたコマンドレットを PowerShell セッションにロードします。

### Tools for Windows PowerShell の更新
<a name="update-the-tools-for-windows-powershell"></a>

`Get-AWSPowerShellVersion` コマンドレットを実行して実行中のバージョンを確認し、[PowerShell Gallery](https://www.powershellgallery.com/packages/AWSPowerShell) ウェブサイトにある Tools for Windows PowerShell のバージョンと比較します。2～3 週間ごとにチェックすることをお勧めします。新しいコマンドおよび AWS サービスのサポートは、そのサポートのあるバージョンに更新した後にのみ利用できます。
+ `Install-Module` コマンドレットを使用してインストールした場合は、次のコマンドを実行します。

  ```
  PS > Uninstall-Module -Name AWSPowerShell -AllVersions
  PS > Install-Module -Name AWSPowerShell
  ```
+ ダウンロードした ZIP ファイルを使用してインストールした場合:

  1. [Tools for PowerShell](https://aws.amazon.com/powershell/) ウェブサイトから最新バージョンをダウンロードします。ダウンロードしたファイル名に含まれるパッケージのバージョン番号と、`Get-AWSPowerShellVersion` コマンドレットの実行時に取得したバージョン番号を比較します。

  1. ダウンロードバージョンがインストールしたバージョンよりも高い場合は、すべての Tools for Windows PowerShell コンソールを閉じます。

  1. 新しいバージョンの Tools for Windows PowerShell をインストールします。

インストール後、`Import-Module AWSPowerShell` を実行して、更新されたコマンドレットを PowerShell セッションにロードします。または、**スタート**メニューからカスタム AWS Tools for PowerShell コンソールを実行します。