

AWS -Tools für PowerShell V4 ist in den Wartungsmodus gewechselt.

Wir empfehlen Ihnen, auf [AWS -Tools für PowerShell V5](https://docs.aws.amazon.com/powershell/v5/userguide/) zu migrieren. Weitere Einzelheiten und Informationen zur Migration finden Sie in unserer [Ankündigung zum Wartungsmodus](https://aws.amazon.com/blogs/developer/aws-tools-for-powershell-v4-maintenance-mode-announcement/).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Installation des AWS -Tools für PowerShell
<a name="pstools-getting-set-up"></a>

Informationen zur erfolgreichen Installation und Verwendung der AWS -Tools für PowerShell Cmdlets finden Sie in den folgenden Themen.

**Topics**
+ [Installation unter Windows](pstools-getting-set-up-windows.md)
+ [Installation unter Linux oder macOS](pstools-getting-set-up-linux-mac.md)
+ [Migration von AWS -Tools für PowerShell Version 3.3 zu Version 4](v4migration.md)

# Installation des AWS -Tools für PowerShell unter Windows
<a name="pstools-getting-set-up-windows"></a>

Auf einem Windows-Computer können alle Paketoptionen ausgeführt werden: AWS -Tools für PowerShell 
+ [**`AWS.Tools`**](#ps-installing-awstools)- Die modularisierte Version von. AWS -Tools für PowerShell Jeder AWS Dienst wird durch ein eigenes, kleines Modul mit gemeinsam genutzten Unterstützungsmodulen `AWS.Tools.Common` und `AWS.Tools.Installer` unterstützt.
+ [**AWSPowerSchale. NetCore**](#ps-installing-awspowershellnetcore) - Die einzelne Version mit großen Modulen von. AWS -Tools für PowerShell Alle AWS Dienste werden von diesem einzigen, großen Modul unterstützt.
**Anmerkung**  
Beachten Sie, dass das einzelne Modul möglicherweise zu groß ist, um es mit [AWS Lambda](https://aws.amazon.com/lambda/)-Features zu verwenden. Verwenden Sie stattdessen die oben gezeigte modularisierte Version.
+ [**AWSPowerShell**](#ps-installing-awswindowspowershell) — Die ältere Windows-spezifische, einzelne, umfangreiche Modulversion von. AWS -Tools für PowerShell Alle AWS Dienste werden von diesem einzigen, großen Modul unterstützt.

Das ausgewählte Paket hängt von der Version und Edition von Windows ab, die Sie ausführen. 

**Anmerkung**  
Sie AWS -Tools für PowerShell sind standardmäßig auf allen Windows-basierten Amazon Machine Images () AMIs installiert. Welche Option installiert wird, hängt vom AMI ab. Viele AMIs haben das AWSPower Shell-Modul, aber einige haben möglicherweise eine andere Option. Amazon EC2 AMIs für Windows Server 2025 verwendet beispielsweise die modulare `AWS.Tools` Option.

Die Einrichtung von AWS -Tools für PowerShell umfasst die folgenden allgemeinen Aufgaben, die in diesem Thema ausführlich beschrieben werden.

1. Installieren Sie die AWS -Tools für PowerShell Paketoption, die für Ihre Umgebung geeignet ist.

1. Sicherstellen, dass die Skriptausführung aktiviert ist, indem Sie das Cmdlet `Get-ExecutionPolicy` ausführen

1. Importieren Sie das AWS -Tools für PowerShell Modul in Ihre PowerShell Sitzung.

## Voraussetzungen
<a name="prerequisites"></a>

Neuere Versionen von PowerShell, einschließlich PowerShell Core, sind als Downloads von Microsoft unter [Installing various versions of PowerShell auf der](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell) Microsoft-Website verfügbar.

## Installieren von `AWS.Tools` unter Windows.
<a name="ps-installing-awstools"></a>

Sie können die modularisierte Version von AWS -Tools für PowerShell auf Computern installieren, auf denen Windows mit Windows PowerShell 5.1 oder PowerShell Core 6.0 oder höher ausgeführt wird. Informationen zur Installation von PowerShell Core finden Sie PowerShell auf [der Microsoft-Website unter Installation verschiedener Versionen von](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell).

Sie können `AWS.Tools` auf drei Arten installieren:
+ Verwenden der Cmdlets im `AWS.Tools.Installer`-Modul. Dieses Modul vereinfacht die Installation und Aktualisierung anderer `AWS.Tools` Module. `AWS.Tools.Installer`benötigt `PowerShellGet` und lädt automatisch eine aktualisierte Version davon herunter und installiert sie. `AWS.Tools.Installer`hält Ihre Modulversionen automatisch synchron. Wenn Sie ein Modul installieren oder auf eine neuere Version aktualisieren, aktualisieren die Cmdlets `AWS.Tools.Installer` automatisch alle Ihre anderen `AWS.Tools` Module auf dieselbe Version.

  Diese Methode wird im folgenden Verfahren beschrieben.
+ Laden Sie die Module von `[AWS.Tools.zip](https://sdk-for-net.amazonwebservices.com/ps/v4/latest/AWS.Tools.zip)` herunter und extrahieren Sie sie in einem der Modulordner. Sie können Ihre Modulordner erkennen, indem Sie den Wert der `PSModulePath`-Umgebungsvariablen anzeigen.
**Warnung**  
Nach dem Herunterladen der ZIP-Datei und vor dem Extrahieren des Inhalts müssen Sie sie möglicherweise entsperren. Dies erfolgt in der Regel, indem Sie die Eigenschaften der Datei öffnen, die Registerkarte **Allgemein aufrufen** und das Kontrollkästchen **Entsperren** aktivieren, falls eines vorhanden ist.  
Wenn die ZIP-Datei entsperrt werden muss, Sie dies aber nicht tun, erhalten Sie möglicherweise eine Fehlermeldung ähnlich der folgenden: „Import-Modul: Datei oder Assembly konnte nicht geladen werden“.
+ Installation der einzelnen Servicemodule aus der PowerShell Galerie mithilfe des Cmdlets. `Install-Module`

**Zur Installation `AWS.Tools` unter Windows mithilfe des Moduls `AWS.Tools.Installer`**

1. Startet eine PowerShell Sitzung.
**Anmerkung**  
Wir empfehlen, dass Sie *nicht* PowerShell als Administrator mit erhöhten Rechten arbeiten, es sei denn, dies ist für die jeweilige Aufgabe erforderlich. Grund ist das potenzielle Sicherheitsrisiko und weil dies im Widerspruch zum Prinzip der geringsten Zugriffsrechte stünde.

1. Führen Sie den folgenden Befehl aus, um das modularisierte `AWS.Tools`-Paket zu installieren.

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

   Wenn Sie benachrichtigt werden, dass das Repository "nicht vertrauenswürdig" ist, werden Sie gefragt, ob die Installation trotzdem erfolgen soll. Geben Sie ein**y**, PowerShell um die Installation des Moduls zuzulassen. Um die Eingabeaufforderung zu vermeiden und das Modul zu installieren, ohne dem Repository zu vertrauen, können Sie den Befehl mit dem `-Force`-Parameter ausführen:

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

1. Sie können jetzt das Modul für jeden AWS Dienst, den Sie verwenden möchten, mithilfe des `Install-AWSToolsModule` Cmdlets installieren. Mit dem folgenden Befehl werden beispielsweise die Amazon EC2 - und Amazon S3 S3-Module installiert. Mit diesem Befehl werden auch alle abhängigen Module installiert, die für die Funktionsfähigkeit des angegebenen Moduls erforderlich sind. Wenn Sie beispielsweise Ihr erstes `AWS.Tools`-Servicemodul installieren, wird damit auch `AWS.Tools.Common` installiert. Dies ist ein gemeinsam genutztes Modul, das von allen AWS Servicemodulen benötigt wird. Damit werden auch ältere Versionen der Module entfernt und weitere Module auf dieselbe neuere Version aktualisiert.

   ```
   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
   ```
**Anmerkung**  
Das `Install-AWSToolsModule` Cmdlet lädt alle angeforderten Module von der angegebenen Quelle `PSRepository` `PSGallery` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) herunter und betrachtet sie als vertrauenswürdige Quelle. Für weitere Informationen zu diesem `PSRepository` verwenden Sie den Befehl `Get-PSRepository -Name PSGallery`.

   Standardmäßig werden über diesen Befehl Module im `%USERPROFILE%\Documents\WindowsPowerShell\Modules`-Ordner installiert. Um das AWS -Tools für PowerShell für alle Benutzer eines Computers zu installieren, müssen Sie den folgenden Befehl in einer PowerShell Sitzung ausführen, die Sie als Administrator gestartet haben. Mit dem folgenden Befehl wird beispielsweise das IAM-Modul im `%ProgramFiles%\WindowsPowerShell\Modules`-Ordner installiert, auf den alle Benutzer zugreifen können.

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

   Um andere Module zu installieren, führen Sie ähnliche Befehle mit den entsprechenden Modulnamen aus, die Sie in der [PowerShell Galerie](https://www.powershellgallery.com/packages?q=aws) finden.

## Installieren Sie AWSPower Shell. NetCore unter Windows
<a name="ps-installing-awspowershellnetcore"></a>

Sie können die AWSPower Shell installieren. NetCore auf Computern, auf denen Windows mit PowerShell Version 3 bis 5.1 oder PowerShell Core 6.0 oder höher ausgeführt wird. Informationen zur Installation von PowerShell Core finden Sie unter [Installation verschiedener Versionen von PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell) auf der PowerShell Microsoft-Website.

Sie können AWSPower Shell installieren. NetCore auf eine von zwei Arten
+ Das Modul wird von [AWSPowerShell heruntergeladen. NetCore.zip](https://sdk-for-net.amazonwebservices.com/ps/v4/latest/AWSPowerShell.NetCore.zip) und Extrahieren in eines der Modulverzeichnisse. Sie können Ihre Modulverzeichnisse erkennen, indem Sie den Wert der `PSModulePath`-Umgebungsvariablen anzeigen.
**Warnung**  
Nach dem Herunterladen der ZIP-Datei und vor dem Extrahieren des Inhalts müssen Sie sie möglicherweise entsperren. Dies erfolgt in der Regel, indem Sie die Eigenschaften der Datei öffnen, die Registerkarte **Allgemein aufrufen** und das Kontrollkästchen **Entsperren** aktivieren, falls eines vorhanden ist.  
Wenn die ZIP-Datei entsperrt werden muss, Sie dies aber nicht tun, erhalten Sie möglicherweise eine Fehlermeldung ähnlich der folgenden: „Import-Modul: Datei oder Assembly konnte nicht geladen werden“.
+ Installation aus der PowerShell Galerie mit dem `Install-Module` Cmdlet, wie im folgenden Verfahren beschrieben.

**Um Shell zu installieren AWSPower. NetCore aus der PowerShell Galerie mit dem Cmdlet Install-Module**

Um die Shell zu installieren. AWSPower NetCore aus der PowerShell Galerie muss auf Ihrem Computer PowerShell 5.0 oder höher oder Version PowerShell 3 oder höher [PowerShellGet](https://www.powershellgallery.com/packages/PowerShellGet)ausgeführt werden. Führen Sie den folgenden Befehl aus.

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

Wenn Sie PowerShell als Administrator arbeiten, wird der vorherige Befehl AWS -Tools für PowerShell für alle Benutzer auf dem Computer installiert. Wenn Sie PowerShell als Standardbenutzer ohne Administratorrechte arbeiten, wird derselbe Befehl nur AWS -Tools für PowerShell für den aktuellen Benutzer installiert.

Um nur für den aktuellen Benutzer zu installieren, wenn dieser Benutzer über Administratorberechtigungen verfügt, führen Sie den Befehl mit dem festgelegten Parameter `-Scope CurrentUser` wie folgt aus.

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

Versionen PowerShell 3.0 und höher laden zwar in der Regel Module in Ihre PowerShell Sitzung, wenn Sie zum ersten Mal ein Cmdlet in dem Modul, der AWSPower Shell, ausführen. NetCore Das Modul ist zu groß, um diese Funktionalität zu unterstützen. Sie müssen stattdessen die AWSPower Shell explizit laden. NetCore Fügen Sie das Kernmodul in Ihre PowerShell Sitzung ein, indem Sie den folgenden Befehl ausführen.

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

Um die AWSPower Shell zu laden. NetCore Automatisches Modul in eine PowerShell Sitzung, fügen Sie diesen Befehl zu Ihrem PowerShell Profil hinzu. Weitere Informationen zur Bearbeitung Ihres PowerShell Profils finden Sie in der PowerShell Dokumentation unter [Über Profile](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_profiles).

## Installieren Sie AWSPower Shell unter Windows PowerShell
<a name="ps-installing-awswindowspowershell"></a>

Sie können das AWS Tools for Windows PowerShell auf zwei Arten installieren:
+ Das Modul wird von [AWSPowerShell.zip](https://sdk-for-net.amazonwebservices.com/ps/v4/latest/AWSPowerShell.zip) heruntergeladen und in eines der Modulverzeichnisse extrahiert. Sie können Ihre Modulverzeichnisse erkennen, indem Sie den Wert der `PSModulePath`-Umgebungsvariablen anzeigen.
**Warnung**  
Nach dem Herunterladen der ZIP-Datei und vor dem Extrahieren des Inhalts müssen Sie die Blockierung möglicherweise aufheben. Dies erfolgt in der Regel, indem Sie die Eigenschaften der Datei öffnen, die Registerkarte **Allgemein aufrufen** und das Kontrollkästchen **Entsperren** aktivieren, falls eines vorhanden ist.  
Wenn die ZIP-Datei entsperrt werden muss, Sie dies aber nicht tun, erhalten Sie möglicherweise eine Fehlermeldung ähnlich der folgenden: „Import-Modul: Datei oder Assembly konnte nicht geladen werden“.
+ Installation aus der PowerShell Galerie mit dem `Install-Module` Cmdlet, wie im folgenden Verfahren beschrieben.

**So installieren Sie AWSPower Shell mithilfe des Cmdlets Install-Module aus der PowerShell Galerie**

Sie können die AWSPower Shell aus der PowerShell Galerie installieren, wenn Sie PowerShell 5.0 oder höher ausführen oder Version 3 oder höher [PowerShellGet](https://www.powershellgallery.com/packages/PowerShellGet)installiert PowerShell haben. Sie können AWSPower Shell über die [PowerShellGalerie](https://www.powershellgallery.com/packages/AWSPowerShell) von Microsoft installieren und aktualisieren, indem Sie den folgenden Befehl ausführen.

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

Um das AWSPower Shell-Modul automatisch in eine PowerShell Sitzung zu laden, fügen Sie Ihrem PowerShell Profil das vorherige `import-module` Cmdlet hinzu. Weitere Informationen zum Bearbeiten Ihres PowerShell Profils finden Sie in der [ PowerShell Dokumentation unter Über Profile](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-6).

**Anmerkung**  
Die Tools für Windows PowerShell sind standardmäßig auf allen Windows-basierten Amazon Machine Images () AMIs installiert.

## Aktivieren der Skriptausführung
<a name="enable-script-execution"></a>

Um die AWS -Tools für PowerShell Module zu laden, müssen Sie die PowerShell Skriptausführung aktivieren. Weisen Sie zur Aktivierung der Skriptausführung mit dem Cmdlet `Set-ExecutionPolicy` die Richtlinie `RemoteSigned` zu. Weitere Informationen finden Sie auf der Microsoft-Technet-Website unter [About Execution Policies (Über Ausführungsrichtlinien)](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies).

**Anmerkung**  
Dies ist nur für Computer erforderlich, auf denen Windows ausgeführt wird. Die Sicherheitseinschränkung `ExecutionPolicy` ist auf anderen Betriebssystemen nicht vorhanden.

 **So aktivieren Sie die Skriptausführung** 

1. Zum Festlegen der Ausführungsrichtlinien sind Administratorrechte erforderlich. Wenn Sie nicht als Benutzer mit Administratorrechten angemeldet sind, öffnen Sie eine PowerShell Sitzung als Administrator. Wählen Sie **Start** und dann **All Programs (Alle Programme)**. Wählen Sie „**Zubehör**“ und anschließend „**Windows**“ PowerShell. Klicken Sie mit der rechten Maustaste auf **Windows PowerShell** und wählen Sie im Kontextmenü die Option **Als Administrator ausführen** aus.

1. Geben Sie in der Eingabeaufforderung Folgendes ein.

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

**Anmerkung**  
Auf einem 64-Bit-System müssen Sie dies für die 32-Bit-Version von PowerShell **Windows PowerShell (x86)** separat tun.

Wenn Sie die Ausführungsrichtlinie nicht richtig eingestellt haben, PowerShell wird bei jedem Versuch, ein Skript auszuführen, z. B. Ihr Profil, die folgende Fehlermeldung angezeigt.

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

Das PowerShell Installationsprogramm für Tools für Windows aktualisiert den [PSModulePfad](http://msdn.microsoft.com/en-us/library/windows/desktop/dd878326.aspx) automatisch, sodass er den Speicherort des Verzeichnisses enthält, das das `AWSPowerShell` Modul enthält. 

Da das den Speicherort des AWS Modulverzeichnisses `PSModulePath` beinhaltet, zeigt das `Get-Module -ListAvailable` Cmdlet das Modul an.

```
PS > Get-Module -ListAvailable

ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Manifest   AppLocker                 {}
Manifest   BitsTransfer              {}
Manifest   PSDiagnostics             {}
Manifest   TroubleshootingPack       {}
Manifest   AWSPowerShell             {Update-EBApplicationVersion, Set-DPStatus, Remove-IAMGroupPol...
```

## Versionsverwaltung
<a name="pstools-versioning"></a>

AWS veröffentlicht AWS -Tools für PowerShell regelmäßig neue Versionen von, um neue AWS Dienste und Funktionen zu unterstützen. Führen Sie das AWSPower ShellVersion Cmdlet [Get- aus, um die Version der Tools zu ermitteln, die Sie](https://docs.aws.amazon.com/powershell/v4/reference/items/Get-AWSPowerShellVersion.html) installiert haben.

Zum Beispiel:

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

Sie können den `-ListServiceVersionInfo` Parameter auch einem [AWSPowerShellVersionGet-Befehl](https://docs.aws.amazon.com/powershell/v4/reference/items/Get-AWSPowerShellVersion.html) hinzufügen, um eine Liste der AWS Dienste anzuzeigen, die in der aktuellen Version der Tools unterstützt werden. Wenn Sie die modularisierte Option `AWS.Tools.*` verwenden, werden nur die Module angezeigt, die Sie aktuell importiert haben.

Zum Beispiel:

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

Um festzustellen PowerShell , welche Version Sie ausführen, geben Sie ein, `$PSVersionTable` um den Inhalt der [automatischen Variablen](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6) \$1 PSVersion Table anzuzeigen.

Zum Beispiel:

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

## Aktualisierung der AWS -Tools für PowerShell unter Windows
<a name="pstools-updating"></a>

Wenn aktualisierte Versionen von veröffentlicht AWS -Tools für PowerShell werden, sollten Sie die Version, die Sie lokal ausführen, regelmäßig aktualisieren. 

### Aktualisieren Sie die modularisierten Module `AWS.Tools`
<a name="update-the-tools-for-powershell"></a>

Führen Sie den folgenden Befehl aus, um Ihre `AWS.Tools` Module auf die neueste Version zu aktualisieren:

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

Mit diesem Befehl werden alle aktuell installierten `AWS.Tools`-Module aktualisiert und nach erfolgreicher Aktualisierung andere installierte Versionen entfernt.

**Anmerkung**  
Das `Update-AWSToolsModule` Cmdlet lädt alle Module von der angegebenen Quelle `PSGallery` (`PSRepository`[https://www.powershellgallery.com/](https://www.powershellgallery.com/)) herunter und betrachtet sie als vertrauenswürdige Quelle. Für weitere Informationen zu diesem `PSRepository` verwenden Sie den Befehl `Get-PSRepository -Name PSGallery`.

### Aktualisieren Sie die Tools für Core PowerShell
<a name="update-the-tools-for-powershell-core"></a>

Führen Sie das `Get-AWSPowerShellVersion` Cmdlet aus, um festzustellen, welche Version Sie ausführen, und vergleichen Sie diese mit der Version von Tools für Windows PowerShell , die auf der [PowerShell Gallery-Website](https://www.powershellgallery.com/packages/AWSPowerShell) verfügbar ist. Wir empfehlen Ihnen, dies alle zwei bis drei Wochen zu überprüfen. Support für neue Befehle und AWS Dienste ist erst verfügbar, nachdem Sie auf eine Version mit dieser Unterstützung aktualisiert haben.

Bevor Sie eine neuere Version von AWSPower Shell installieren. NetCore, deinstallieren Sie das vorhandene Modul. Schließen Sie alle geöffneten PowerShell Sitzungen, bevor Sie das vorhandene Paket deinstallieren. Führen Sie zur Deinstallation den folgenden Befehl aus.

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

Nachdem das Paket deinstalliert wurde, installieren Sie das aktualisierte Modul, indem Sie den folgenden Befehl ausführen.

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

Führen Sie nach der Installation den Befehl aus, `Import-Module AWSPowerShell.NetCore` um die aktualisierten Cmdlets in Ihre PowerShell Sitzung zu laden.

### Aktualisieren Sie die Tools für Windows PowerShell
<a name="update-the-tools-for-windows-powershell"></a>

Führen Sie das `Get-AWSPowerShellVersion` Cmdlet aus, um festzustellen, welche Version Sie ausführen, und vergleichen Sie diese mit der Version von Tools für Windows PowerShell , die auf der [PowerShell Gallery-Website](https://www.powershellgallery.com/packages/AWSPowerShell) verfügbar ist. Wir empfehlen Ihnen, dies alle zwei bis drei Wochen zu überprüfen. Support für neue Befehle und AWS Dienste ist erst verfügbar, nachdem Sie auf eine Version mit dieser Unterstützung aktualisiert haben.
+ Wenn Sie die Installation mithilfe des Cmdlets `Install-Module` vorgenommen haben, führen Sie die folgenden Befehle aus.

  ```
  PS > Uninstall-Module -Name AWSPowerShell -AllVersions
  PS > Install-Module -Name AWSPowerShell
  ```
+ Wenn Sie die Installation mithilfe einer heruntergeladenen ZIP-Datei durchgeführt haben:

  1. Laden Sie die neueste Version von der PowerShell Website [Tools for](https://aws.amazon.com/powershell/) herunter. Vergleichen Sie die Paketversionsnummer im heruntergeladenn Dateinamen mit der Versionsnummer, die Sie beim Ausführen des Cmdlets `Get-AWSPowerShellVersion` erhalten.

  1. Wenn die Download-Version höher ist als die Version, die Sie installiert haben, schließen Sie alle Tools für PowerShell Windows-Konsolen.

  1. Installieren Sie die neuere Version der Tools für Windows PowerShell.

Führen Sie nach der Installation den Befehl aus, `Import-Module AWSPowerShell` um die aktualisierten Cmdlets in Ihre PowerShell Sitzung zu laden. Oder führen Sie die benutzerdefinierte AWS -Tools für PowerShell Konsole über Ihr **Startmenü** aus.

# Installation AWS -Tools für PowerShell unter Linux oder macOS
<a name="pstools-getting-set-up-linux-mac"></a>

Dieses Thema enthält Anweisungen zur Installation von AWS -Tools für PowerShell unter Linux oder macOS.

## Übersicht über die Einrichtung
<a name="pstools-installing-core-prerequisites"></a>

Für die Installation AWS -Tools für PowerShell auf einem Linux- oder macOS-Computer können Sie aus zwei Paketoptionen wählen:
+ [**`AWS.Tools`**](#install-aws.tools-on-linux-macos)— Die modularisierte Version von. AWS -Tools für PowerShell Jeder AWS Dienst wird von einem eigenen, kleinen Modul mit gemeinsam genutzten Unterstützungsmodulen `AWS.Tools.Common` unterstützt.
+ [**AWSPowerSchale. NetCore**](#install-netcore-on-linux-macos) — Die einzelne Version mit großen Modulen von. AWS -Tools für PowerShell Alle AWS Dienste werden von diesem einzigen, großen Modul unterstützt.
**Anmerkung**  
Beachten Sie, dass das einzelne Modul möglicherweise zu groß ist, um es mit [AWS Lambda](https://aws.amazon.com/lambda/)-Features zu verwenden. Verwenden Sie stattdessen die oben gezeigte modularisierte Version.

 Das Einrichten eines dieser Paket auf einem Computer unter Linux oder macOS umfasst die folgenden Aufgaben, die weiter unten in diesem Thema ausführlich beschrieben werden:

1. Installieren Sie PowerShell Core 6.0 oder höher auf einem unterstützten System.

1. Starten Sie nach der Installation PowerShell von PowerShell Core zunächst `pwsh` in Ihrer Systemshell.

1. Installieren Sie entweder `AWS.Tools` oder AWSPower Shell. NetCore.

1. Führen Sie das entsprechende `Import-Module` Cmdlet aus, um das Modul in Ihre PowerShell Sitzung zu importieren.

1. Führen Sie das Cmdlet [Initialize- AWSDefault Configuration](https://docs.aws.amazon.com/powershell/v4/reference/items/Initialize-AWSDefaultConfiguration.html) aus, um Ihre Anmeldeinformationen bereitzustellen. AWS 

## Voraussetzungen
<a name="prerequisites"></a>

Um das ausführen zu können AWS Tools for PowerShell Core, muss auf Ihrem Computer PowerShell Core 6.0 oder höher ausgeführt werden. 
+ Eine Liste der unterstützten Linux-Plattformversionen und Informationen zur Installation der neuesten Version von PowerShell auf einem Linux-basierten Computer finden Sie unter [Installation unter Linux PowerShell auf](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux) der Microsoft-Website. Einige Linux-basierte Betriebssysteme, wie z. B. Arch, Kali und Raspbian werden nicht offiziell unterstützt, verfügen jedoch über Community-Support unterschiedlicher Stufen.
+ Informationen zu unterstützten macOS-Versionen und zur Installation der neuesten Version von PowerShell auf macOS finden Sie unter [Installation PowerShell auf macOS](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-macos) auf der Microsoft-Website.

## Installieren der `AWS.Tools` unter Linux oder macOS
<a name="install-aws.tools-on-linux-macos"></a>

Sie können die modularisierte Version von AWS -Tools für PowerShell auf Computern installieren, auf denen PowerShell Core 6.0 oder höher ausgeführt wird. Informationen zur Installation von PowerShell Core finden Sie unter [Installation verschiedener Versionen von PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell) auf der PowerShell Microsoft-Website. 

Sie können `AWS.Tools` auf drei Arten installieren:
+ Verwenden der Cmdlets im `AWS.Tools.Installer`-Modul. Dieses Modul vereinfacht die Installation und Aktualisierung anderer `AWS.Tools` Module. `AWS.Tools.Installer`benötigt `PowerShellGet` und lädt automatisch eine aktualisierte Version davon herunter und installiert sie. `AWS.Tools.Installer`hält Ihre Modulversionen automatisch synchron. Wenn Sie ein Modul installieren oder auf eine neuere Version aktualisieren, aktualisieren die Cmdlets `AWS.Tools.Installer` automatisch alle Ihre anderen `AWS.Tools` Module auf dieselbe Version.

  Diese Methode wird im folgenden Verfahren beschrieben.
+ Laden Sie die Module von `[AWS.Tools.zip](https://sdk-for-net.amazonwebservices.com/ps/v4/latest/AWS.Tools.zip)` herunter und extrahieren Sie sie in einem der Modulverzeichnisse. Sie können Ihre Modulverzeichnisse erkennen, indem Sie den Wert der `$Env:PSModulePath`-Variablen drucken.
+ Installation der einzelnen Servicemodule aus der PowerShell Galerie mithilfe des `Install-Module` Cmdlets.

**Zur Installation `AWS.Tools` unter Linux oder macOS mit dem `AWS.Tools.Installer` Modul**

1. Starten Sie eine PowerShell Core-Sitzung, indem Sie den folgenden Befehl ausführen.

   ```
   $ pwsh
   ```
**Anmerkung**  
Wir empfehlen, dass Sie *nicht* PowerShell als Administrator mit erhöhten Rechten arbeiten, es sei denn, dies ist für die jeweilige Aufgabe erforderlich. Grund ist das potenzielle Sicherheitsrisiko und weil dies im Widerspruch zum Prinzip der geringsten Zugriffsrechte stünde.

1. Führen Sie den folgenden Befehl aus, um das modularisierte `AWS.Tools`-Paket mit dem `AWS.Tools.Installer`-Modul zu installieren.

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

   Wenn Sie benachrichtigt werden, dass das Repository "nicht vertrauenswürdig" ist, werden Sie gefragt, ob trotzdem installiert werden soll. Geben Sie **y** die Eingabetaste ein PowerShell , um die Installation des Moduls zuzulassen. Um die Eingabeaufforderung zu vermeiden und das Modul zu installieren, ohne dem Repository zu vertrauen, können Sie den folgenden Befehl ausführen:

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

1. Sie können das Modul jetzt für jeden Dienst installieren, den Sie verwenden möchten. Mit dem folgenden Befehl werden beispielsweise die Module Amazon EC2 und Amazon S3 installiert. Mit diesem Befehl werden auch alle abhängigen Module installiert, die für die Funktionsfähigkeit des angegebenen Moduls erforderlich sind. Wenn Sie beispielsweise Ihr erstes `AWS.Tools`-Servicemodul installieren, wird damit auch `AWS.Tools.Common` installiert. Dies ist ein gemeinsam genutztes Modul, das von allen AWS Servicemodulen benötigt wird. Damit werden auch ältere Versionen der Module entfernt und weitere Module auf dieselbe neuere Version aktualisiert.

   ```
   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
   ```
**Anmerkung**  
Das `Install-AWSToolsModule` Cmdlet lädt alle angeforderten Module aus `PSRepository` dem angegebenen Verzeichnis `PSGallery` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) herunter und betrachtet das Repository als vertrauenswürdige Quelle. Für weitere Informationen zu diesem `PSRepository` verwenden Sie den Befehl `Get-PSRepository -Name PSGallery`.

   Mit dem vorherigen Befehl werden Module in den Standardverzeichnissen auf Ihrem System installiert. Die tatsächlichen Verzeichnisse hängen von der Distribution und Version Ihres Betriebssystems sowie von der Version ab, die PowerShell Sie installiert haben. Wenn Sie beispielsweise PowerShell 7 auf einem RHEL-ähnlichen System installiert haben, befinden sich die Standardmodule höchstwahrscheinlich in `/opt/microsoft/powershell/7/Modules` (oder`$PSHOME/Modules`) und Benutzermodule höchstwahrscheinlich in. `~/.local/share/powershell/Modules` Weitere Informationen finden [Sie unter Installation unter Linux PowerShell auf](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-linux) der PowerShell Microsoft-Website. Wenn Sie anzeigen möchten, wo Module installiert sind, führen Sie den folgenden Befehl aus:

   ```
   PS > Get-Module -ListAvailable
   ```

   Um andere Module zu installieren, führen Sie ähnliche Befehle mit den entsprechenden Modulnamen aus, die Sie in der [PowerShell Galerie](https://www.powershellgallery.com/packages?q=aws) finden.

## Installieren Sie AWSPower Shell. NetCore unter Linux oder macOS
<a name="install-netcore-on-linux-macos"></a>

Um auf eine neuere Version von AWSPower Shell zu aktualisieren. NetCore, folgen Sie den Anweisungen unter[Aktualisierung des AWS -Tools für PowerShell unter Linux oder macOS](#pstools-updating-linux). Deinstallieren Sie frühere Versionen von AWSPower Shell. NetCore zuerst.

Sie können AWSPower Shell installieren. NetCore auf eine von zwei Arten:
+ Laden Sie das Modul von `[AWSPowerShell.NetCore.zip](https://sdk-for-net.amazonwebservices.com/ps/v4/latest/AWSPowerShell.NetCore.zip)` herunter und extrahieren Sie es in einem der Modulverzeichnisse. Sie können Ihre Modulverzeichnisse erkennen, indem Sie den Wert der `$Env:PSModulePath`-Variablen drucken.
+ Installation aus der PowerShell Galerie mit dem `Install-Module` Cmdlet, wie im folgenden Verfahren beschrieben.

**Um Shell zu installieren AWSPower. NetCore unter Linux oder macOS mit dem Cmdlet Install-Module**

Starten Sie eine PowerShell Core-Sitzung, indem Sie den folgenden Befehl ausführen.

```
$ pwsh
```

**Anmerkung**  
Wir empfehlen, dass Sie das Programm *nicht* PowerShell zunächst PowerShell mit erhöhten Administratorrechten ausführen. `sudo pwsh` Grund ist das potenzielle Sicherheitsrisiko und weil dies im Widerspruch zum Prinzip der geringsten Zugriffsrechte stünde.

Um die AWSPower Shell zu installieren. NetCore Führen Sie den folgenden Befehl für ein einzelnes Modulpaket aus der PowerShell Galerie aus.

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

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

Wenn Sie benachrichtigt werden, dass das Repository "nicht vertrauenswürdig" ist, werden Sie gefragt, ob trotzdem installiert werden soll. Geben Sie **y** die Eingabetaste ein, PowerShell um die Installation des Moduls zu ermöglichen. Um die Eingabeaufforderung zu vermeiden, ohne dem Repository zu vertrauen, können Sie den folgenden Befehl ausführen:

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

Sie müssen diesen Befehl nicht als Root ausführen, es sei denn, Sie möchten den AWS -Tools für PowerShell für alle Benutzer eines Computers installieren. Führen Sie dazu den folgenden Befehl in einer PowerShell Sitzung aus, mit der Sie begonnen haben`sudo pwsh`.

```
PS > Install-Module -Scope AllUsers -Name AWSPowerShell.NetCore -Force
```

## Skriptausführung
<a name="enable-script-execution"></a>

Der Befehl `Set-ExecutionPolicy` ist auf Nicht-Windows-Systemen nicht verfügbar. Sie können ausführen`Get-ExecutionPolicy`, was zeigt, dass die Standardeinstellung für die Ausführungsrichtlinie in PowerShell Core, die auf Nicht-Windows-Systemen ausgeführt wird, lautet`Unrestricted`. Weitere Informationen finden Sie auf der Microsoft-Technet-Website unter [About Execution Policies (Über Ausführungsrichtlinien)](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-5.1).

 Da das den Speicherort des AWS Modulverzeichnisses `PSModulePath` beinhaltet, zeigt das `Get-Module -ListAvailable` Cmdlet das Modul an, das Sie installiert haben.

**`AWS.Tools`**

```
PS > Get-Module -ListAvailable

    Directory: /Users/username/.local/share/powershell/Modules

ModuleType Version    Name                                PSEdition ExportedCommands
---------- -------    ----                                --------- ----------------
Binary     3.3.563.1  AWS.Tools.Common                    Desk      {Clear-AWSHistory, Set-AWSHistoryConfiguration, Initialize-AWSDefaultConfiguration, Clear-AWSDefaultConfigurat…
```

**AWSPowerShell. NetCore**

```
PS > Get-Module -ListAvailable

Directory: /Users/username/.local/share/powershell/Modules

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Binary     3.3.563.1  AWSPowerShell.NetCore
```

## Konfigurieren Sie eine PowerShell Konsole für die Verwendung der AWS Tools for PowerShell Core (AWSPowerShell. NetCore Nur)
<a name="pstools-config-ps-window"></a>

PowerShell Core lädt Module normalerweise automatisch, wenn Sie ein Cmdlet im Modul ausführen. Aber das funktioniert nicht für AWSPower Shell. NetCore wegen seiner Größe. Um mit der Ausführung von AWSPower Shell zu beginnen. NetCore Cmdlets müssen Sie zuerst den `Import-Module AWSPowerShell.NetCore` Befehl ausführen. Dies ist für Cmdlets in `AWS.Tools`-Modulen nicht erforderlich.

## Initialisieren Sie Ihre Sitzung PowerShell
<a name="linux-config-init"></a>

Wenn Sie nach der Installation PowerShell auf einem Linux- oder MacOS-basierten System starten, müssen Sie [Initialize- AWSDefault Configuration](https://docs.aws.amazon.com/powershell/v4/reference/items/Initialize-AWSDefaultConfiguration.html) ausführen AWS -Tools für PowerShell, um anzugeben, welcher AWS Zugriffsschlüssel verwendet werden soll. Mehr über `Initialize-AWSDefaultConfiguration` erfahren Sie unter [AWS Anmeldeinformationen verwenden](specifying-your-aws-credentials.md).

**Anmerkung**  
In früheren Versionen (vor 3.3.96.0) von wurde dieses Cmdlet benannt. AWS -Tools für PowerShell`Initialize-AWSDefaults`

## Versionsverwaltung
<a name="pstools-versioning"></a>

AWS veröffentlicht AWS -Tools für PowerShell regelmäßig neue Versionen von, um neue Dienste und Funktionen zu unterstützen. AWS Führen Sie das AWSPower ShellVersion Cmdlet [Get- aus AWS -Tools für PowerShell , um die Version von zu ermitteln, die Sie](https://docs.aws.amazon.com/powershell/v4/reference/items/Get-AWSPowerShellVersion.html) installiert haben.

Beispiel:

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

Um eine Liste der unterstützten AWS Dienste in der aktuellen Version der Tools anzuzeigen, fügen Sie den `-ListServiceVersionInfo` Parameter einem [Get-Cmdlet hinzu. AWSPower ShellVersion](https://docs.aws.amazon.com/powershell/v4/reference/items/Get-AWSPowerShellVersion.html)

Um zu ermitteln PowerShell , welche Version Sie gerade ausführen, geben Sie ein, `$PSVersionTable` um den Inhalt der `$PSVersionTable` [automatischen](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6) Variablen anzuzeigen.

Beispiel:

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

## Aktualisierung des AWS -Tools für PowerShell unter Linux oder macOS
<a name="pstools-updating-linux"></a>

Wenn aktualisierte Versionen von veröffentlicht AWS -Tools für PowerShell werden, sollten Sie regelmäßig die Version aktualisieren, die Sie lokal ausführen. 

### Aktualisieren Sie die modularisierten Module `AWS.Tools`
<a name="update-aws.tools-all-systems"></a>

Führen Sie den folgenden Befehl aus, um Ihre `AWS.Tools` Module auf die neueste Version zu aktualisieren:

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

Mit diesem Befehl werden alle aktuell installierten `AWS.Tools`-Module aktualisiert und die früheren Versionen für die Module, die erfolgreich aktualisiert wurden, entfernt.

**Anmerkung**  
Das `Update-AWSToolsModule` Cmdlet lädt alle Module von der angegebenen Quelle `PSGallery` (`PSRepository`[https://www.powershellgallery.com/](https://www.powershellgallery.com/)) herunter und betrachtet sie als vertrauenswürdige Quelle. Für weitere Informationen zu diesem `PSRepository` verwenden Sie den Befehl `Get-PSRepository -Name PSGallery`.

### Aktualisieren Sie die Tools für Core PowerShell
<a name="update-netcore-all-systems"></a>

Führen Sie das `Get-AWSPowerShellVersion` Cmdlet aus, um festzustellen, welche Version Sie ausführen, und vergleichen Sie diese mit der Version von Tools für Windows PowerShell , die auf der [PowerShell Gallery-Website](https://www.powershellgallery.com/packages/AWSPowerShell) verfügbar ist. Wir empfehlen Ihnen, dies alle zwei bis drei Wochen zu überprüfen. Support für neue Befehle und AWS Dienste ist erst verfügbar, nachdem Sie auf eine Version mit dieser Unterstützung aktualisiert haben.

Bevor Sie eine neuere Version von AWSPower Shell installieren. NetCore, deinstallieren Sie das vorhandene Modul. Schließen Sie alle geöffneten PowerShell Sitzungen, bevor Sie das vorhandene Paket deinstallieren. Führen Sie zur Deinstallation den folgenden Befehl aus.

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

Nachdem das Paket deinstalliert wurde, installieren Sie das aktualisierte Modul, indem Sie den folgenden Befehl ausführen.

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

Führen Sie nach der Installation den Befehl aus, `Import-Module AWSPowerShell.NetCore` um die aktualisierten Cmdlets in Ihre PowerShell Sitzung zu laden.

## Verwandte Informationen
<a name="pstools-seealso-setup"></a>
+  [Fangen Sie an mit dem AWS Tools for Windows PowerShell](pstools-getting-started.md) 
+  [Arbeiten Sie mit AWS Diensten in der AWS -Tools für PowerShell](pstools-using.md) 

# Migration von AWS -Tools für PowerShell Version 3.3 zu Version 4
<a name="v4migration"></a>

AWS -Tools für PowerShell Version 4 ist ein abwärtskompatibles Update auf Version 3.3. AWS -Tools für PowerShell Es wurde um erhebliche Verbesserungen ergänzt, gleichzeitig bleibt das vorhandene Cmdlet-Verhalten beibehalten. 

Ihre vorhandenen Skripts sollten nach dem Upgrade auf die neue Version weiterhin funktionieren. Wir empfehlen jedoch, sie gründlich zu testen, bevor Sie Ihre Produktionsumgebungen aktualisieren.

In diesem Abschnitt werden die Änderungen beschrieben und wird erläutert, wie sich diese auf Ihre Skripts auswirken können.

## Vollständig modularisierte `AWS.Tools`-Version
<a name="migrate-aws-tools"></a>

Die Shell. AWSPower NetCore und AWSPower Shell-Pakete waren „monolithisch“. Das bedeutete, dass alle AWS Dienste in demselben Modul unterstützt wurden, wodurch es sehr umfangreich wurde und mit jedem neuen AWS Dienst und jeder neuen Funktion immer größer wurde. Das neue `AWS.Tools` Paket ist in kleinere Module unterteilt, sodass Sie flexibel nur die Module herunterladen und installieren können, die Sie für die von Ihnen verwendeten AWS Dienste benötigen. Das Paket enthält ein gemeinsames `AWS.Tools.Common`-Modul, das von allen anderen Modulen benötigt wird, und ein `AWS.Tools.Installer`-Modul, das das Installieren, Aktualisieren und Entfernen von Modulen bedarfsgerecht vereinfacht.

Dies ermöglicht auch das automatische Importieren von Cmdlets beim ersten Aufruf, ohne dass zunächst `Import-module` aufgerufen werden muss. Um jedoch vor dem Aufrufen eines Cmdlets mit den verknüpften.NET-Objekten zu interagieren, müssen Sie trotzdem aufrufen, `Import-Module` um Informationen PowerShell über die relevanten.NET-Typen zu erhalten. 

Der folgende Befehl umfasst beispielsweise einen Verweis auf `Amazon.EC2.Model.Filter`. Dieser Referenztyp kann den automatischen Import nicht auslösen. Damit der Befehl nicht fehlschlägt, müssen Sie zunächst `Import-Module` aufrufen.

```
PS > $filter = [Amazon.EC2.Model.Filter]@{Name="vpc-id";Values="vpc-1234abcd"}
  InvalidOperation: Unable to find type [Amazon.EC2.Model.Filter].
```

```
PS > Import-Module AWS.Tools.EC2
PS > $filter = [Amazon.EC2.Model.Filter]@{Name="vpc-id";Values="vpc-1234abcd"}
PS > Get-EC2Instance -Filter $filter -Select Reservations.Instances.InstanceId
  i-0123456789abcdefg
  i-0123456789hijklmn
```

## Neues `Get-AWSService`-Cmdlet
<a name="migrate-get-awsservice"></a>

Sie können das Cmdlet verwenden, um die Namen der Module für jeden AWS Dienst in der `AWS.Tools` Modulsammlung zu ermitteln. `Get-AWSService`

```
PS > Get-AWSService
  Service : ACMPCA
  CmdletNounPrefix : PCA
  ModuleName : AWS.Tools.ACMPCA
  SDKAssemblyVersion : 3.3.101.56
  ServiceName : Certificate Manager Private Certificate Authority

  Service : AlexaForBusiness
  CmdletNounPrefix : ALXB
  ModuleName : AWS.Tools.AlexaForBusiness
  SDKAssemblyVersion : 3.3.106.26
  ServiceName : Alexa For Business
  ...
```

## Neuer `-Select`-Parameter zum Steuern des von einem Cmdlet zurückgegebenen Objekts
<a name="migrate-select"></a>

Die meisten Cmdlets der Version 4 unterstützen einen neuen `-Select`-Parameter. Jedes Cmdlet ruft den AWS Dienst mithilfe von APIs für Sie auf. AWS SDK für .NET Anschließend konvertiert der AWS -Tools für PowerShell Client die Antwort in ein Objekt, das Sie in Ihren PowerShell Skripts verwenden und an andere Befehle weiterleiten können. Manchmal enthält das endgültige PowerShell Objekt in der ursprünglichen Antwort mehr Felder oder Eigenschaften, als Sie benötigen, und manchmal möchten Sie vielleicht, dass das Objekt Felder oder Eigenschaften der Antwort enthält, die standardmäßig nicht vorhanden sind. Mit dem `-Select`-Parameter können Sie angeben, was in dem vom Cmdlet zurückgegebenen NET-Objekt enthalten sein soll.

Das [Get-S3Object](https://docs.aws.amazon.com/powershell/v4/reference/items/Get-S3Object.html)Cmdlet ruft beispielsweise den Amazon S3 S3-SDK-Vorgang auf. [ListObjects](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/index.html?page=S3/MS3ListObjectsListObjectsRequest.html) Dieser Vorgang gibt ein Objekt zurück. [ListObjectsResponse](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/index.html?page=S3/MS3ListObjectsListObjectsRequest.h) Standardmäßig gibt das `Get-S3Object` Cmdlet jedoch nur das `S3Objects` Element der SDK-Antwort an den PowerShell Benutzer zurück. Im folgenden Beispiel ist dieses Objekt ein Array mit zwei Elementen.

```
PS > Get-S3Object -BucketName amzn-s3-demo-bucket

ETag : "01234567890123456789012345678901111"
BucketName : amzn-s3-demo-bucket
Key : file1.txt
LastModified : 9/30/2019 1:31:40 PM
Owner : Amazon.S3.Model.Owner
Size : 568
StorageClass : STANDARD

ETag : "01234567890123456789012345678902222"
BucketName : amzn-s3-demo-bucket
Key : file2.txt
LastModified : 7/15/2019 9:36:54 AM
Owner : Amazon.S3.Model.Owner
Size : 392
StorageClass : STANDARD
```

In AWS -Tools für PowerShell Version 4 können Sie angeben`-Select *`, dass das vollständige .NET-Antwortobjekt zurückgegeben werden soll, das vom SDK-API-Aufruf zurückgegeben wurde.

```
PS > Get-S3Object -BucketName amzn-s3-demo-bucket -Select *
  IsTruncated    : False
  NextMarker     :
  S3Objects      : {file1.txt, file2.txt}
  Name           : amzn-s3-demo-bucket
  Prefix         :
  MaxKeys        : 1000
  CommonPrefixes : {}
  Delimiter      :
```

Sie können auch den Pfad zu der gewünschten verschachtelten Eigenschaft angeben. Im folgenden Beispiel wird nur die `Key`-Eigenschaft jedes Elements im `S3Objects`-Array zurückgegeben.

```
PS > Get-S3Object -BucketName amzn-s3-demo-bucket -Select S3Objects.Key
file1.txt
file2.txt
```

In bestimmten Situationen kann es sinnvoll sein, einen Cmdlet-Parameter zurückzugeben. Sie können dies mit `-Select ^ParameterName` tun. Diese Funktion ersetzt den `-PassThru`-Parameter, der zwar noch verfügbar, aber veraltet ist. 

```
PS > Get-S3Object -BucketName amzn-s3-demo-bucket -Select S3Objects.Key |
>> Write-S3ObjectTagSet -Select ^Key -BucketName amzn-s3-demo-bucket -Tagging_TagSet @{ Key='key'; Value='value'}
  file1.txt
  file2.txt
```

[Das Referenzthema](https://docs.aws.amazon.com/powershell/v4/reference/) für jedes Cmdlet erkennt, ob es den Parameter `-Select` unterstützt.

## Konsistentere Begrenzung der Anzahl der Elemente in der Ausgabe
<a name="migrate-iterate"></a>

In früheren Versionen von AWS -Tools für PowerShell konnten Sie den `-MaxItems` Parameter verwenden, um die maximale Anzahl von Objekten anzugeben, die in der endgültigen Ausgabe zurückgegeben wurden.

Dieses Verhalten wird aus `AWS.Tools` entfernt.

Dieses Verhalten ist in AWSPower Shell veraltet. NetCore und AWSPower Shell, und wird in einer future Version aus diesen Versionen entfernt.

Wenn die zugrunde liegende Service-API einen `MaxItems`-Parameter unterstützt, ist er weiterhin verfügbar und funktioniert wie in der API angegeben. Aber er verfügt nicht mehr über das zusätzliche Verhalten, die Anzahl der Elemente zu begrenzen, die in der Ausgabe des Cmdlets zurückgegeben werden.

Um die Anzahl der in der endgültigen Ausgabe zurückgegebenen Elemente zu begrenzen, leiten Sie die Ausgabe über die Pipeline an das `Select-Object` Cmdlet weiter und geben Sie den `-First n` Parameter an*n*, der die maximale Anzahl von Elementen angibt, die in der endgültigen Ausgabe enthalten sein sollen.

```
PS > Get-S3ObjectV2 -BucketName amzn-s3-demo-bucket -Select S3Objects.Key | select -first 2
file1.txt
file2.txt
```

Nicht alle AWS Dienste werden auf die gleiche `-MaxItems` Weise unterstützt, sodass diese Inkonsistenz und die unerwarteten Ergebnisse, die manchmal auftraten, behoben werden. Außerdem konnte `-MaxItems` in Kombination mit dem neuen [`-Select`](#migrate-select)-Parameter zuweilen zu irritierenden Ergebnissen führen.

## Einfachere Verwendung von Stream-Parametern
<a name="migrate-streamparam"></a>

Parameter vom Typ `Stream` oder `byte[]` können nun `string`-, `string[]`- oder `FileInfo`-Werte übernehmen.

Sie können z. B. eines der folgenden Beispiele verwenden.

```
PS > Invoke-LMFunction -FunctionName MyTestFunction -PayloadStream '{
>> "some": "json"
>> }'
```

```
PS > Invoke-LMFunction -FunctionName MyTestFunction -PayloadStream (ls .\some.json)
```

```
PS > Invoke-LMFunction -FunctionName MyTestFunction -PayloadStream @('{', '"some": "json"', '}')
```

 AWS -Tools für PowerShell konvertiert alle Zeichenketten in die `byte[]` UTF-8-Kodierung.

## Erweitern der Pipe um den Eigenschaftsnamen
<a name="migrate-pipes"></a>

Um die Benutzererfahrung konsistenter zu gestalten, können Sie nun Pipeline-Eingaben übergeben, indem Sie den Eigenschaftsnamen für einen *beliebigen* Parameter angeben. 

Im folgenden Beispiel erstellen wir ein benutzerdefiniertes Objekt mit Eigenschaften, die Namen aufweisen, die mit den Parameternamen des Ziel-Cmdlets übereinstimmen. Wenn das Cmdlet ausgeführt wird, werden diese Eigenschaften automatisch als dessen Parameter verwendet.

```
PS > [pscustomobject] @{ BucketName='amzn-s3-demo-bucket'; Key='file1.txt'; PartNumber=1 } | Get-S3ObjectMetadata
```

**Anmerkung**  
Einige Eigenschaften unterstützten dies in früheren Versionen von. AWS -Tools für PowerShell Mit Version 4 erfolgt dies konsequenter, indem es für *alle* Parameter aktiviert wird.

## Statische gängige Parameter
<a name="migrate-staticcommonparams"></a>

Um die Konsistenz in Version 4.0 von zu verbessern AWS -Tools für PowerShell, sind alle Parameter statisch.

In früheren Versionen von AWS -Tools für PowerShell waren einige allgemeine Parameter wie`AccessKey`, `SecretKey``ProfileName`, oder`Region`, [dynamisch](https://docs.microsoft.com/dotnet/api/system.management.automation.idynamicparameters), während alle anderen Parameter statisch waren. Dies könnte zu Problemen führen, da statische PowerShell Parameter vor dynamischen Parametern gebunden werden. Angenommen, Sie haben den folgenden Befehl ausgeführt:

```
PS > Get-EC2Region -Region us-west-2
```

Frühere Versionen von haben den Wert `us-west-2` an den `-RegionName` statischen Parameter statt an den `-Region` dynamischen Parameter PowerShell gebunden. Dies konnte Benutzer durchaus irritieren.

## `AWS.Tools` deklariert und erzwingt obligatorische Parameter
<a name="migrate-mandatoryparams"></a>

Die Module `AWS.Tools.*` deklarieren und erzwingen nun obligatorische Cmdlet-Parameter. Wenn ein AWS Service deklariert, dass ein API-Parameter erforderlich ist, werden Sie zur Eingabe des entsprechenden Cmdlet-Parameters PowerShell aufgefordert, sofern Sie ihn nicht angegeben haben. Dies gilt nur für `AWS.Tools`. Um die Abwärtskompatibilität zu gewährleisten, gilt dies nicht für Shell. AWSPower NetCore oder AWSPower Shell.

## Alle Parameter sind löschbar
<a name="migrate-nullableparams"></a>

Sie können nun den Werttyp-Parametern (Zahlen und Daten) `$null` zuordnen. Diese Änderung sollte sich nicht auf vorhandene Skripte auswirken. Auf diese Weise können Sie die Eingabeaufforderung für einen obligatorischen Parameter umgehen. Obligatorische Parameter werden nur in `AWS.Tools` erzwungen.

Wenn Sie das folgende Beispiel mit Version 4 ausführen, wird die clientseitige Validierung effektiv umgangen, da Sie für jeden obligatorischen Parameter einen „Wert“ angeben. Der Amazon EC2 EC2-API-Serviceaufruf schlägt jedoch fehl, da der AWS Service diese Informationen immer noch benötigt.

```
PS > Get-EC2InstanceAttribute -InstanceId $null -Attribute $null
WARNING: You are passing $null as a value for parameter Attribute which is marked as required.
In case you believe this parameter was incorrectly marked as required, report this by opening 
an issue at [https://github.com/aws/aws-tools-for-powershell/issues](https://github.com/aws/aws-tools-for-powershell/issues).
WARNING: You are passing $null as a value for parameter InstanceId which is marked as required.
In case you believe this parameter was incorrectly marked as required, report this by opening
an issue at [https://github.com/aws/aws-tools-for-powershell/issues](https://github.com/aws/aws-tools-for-powershell/issues).

Get-EC2InstanceAttribute : The request must contain the parameter instanceId
```

## Entfernen von zuvor nicht unterstützten Funktionen
<a name="migrate-removeprevdeprecated"></a>

Die folgenden Funktionen waren in früheren Versionen von veraltet AWS -Tools für PowerShell und wurden in Version 4 entfernt:
+ Der `-Terminate`-Parameter wurde aus dem `Stop-EC2Instance`-Cmdlet entfernt. Verwenden Sie stattdessen `Remove-EC2Instance`.
+ Der `-ProfileName` Parameter wurde aus dem Clear- AWSCredential Cmdlet entfernt. Verwenden Sie stattdessen `Remove-AWSCredentialProfile`.
+ Es wurden die Cmdlets `Import-EC2Instance` und `Import-EC2Volume` entfernt.