

¡Se Herramientas de AWS para PowerShell ha lanzado la versión 5 (V5) del\$1

Para obtener información sobre los cambios más importantes y la migración de sus aplicaciones, consulte el tema [sobre migración](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)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Comience con el Herramientas de AWS para PowerShell
<a name="pstools-getting-set-up"></a>

En los temas siguientes se muestra cómo instalar correctamente los Herramientas de AWS para PowerShell cmdlets y configurar la autenticación con ellos. AWS

**Topics**
+ [Instalado en CloudShell](pstools-getting-set-up-cloudshell.md)
+ [Instalación en Windows](pstools-getting-set-up-windows.md)
+ [Instalación en Linux o macOS](pstools-getting-set-up-linux-mac.md)
+ [Autenticarse con AWS](creds-idc.md)

# Instalado Herramientas de AWS para PowerShell en AWS CloudShell
<a name="pstools-getting-set-up-cloudshell"></a>

`AWS.Tools`viene preinstalado tal y AWS CloudShell como se describe en la sección [Software preinstalado](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#pre-installed-software) de la Guía del [AWS CloudShell usuario](https://docs.aws.amazon.com/cloudshell/latest/userguide/). Como las credenciales de la consola se transfieren automáticamente a CloudShell, un usuario con permisos de apertura CloudShell puede ejecutar inmediatamente Tools for PowerShell cmdlets sin necesidad de instalación o configuración adicionales.

Para utilizarla CloudShell, lleve Herramientas de AWS para PowerShell a cabo pasos similares a los siguientes:

1. Abre la [CloudShellconsola](https://console.aws.amazon.com/cloudshell/home).

1. Ejecute `pwsh`.

1. Ejecute todos `AWS.Tools` PowerShell los comandos que necesite, por ejemplo`Get-S3Bucket`.

# Instalación del Herramientas de AWS para PowerShell en Windows
<a name="pstools-getting-set-up-windows"></a>

Para obtener información sobre las herramientas PowerShell que vienen preinstaladas en AWS CloudShell, consulte[Instalado en CloudShell](pstools-getting-set-up-cloudshell.md).

Un equipo basado en Windows puede ejecutar cualquiera de las opciones del Herramientas de AWS para PowerShell paquete:
+ [**`AWS.Tools`**](ps-installing-awstools.md)- La versión modularizada de. Herramientas de AWS para PowerShell Cada AWS servicio está respaldado por su propio módulo pequeño e individual, con módulos `AWS.Tools.Common` de soporte compartidos y. `AWS.Tools.Installer`
+ [**AWSPowerConcha. NetCore**](ps-installing-awspowershellnetcore.md) - La versión única de módulos grandes de Herramientas de AWS para PowerShell. Todos los AWS servicios son compatibles con este módulo único y grande.
**nota**  
Tenga en cuenta que el módulo individual puede ser demasiado grande para usarlo con funciones de [AWS Lambda](https://aws.amazon.com/lambda/). En su lugar, utilice la versión modularizada que se muestra arriba.
+ [**AWSPowerShell**](ps-installing-awswindowspowershell.md): la versión antigua de un solo módulo grande, específica para Windows, de. Herramientas de AWS para PowerShell Todos los AWS servicios son compatibles con este módulo único y de gran tamaño.

El paquete que elija dependerá de la versión y la edición de Windows que esté ejecutando.

**nota**  
 Herramientas de AWS para PowerShell Se instalan de forma predeterminada en todas las Amazon Machine Images (AMIs) basadas en Windows. La opción instalada depende de la AMI. Muchas AMIs tienen el módulo AWSPower Shell, pero algunas pueden tener una opción diferente. Por ejemplo, Amazon EC2 AMIs para Windows Server 2025 utiliza la `AWS.Tools` opción modular.

La configuración Herramientas de AWS para PowerShell implica las siguientes tareas de alto nivel, que se describen en detalle en los temas siguientes.

1. Instale la opción de Herramientas de AWS para PowerShell paquete adecuada para su entorno.

1. Compruebe que la ejecución de scripts está habilitada ejecutando el cmdlet `Get-ExecutionPolicy`.

1. Importe el Herramientas de AWS para PowerShell módulo a su PowerShell sesión.

## Requisitos previos
<a name="prerequisites"></a>

Las versiones más recientes de PowerShell, incluida PowerShell Core, están disponibles como descargas en Microsoft en [Instalación de varias versiones de PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell) en el sitio web de Microsoft.

**Topics**
+ [Requisitos previos](#prerequisites)
+ [Instalar `AWS.Tools` (recomendado)](ps-installing-awstools.md)
+ [Instale AWSPower Shell. NetCore](ps-installing-awspowershellnetcore.md)
+ [Instale AWSPower Shell (versión antigua)](ps-installing-awswindowspowershell.md)

# Instalar `AWS.Tools` en Windows (recomendado)
<a name="ps-installing-awstools"></a>

Para obtener información general Herramientas de AWS para PowerShell sobre la instalación de en Windows, incluidos los requisitos previos y otras opciones, consulte el [tema principal](pstools-getting-set-up-windows.md).

Para obtener información sobre las herramientas PowerShell que vienen preinstaladas en AWS CloudShell, consulte. [Instalado en CloudShell](pstools-getting-set-up-cloudshell.md)

Puede instalar la versión modularizada de Herramientas de AWS para PowerShell en equipos que ejecuten Windows con Windows PowerShell 5.1, PowerShell Core 6.0 o posterior. Para obtener información acerca de cómo instalar PowerShell Core, consulte [Instalación de varias versiones de PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell) en el sitio web de Microsoft.

Puede instalar `AWS.Tools` de tres maneras:
+ Utilizando los cmdlets del módulo `AWS.Tools.Installer`. Este módulo simplifica la instalación y la actualización de otros módulos de `AWS.Tools`. Como `AWS.Tools.Installer` necesita una versión actualizada de `PowerShellGet`, la descarga e instala automáticamente. Además, `AWS.Tools.Installer` mantiene automáticamente las versiones de tus módulos sincronizadas. Cuando se instala un módulo o se actualiza a una versión más reciente, los cmdlets de `AWS.Tools.Installer` actualizan automáticamente todos los demás módulos de `AWS.Tools` a la misma versión.

  Este método se describe en el siguiente procedimiento.
+ Descargando los módulos de `[AWS.Tools.zip](https://sdk-for-net.amazonwebservices.com/ps/v5/latest/AWS.Tools.zip)` y extrayéndolos en una de las carpetas del módulo. Puede descubrir cuáles son las carpetas del módulo mostrando el valor de la variable de entorno `PSModulePath`.
**aviso**  
Tras descargar el archivo ZIP y antes de extraer el contenido, es posible que tenga que desbloquearlo. Por lo general, para ello deberá abrir las propiedades del archivo, hacer clic en la pestaña **General** y activar la casilla **Desbloquear**, si está disponible.  
Si el archivo ZIP debe desbloquearse pero no se hace, podría recibir un error similar al siguiente: “Import-Module: Could not load file or assembly”.
+ Instalación de cada módulo de servicio de la PowerShell Galería mediante el `Install-Module` cmdlet.

**Cómo instalar `AWS.Tools` en Windows con el módulo de `AWS.Tools.Installer`**

1. Inicie una PowerShell sesión.
**nota**  
Le recomendamos que *no se postule* PowerShell como administrador con permisos elevados, excepto cuando lo exija la tarea en cuestión. Esto puede suponer un riesgo para la seguridad y no se atiene al principio de privilegios mínimos.

1. Para instalar el paquete de `AWS.Tools` por módulos, ejecute el siguiente comando.

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

   Si aparece una notificación en la que se indica que el repositorio no es de confianza, se le preguntará si desea realizar la instalación de todos modos. Introduzca **y** para PowerShell permitir la instalación del módulo. Para evitar este mensaje e instalar el módulo sin confiar en el repositorio, puede ejecutar el comando con el parámetro `-Force`.

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

1. Ahora puede instalar el módulo para cada AWS servicio que desee usar mediante el `Install-AWSToolsModule` cmdlet. Por ejemplo, el siguiente comando instala los módulos de Amazon EC2 y Amazon S3. Este comando también instala los módulos dependientes necesarios para que el módulo especificado funcione. Por ejemplo, cuando instala el primer módulo de servicio `AWS.Tools`, también se instala `AWS.Tools.Common`. Se trata de un módulo compartido que requieren todos los módulos de AWS servicio. También elimina las versiones anteriores de los módulos y actualiza otros módulos a la misma versión.

   ```
   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
   ```
**nota**  
El `Install-AWSToolsModule` cmdlet descarga todos los módulos solicitados del `PSRepository` nombre `PSGallery` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) y lo considera una fuente de confianza. Utilice el comando `Get-PSRepository -Name PSGallery` para obtener más información sobre este repositorio de `PSRepository`.

   De forma predeterminada, el comando anterior instala los módulos en la carpeta `%USERPROFILE%\Documents\WindowsPowerShell\Modules`. Para instalarlo Herramientas de AWS para PowerShell para todos los usuarios de un equipo, debe ejecutar el siguiente comando en una PowerShell sesión que haya iniciado como administrador. Por ejemplo, el siguiente comando instala el módulo de IAM en la carpeta `%ProgramFiles%\WindowsPowerShell\Modules` que es accesible para todos los usuarios.

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

   Para instalar otros módulos, ejecute comandos similares con los nombres de módulo correspondientes, tal y como se encuentra en la [PowerShell Galería](https://www.powershellgallery.com/packages?q=aws).

## Habilitar la ejecución de scripts
<a name="enable-script-execution-aws-tools"></a>

Para cargar los Herramientas de AWS para PowerShell módulos, debe habilitar la ejecución del PowerShell script. Para habilitar la ejecución de scripts, ejecute el cmdlet `Set-ExecutionPolicy` para definir la política `RemoteSigned`. Para obtener más información, vea [Acerca de las directivas de ejecución](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies) en el sitio web de Microsoft Technet.

**nota**  
Este es un requisito solo para equipos que ejecutan Windows. La restricción de seguridad de `ExecutionPolicy` no está presente en otros sistemas operativos.

 **Para habilitar la ejecución de scripts** 

1. Se requieren derechos de administrador para definir la política de ejecución. Si no ha iniciado sesión como usuario con derechos de administrador, abra una PowerShell sesión como administrador. Elija **Inicio** y, a continuación, elija **Todos los programas**. Seleccione **Accesorios** y, a continuación, **Windows PowerShell**. Haga clic con el botón derecho en **Windows** y PowerShell, en el menú contextual, seleccione **Ejecutar como administrador**.

1. En el símbolo del sistema, escriba lo siguiente.

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

**nota**  
En un sistema de 64 bits, debe hacerlo por separado para la versión de 32 bits de PowerShell **Windows PowerShell (x86**).

Si la política de ejecución no está configurada correctamente, PowerShell muestra el siguiente error cada vez que intenta ejecutar un script, como su perfil.

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

El PowerShell instalador de Tools for Windows actualiza automáticamente la [PSModuleruta](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_psmodulepath) para incluir la ubicación del directorio que contiene el `AWSPowerShell` módulo. 

Como `PSModulePath` incluye la ubicación del directorio del AWS módulo, el `Get-Module -ListAvailable` cmdlet muestra el módulo.

```
PS > Get-Module -ListAvailable

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

## Control de versiones
<a name="pstools-versioning-aws-tools"></a>

AWS publica nuevas versiones del Herramientas de AWS para PowerShell periódicamente para admitir nuevos AWS servicios y funciones. Para determinar la versión de las herramientas que ha instalado, ejecute el AWSPower ShellVersion cmdlet [Get-](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html).

Por ejemplo:

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

También puede agregar el `-ListServiceVersionInfo` parámetro a un AWSPower ShellVersion comando [Get-](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) para ver una lista de los AWS servicios compatibles con la versión actual de las herramientas. Si utiliza la opción de módulos de `AWS.Tools.*`, solo se muestran los módulos que ha importado actualmente.

Por ejemplo:

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

Para determinar la versión PowerShell que está ejecutando, introduzca `$PSVersionTable` para ver el contenido de la [variable automática](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6) \$1 PSVersion Table.

Por ejemplo:

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

## Actualizando el Herramientas de AWS para PowerShell en Windows
<a name="pstools-updating-awstools"></a>

Periódicamente, a medida que Herramientas de AWS para PowerShell se publiquen versiones actualizadas del, debe actualizar la versión que está ejecutando localmente.

### Actualización de módulos de `AWS.Tools` modularizados
<a name="update-the-tools-for-powershell-awstools"></a>

Para actualizar los módulos `AWS.Tools` a la versión más reciente, ejecute el siguiente comando:

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

Este comando actualiza todos los `AWS.Tools` módulos actualmente instalados y, tras una actualización correcta, elimina las versiones anteriores.

**nota**  
El `Update-AWSToolsModule` cmdlet descarga todos los módulos del `PSRepository` nombre `PSGallery` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) y lo considera una fuente de confianza. Use el `Get-PSRepository -Name PSGallery` comando para obtener más información al respecto. `PSRepository`

# Instale AWSPower Shell. NetCore en Windows
<a name="ps-installing-awspowershellnetcore"></a>

Para obtener información general Herramientas de AWS para PowerShell sobre la instalación de en Windows, incluidos los requisitos previos y otras opciones, consulte el [tema principal](pstools-getting-set-up-windows.md).

Para obtener información sobre las herramientas PowerShell que vienen preinstaladas en AWS CloudShell, consulte. [Instalado en CloudShell](pstools-getting-set-up-cloudshell.md)

**nota**  
AWSPowerCarcasa. NetCore no es el método recomendado para instalar el Herramientas de AWS para PowerShell. Para ver el método recomendado, consulte [Instalar `AWS.Tools` (recomendado)](ps-installing-awstools.md) en su lugar.

Puede instalar el AWSPower Shell. NetCore en equipos que ejecutan Windows con las PowerShell versiones 3 a 5.1 o PowerShell Core 6.0 o posterior. Para obtener información acerca de cómo instalar PowerShell Core, consulte [Instalación de varias versiones de PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell) en el PowerShell sitio web de Microsoft.

Puede instalar AWSPower Shell. NetCore de dos maneras
+ Descargando el módulo desde [AWSPowerShell. NetCore.zip](https://sdk-for-net.amazonwebservices.com/ps/v5/latest/AWSPowerShell.NetCore.zip) y extrayéndolo en uno de los directorios del módulo. Puede descubrir cuáles son los directorios del módulo mostrando el valor de la variable de entorno `PSModulePath`.
**aviso**  
Después de descargar el archivo ZIP y antes de extraer el contenido, puede que tengas que desbloquearlo. Por lo general, esto se hace abriendo las propiedades del archivo, consultando la pestaña **General** y activando la casilla **Desbloquear**, si existe alguna.  
Si necesitas desbloquear el archivo ZIP pero no lo haces, es posible que recibas errores similares a los siguientes: «Módulo de importación: no se pudo cargar el archivo o el ensamblaje».
+ Instalación desde la PowerShell Galería mediante el `Install-Module` cmdlet, tal y como se describe en el siguiente procedimiento.

**Para instalar AWSPower Shell. NetCore desde la PowerShell galería mediante el cmdlet Install-Module**

Para instalar el Shell. AWSPower NetCore desde la PowerShell Galería, su ordenador debe ejecutar la PowerShell versión 5.0 o una versión posterior o una versión PowerShell 3 o posterior. [PowerShellGet](https://www.powershellgallery.com/packages/PowerShellGet) Ejecute el siguiente comando.

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

Si se ejecuta PowerShell como administrador, el comando anterior se instala Herramientas de AWS para PowerShell para todos los usuarios del equipo. Si se ejecuta PowerShell como usuario estándar sin permisos de administrador, ese mismo comando se instala solo Herramientas de AWS para PowerShell para el usuario actual.

Para realizar la instalación solo para el usuario actual cuando ese usuario tiene permisos de administrador, ejecute el comando con el conjunto de parámetros `-Scope CurrentUser`, como se indica a continuación.

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

Aunque la PowerShell versión 3.0 y las versiones posteriores suelen cargar módulos en la PowerShell sesión la primera vez que se ejecuta un cmdlet en el módulo, el Shell. AWSPower NetCore el módulo es demasiado grande para admitir esta funcionalidad. En su lugar, debe cargar el AWSPower Shell de forma explícita. NetCore Integre el módulo en su PowerShell sesión ejecutando el siguiente comando.

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

Para cargar el AWSPower Shell. NetCore incorpore el módulo a una PowerShell sesión automáticamente, añada ese comando a su PowerShell perfil. Para obtener más información sobre cómo editar su PowerShell perfil, consulte [Acerca de los perfiles](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_profiles) en la PowerShell documentación.

## Habilitar la ejecución de scripts
<a name="enable-script-execution-ps-core"></a>

Para cargar los Herramientas de AWS para PowerShell módulos, debe habilitar la ejecución del PowerShell script. Para habilitar la ejecución de scripts, ejecute el cmdlet `Set-ExecutionPolicy` para definir la política `RemoteSigned`. Para obtener más información, vea [Acerca de las directivas de ejecución](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies) en el sitio web de Microsoft Technet.

**nota**  
Este es un requisito solo para equipos que ejecutan Windows. La restricción de seguridad de `ExecutionPolicy` no está presente en otros sistemas operativos.

 **Para habilitar la ejecución de scripts** 

1. Se requieren derechos de administrador para definir la política de ejecución. Si no ha iniciado sesión como usuario con derechos de administrador, abra una PowerShell sesión como administrador. Elija **Inicio** y, a continuación, elija **Todos los programas**. Seleccione **Accesorios** y, a continuación, **Windows PowerShell**. Haga clic con el botón derecho en **Windows** y PowerShell, en el menú contextual, seleccione **Ejecutar como administrador**.

1. En el símbolo del sistema, escriba lo siguiente.

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

**nota**  
En un sistema de 64 bits, debe hacerlo por separado para la versión de 32 bits de PowerShell **Windows PowerShell (x86**).

Si la política de ejecución no está configurada correctamente, PowerShell muestra el siguiente error cada vez que intenta ejecutar un script, como su perfil.

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

El PowerShell instalador de Tools for Windows actualiza automáticamente la [PSModuleruta](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_psmodulepath) para incluir la ubicación del directorio que contiene el `AWSPowerShell` módulo. 

Como `PSModulePath` incluye la ubicación del directorio del AWS módulo, el `Get-Module -ListAvailable` cmdlet muestra el módulo.

```
PS > Get-Module -ListAvailable

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

## Control de versiones
<a name="pstools-versioning-ps-core"></a>

AWS publica nuevas versiones del Herramientas de AWS para PowerShell periódicamente para admitir nuevos AWS servicios y funciones. Para determinar la versión de las herramientas que ha instalado, ejecute el AWSPower ShellVersion cmdlet [Get-](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html).

Por ejemplo:

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

También puede agregar el `-ListServiceVersionInfo` parámetro a un AWSPower ShellVersion comando [Get-](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) para ver una lista de los AWS servicios compatibles con la versión actual de las herramientas. Si utiliza la opción de módulos de `AWS.Tools.*`, solo se muestran los módulos que ha importado actualmente.

Por ejemplo:

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

Para determinar la versión PowerShell que está ejecutando, introduzca `$PSVersionTable` para ver el contenido de la [variable automática](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6) \$1 PSVersion Table.

Por ejemplo:

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

## Actualizando el Herramientas de AWS para PowerShell en Windows
<a name="pstools-updating-ps-core"></a>

Periódicamente, a medida que Herramientas de AWS para PowerShell se publiquen versiones actualizadas del, debe actualizar la versión que está ejecutando localmente.

### Actualice las herramientas para PowerShell Core
<a name="update-the-tools-for-powershell-core"></a>

Ejecute el `Get-AWSPowerShellVersion` cmdlet para determinar la versión que está ejecutando y compárela con la versión de Tools para Windows PowerShell que está disponible en el sitio web de [PowerShell Gallery](https://www.powershellgallery.com/packages/AWSPowerShell). Le sugerimos que revise cada dos o tres semanas. Support para nuevos comandos y AWS servicios solo está disponible después de actualizar a una versión con ese soporte.

Antes de instalar una versión más reciente de AWSPower Shell. NetCore, desinstale el módulo existente. Cierre todas PowerShell las sesiones abiertas antes de desinstalar el paquete existente. Ejecute el siguiente comando para desinstalar el paquete.

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

Cuando se haya completado la desinstalación del paquete, instale el módulo actualizado ejecutando el siguiente comando.

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

Tras la instalación, ejecute el comando `Import-Module AWSPowerShell.NetCore` para cargar los cmdlets actualizados en la sesión PowerShell .

# Instalar AWSPower Shell en Windows PowerShell (versión antigua)
<a name="ps-installing-awswindowspowershell"></a>

Para obtener información general Herramientas de AWS para PowerShell sobre la instalación de en Windows, incluidos los requisitos previos y otras opciones, consulte el [tema principal](pstools-getting-set-up-windows.md).

Para obtener información sobre las herramientas PowerShell que vienen preinstaladas en AWS CloudShell, consulte. [Instalado en CloudShell](pstools-getting-set-up-cloudshell.md)

**nota**  
AWSPowerEl shell no es el método recomendado para instalar el Herramientas de AWS para PowerShell. Para ver el método recomendado, consulte [Instalar `AWS.Tools` (recomendado)](ps-installing-awstools.md) en su lugar.

Puede instalarlo AWS Tools for Windows PowerShell de dos maneras:
+ Descargando el módulo de [AWSPowerShell.zip](https://sdk-for-net.amazonwebservices.com/ps/v5/latest/AWSPowerShell.zip) y extrayéndolo en uno de los directorios del módulo. Puede descubrir cuáles son los directorios del módulo mostrando el valor de la variable de entorno `PSModulePath`.
**aviso**  
Tras descargar el archivo ZIP y antes de extraer el contenido, es posible que tenga que desbloquearlo. Por lo general, para ello deberá abrir las propiedades del archivo, hacer clic en la pestaña **General** y activar la casilla **Desbloquear**, si está disponible.  
Si el archivo ZIP debe desbloquearse pero no se hace, podría recibir un error similar al siguiente: “Import-Module: Could not load file or assembly”.
+ Instalación desde la PowerShell Galería mediante el `Install-Module` cmdlet tal y como se describe en el siguiente procedimiento.

**Para instalar AWSPower Shell desde la PowerShell galería mediante el cmdlet Install-Module**

Puede instalar el AWSPower Shell desde la PowerShell Galería si está ejecutando la PowerShell versión 5.0 o una versión posterior, o si ha [PowerShellGet](https://www.powershellgallery.com/packages/PowerShellGet)instalado PowerShell la versión 3 o una versión posterior. Puede instalar y actualizar AWSPower Shell desde la [PowerShellGalería](https://www.powershellgallery.com/packages/AWSPowerShell) de Microsoft ejecutando el siguiente comando.

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

Para cargar automáticamente el módulo AWSPower Shell en una PowerShell sesión, añada el `import-module` cmdlet anterior a su PowerShell perfil. Para obtener más información sobre cómo editar su PowerShell perfil, consulte [Acerca de los perfiles](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-6) en la PowerShell documentación.

## Habilitar la ejecución de scripts
<a name="enable-script-execution-windows-ps"></a>

Para cargar los Herramientas de AWS para PowerShell módulos, debe habilitar la ejecución del PowerShell script. Para habilitar la ejecución de scripts, ejecute el cmdlet `Set-ExecutionPolicy` para definir la política `RemoteSigned`. Para obtener más información, vea [Acerca de las directivas de ejecución](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies) en el sitio web de Microsoft Technet.

**nota**  
Este es un requisito solo para equipos que ejecutan Windows. La restricción de seguridad de `ExecutionPolicy` no está presente en otros sistemas operativos.

 **Para habilitar la ejecución de scripts** 

1. Se requieren derechos de administrador para definir la política de ejecución. Si no ha iniciado sesión como usuario con derechos de administrador, abra una PowerShell sesión como administrador. Elija **Inicio** y, a continuación, elija **Todos los programas**. Seleccione **Accesorios** y, a continuación, **Windows PowerShell**. Haga clic con el botón derecho en **Windows** y PowerShell, en el menú contextual, seleccione **Ejecutar como administrador**.

1. En el símbolo del sistema, escriba lo siguiente.

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

**nota**  
En un sistema de 64 bits, debe hacerlo por separado para la versión de 32 bits de PowerShell **Windows PowerShell (x86**).

Si la política de ejecución no está configurada correctamente, PowerShell muestra el siguiente error cada vez que intenta ejecutar un script, como su perfil.

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

El PowerShell instalador de Tools for Windows actualiza automáticamente la [PSModuleruta](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_psmodulepath) para incluir la ubicación del directorio que contiene el `AWSPowerShell` módulo. 

Como `PSModulePath` incluye la ubicación del directorio del AWS módulo, el `Get-Module -ListAvailable` cmdlet muestra el módulo.

```
PS > Get-Module -ListAvailable

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

## Control de versiones
<a name="pstools-versioning-windows-ps"></a>

AWS publica nuevas versiones del Herramientas de AWS para PowerShell periódicamente para admitir nuevos AWS servicios y funciones. Para determinar la versión de las herramientas que ha instalado, ejecute el AWSPower ShellVersion cmdlet [Get-](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html).

Por ejemplo:

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

También puede agregar el `-ListServiceVersionInfo` parámetro a un AWSPower ShellVersion comando [Get-](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html) para ver una lista de los AWS servicios compatibles con la versión actual de las herramientas. Si utiliza la opción de módulos de `AWS.Tools.*`, solo se muestran los módulos que ha importado actualmente.

Por ejemplo:

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

Para determinar la versión PowerShell que está ejecutando, introduzca `$PSVersionTable` para ver el contenido de la [variable automática](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6) \$1 PSVersion Table.

Por ejemplo:

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

## Actualizando el Herramientas de AWS para PowerShell en Windows
<a name="pstools-updating-windows-ps"></a>

Periódicamente, a medida que Herramientas de AWS para PowerShell se publiquen versiones actualizadas del, debe actualizar la versión que está ejecutando localmente.

### Actualice las herramientas para Windows PowerShell
<a name="update-the-tools-for-windows-powershell"></a>

Ejecute el `Get-AWSPowerShellVersion` cmdlet para determinar la versión que está ejecutando y compárela con la versión de Herramientas para Windows PowerShell que está disponible en el sitio web de la [PowerShell Galería](https://www.powershellgallery.com/packages/AWSPowerShell). Le sugerimos que revise cada dos o tres semanas. Support para nuevos comandos y AWS servicios solo está disponible después de actualizar a una versión con ese soporte.
+ Si realizó la instalación mediante el cmdlet `Install-Module`, ejecute los siguientes comandos.

  ```
  PS > Uninstall-Module -Name AWSPowerShell -AllVersions
  PS > Install-Module -Name AWSPowerShell
  ```
+ Si realizó la instalación mediante un archivo ZIP descargado:

  1. Descargue la versión más reciente del sitio PowerShell web [Herramientas para](https://aws.amazon.com/powershell/). Compare el número de versión del paquete en el nombre del archivo descargado con el número de versión que obtiene cuando se ejecuta el cmdlet `Get-AWSPowerShellVersion`.

  1. Si el número de la versión de descarga es superior al de la versión que ha instalado, cierre todas las PowerShell consolas de Herramientas para Windows.

  1. Instale la versión más reciente de las Herramientas para Windows PowerShell.

Tras la instalación, ejecútelo `Import-Module AWSPowerShell` para cargar los cmdlets actualizados en su PowerShell sesión. O bien, ejecute la Herramientas de AWS para PowerShell consola personalizada desde el menú **Inicio**.

# Instalación Herramientas de AWS para PowerShell en Linux o macOS
<a name="pstools-getting-set-up-linux-mac"></a>

Para obtener información sobre las herramientas PowerShell que vienen preinstaladas en AWS CloudShell, consulte[Instalado en CloudShell](pstools-getting-set-up-cloudshell.md).

Para instalarlo Herramientas de AWS para PowerShell en un ordenador Linux o macOS, puede elegir entre dos opciones de paquetes:
+ [**`AWS.Tools`**](install-aws.tools-on-linux-macos.md)— La versión modularizada de. Herramientas de AWS para PowerShell Cada AWS servicio está respaldado por su propio módulo pequeño e individual, con módulos de soporte compartidos. `AWS.Tools.Common`
+ [**AWSPowerConcha. NetCore**](install-netcore-on-linux-macos.md) — La versión única de módulos grandes de Herramientas de AWS para PowerShell. Todos los AWS servicios son compatibles con este módulo único y grande.
**nota**  
Tenga en cuenta que el módulo individual puede ser demasiado grande para usarlo con funciones de [AWS Lambda](https://aws.amazon.com/lambda/). En su lugar, utilice la versión modularizada que se muestra arriba.

La configuración de cualquiera de estas opciones en un ordenador con Linux o macOS implica las siguientes tareas, que se describen en detalle en los temas siguientes:

1. Instale PowerShell Core 6.0 o una versión posterior en un sistema compatible.

1. Tras instalar PowerShell Core, empiece PowerShell por ejecutarlo `pwsh` en el shell del sistema.

1. Instale uno de `AWS.Tools` ellos o AWSPower Shell. NetCore.

1. Ejecute el `Import-Module` cmdlet correspondiente para importar el módulo a la sesión PowerShell.

1. Ejecute el cmdlet [Initialize- AWSDefault Configuration](https://docs.aws.amazon.com/powershell/v5/reference/items/Initialize-AWSDefaultConfiguration.html) para proporcionar sus credenciales. AWS 

## Requisitos previos
<a name="prerequisites"></a>

Para ejecutarlo AWS Tools for PowerShell Core, su equipo debe ejecutar PowerShell Core 6.0 o una versión posterior. 
+ Para obtener una lista de las versiones de la plataforma Linux compatibles y obtener información sobre cómo instalar la última versión de PowerShell en un equipo basado en Linux, consulte [Instalación PowerShell en Linux en el sitio web](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux) de Microsoft. Algunos sistemas operativos basados en Linux, como Arch, Kali y Raspbian, no se admiten oficialmente, pero reciben diversos grados de soporte de la comunidad.
+ Para obtener información sobre las versiones de macOS compatibles y sobre cómo instalar la última versión de PowerShell en macOS, consulta [Instalación PowerShell en macOS](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-macos) en el sitio web de Microsoft.

**Topics**
+ [Requisitos previos](#prerequisites)
+ [Instalar `AWS.Tools` (recomendado)](install-aws.tools-on-linux-macos.md)
+ [Instale AWSPower Shell. NetCore](install-netcore-on-linux-macos.md)

# Instalar `AWS.Tools` en Linux o macOS (recomendado)
<a name="install-aws.tools-on-linux-macos"></a>

Para obtener información general Herramientas de AWS para PowerShell sobre la instalación en Linux o macOS, incluidos los requisitos previos y otras opciones, consulte el [tema principal](pstools-getting-set-up-linux-mac.md).

Para obtener información sobre las herramientas PowerShell que vienen preinstaladas en AWS CloudShell, consulte. [Instalado en CloudShell](pstools-getting-set-up-cloudshell.md)

Puede instalar la versión modularizada de Herramientas de AWS para PowerShell en equipos que ejecuten PowerShell Core 6.0 o una versión posterior. Para obtener información acerca de cómo instalar PowerShell Core, consulte [Instalación de varias versiones de PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell) en el PowerShell sitio web de Microsoft.

Puede instalar `AWS.Tools` de tres maneras:
+ Utilizando los cmdlets del módulo `AWS.Tools.Installer`. Este módulo simplifica la instalación y la actualización de otros módulos de `AWS.Tools`. Como `AWS.Tools.Installer` necesita una versión actualizada de `PowerShellGet`, la descarga e instala automáticamente. Además, `AWS.Tools.Installer` mantiene automáticamente las versiones de tus módulos sincronizadas. Cuando se instala un módulo o se actualiza a una versión más reciente, los cmdlets de `AWS.Tools.Installer` actualizan automáticamente todos los demás módulos de `AWS.Tools` a la misma versión.

  Este método se describe en el siguiente procedimiento.
+ Descargando los módulos de `[AWS.Tools.zip](https://sdk-for-net.amazonwebservices.com/ps/v5/latest/AWS.Tools.zip)` y extrayéndolos en uno de los directorios del módulo. Para saber cuáles son los directorios del módulo, puede imprimir el valor de la variable `$Env:PSModulePath`.
+ Instalar cada módulo de servicio de la PowerShell Galería mediante el `Install-Module` cmdlet.

**Cómo instalar `AWS.Tools` en Linux o macOS con el módulo de `AWS.Tools.Installer`**

1. Inicie una sesión PowerShell básica ejecutando el siguiente comando.

   ```
   $ pwsh
   ```
**nota**  
Te recomendamos que *no* te postules PowerShell como administrador con permisos elevados, excepto cuando lo exija la tarea en cuestión. Esto puede suponer un riesgo para la seguridad y no se atiene al principio de privilegios mínimos.

1. Para instalar el paquete de varios módulos de `AWS.Tools` con el módulo `AWS.Tools.Installer`, ejecute el siguiente comando.

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

   Si se te notifica que el repositorio «no es de confianza», se te preguntará si deseas instalarlo de todos modos. Introduzca **y** para PowerShell permitir la instalación del módulo. Para evitar que aparezca el mensaje e instalar el módulo sin confiar en el repositorio, puede ejecutar el siguiente comando.

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

1. Ahora puede instalar el módulo para cada servicio que desee utilizar. Por ejemplo, el siguiente comando instala los módulos de Amazon EC2 y Amazon S3. Este comando también instala los módulos dependientes necesarios para que el módulo especificado funcione. Por ejemplo, cuando instala el primer módulo de servicio `AWS.Tools`, también se instala `AWS.Tools.Common`. Es un módulo compartido que todos los módulos de servicio de AWS necesitan. También elimina las versiones anteriores de los módulos y actualiza otros módulos a la misma versión.

   ```
   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
   ```
**nota**  
El `Install-AWSToolsModule` cmdlet descarga todos los módulos solicitados del `PSRepository` nombre `PSGallery` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) y considera el repositorio como una fuente de confianza. Utilice el comando `Get-PSRepository -Name PSGallery` para obtener más información sobre este repositorio de `PSRepository`.

   El comando anterior instala los módulos en los directorios predeterminados del sistema. Los directorios reales dependen de la distribución y la versión del sistema operativo y de la versión PowerShell que haya instalado. Por ejemplo, si instaló PowerShell 7 en un sistema similar a RHEL, lo más probable es que los módulos predeterminados estén ubicados en `/opt/microsoft/powershell/7/Modules` (o`$PSHOME/Modules`) y los módulos de usuario probablemente estén ubicados en. `~/.local/share/powershell/Modules` Para obtener más información, consulte [Instalar PowerShell en Linux](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-linux) en el PowerShell sitio web de Microsoft. Para ver dónde están instalados los módulos, ejecute el siguiente comando:

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

   Para instalar otros módulos, ejecute comandos similares con los nombres de módulo correspondientes, tal y como se encuentra en la [PowerShell Galería](https://www.powershellgallery.com/packages?q=aws).

## Ejecución de scripts
<a name="enable-script-execution-aws-tools"></a>

El comando `Set-ExecutionPolicy` no está disponible en los sistemas que no son Windows. Puede ejecutar`Get-ExecutionPolicy`, lo que demuestra que la configuración de política de ejecución predeterminada en PowerShell Core que se ejecuta en sistemas que no son Windows es`Unrestricted`. Para obtener más información, vea [Acerca de las directivas de ejecución](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-5.1) en el sitio web de Microsoft Technet.

 Como `PSModulePath` incluye la ubicación del directorio del AWS módulo, el `Get-Module -ListAvailable` cmdlet muestra el módulo que ha instalado.

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

## Inicialice la sesión PowerShell
<a name="linux-config-init-aws-tools"></a>

Cuando inicie PowerShell en un sistema basado en Linux o macOS después de haber instalado el Herramientas de AWS para PowerShell, debe ejecutar [Initialize- AWSDefault Configuration](https://docs.aws.amazon.com/powershell/v5/reference/items/Initialize-AWSDefaultConfiguration.html) para especificar qué clave de acceso usar. AWS Para obtener más información acerca de `Initialize-AWSDefaultConfiguration`, consulte [Uso de AWS credenciales](specifying-your-aws-credentials.md).

**nota**  
En versiones anteriores (anteriores a la 3.3.96.0) del, este cmdlet recibía el nombre. Herramientas de AWS para PowerShell`Initialize-AWSDefaults`

## Control de versiones
<a name="pstools-versioning-aws-tools"></a>

AWS publica nuevas versiones del Herramientas de AWS para PowerShell periódicamente para admitir nuevos servicios y características. AWS Para determinar la versión Herramientas de AWS para PowerShell que ha instalado, ejecute el AWSPower ShellVersion cmdlet [Get-](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html).

Por ejemplo:

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

Para ver una lista de los AWS servicios compatibles en la versión actual de las herramientas, agregue el `-ListServiceVersionInfo` parámetro a un cmdlet [Get- AWSPower ShellVersion](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html).

Para determinar la versión PowerShell que está ejecutando, escriba `$PSVersionTable` para ver el contenido de la variable `$PSVersionTable` [automática](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6).

Por ejemplo:

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

## Actualización del Herramientas de AWS para PowerShell en Linux o macOS
<a name="pstools-updating-linux-aws-tools"></a>

Periódicamente, a medida que Herramientas de AWS para PowerShell se publiquen versiones actualizadas del, debe actualizar la versión que está ejecutando localmente. 

### Actualización de módulos de `AWS.Tools` modularizados
<a name="update-aws.tools-all-systems"></a>

Para actualizar los módulos `AWS.Tools` a la versión más reciente, ejecute el siguiente comando:

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

Este comando actualiza todos los `AWS.Tools` módulos actualmente instalados y, tras una actualización correcta, elimina las versiones anteriores.

**nota**  
El `Update-AWSToolsModule` cmdlet descarga todos los módulos del `PSRepository` nombre `PSGallery` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) y lo considera una fuente de confianza. Use el `Get-PSRepository -Name PSGallery` comando para obtener más información al respecto. `PSRepository`

## Información relacionada
<a name="pstools-seealso-setup-aws-tools"></a>
+  [Configuración y uso del Herramientas de AWS para PowerShell](pstools-getting-started.md) 
+  [AWS Servicios de llamadas en el Herramientas de AWS para PowerShell](pstools-using.md) 

# Instale AWSPower Shell. NetCore en Linux o macOS
<a name="install-netcore-on-linux-macos"></a>

Para obtener información general Herramientas de AWS para PowerShell sobre la instalación en Linux o macOS, incluidos los requisitos previos y otras opciones, consulte el [tema principal](pstools-getting-set-up-linux-mac.md).

Para obtener información sobre las herramientas PowerShell que vienen preinstaladas en AWS CloudShell, consulte. [Instalado en CloudShell](pstools-getting-set-up-cloudshell.md)

**nota**  
AWSPowerCarcasa. NetCore no es el método recomendado para instalar el Herramientas de AWS para PowerShell. Para ver el método recomendado, consulte [Instalar `AWS.Tools` (recomendado)](install-aws.tools-on-linux-macos.md) en su lugar.

Para actualizar a una versión más reciente de AWSPower Shell. NetCore, siga las instrucciones que se indican en[Actualización del Herramientas de AWS para PowerShell en Linux o macOS](#pstools-updating-linux-netcore). Desinstale las versiones anteriores de AWSPower Shell. NetCore primero.

Puede instalar AWSPower Shell. NetCore de dos maneras:
+ Descargando el módulo de `[AWSPowerShell.NetCore.zip](https://sdk-for-net.amazonwebservices.com/ps/v5/latest/AWSPowerShell.NetCore.zip)` y extrayéndolo en uno de los directorios del módulo. Para saber cuáles son los directorios del módulo, puede imprimir el valor de la variable `$Env:PSModulePath`.
+ Instalación desde la PowerShell Galería mediante el `Install-Module` cmdlet tal y como se describe en el siguiente procedimiento.

**Para instalar AWSPower Shell. NetCore en Linux o macOS mediante el cmdlet Install-Module**

Inicie una sesión de PowerShell Core ejecutando el siguiente comando.

```
$ pwsh
```

**nota**  
Te recomendamos que *no* empieces PowerShell por correr `sudo pwsh` para correr PowerShell con derechos de administrador elevados. Esto puede suponer un riesgo para la seguridad y no se atiene al principio de privilegios mínimos.

Para instalar el AWSPower Shell. NetCore paquete de un solo módulo de la PowerShell Galería, ejecute el siguiente comando.

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

Si se le notifica que el repositorio «no es de confianza», se le preguntará si desea instalarlo de todos modos. Introduzca **y** para PowerShell permitir la instalación del módulo. Para evitar que aparezca el mensaje que indica que el repositorio no es de confianza, puede ejecutar el siguiente comando.

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

No tiene que ejecutar este comando como root, a menos que desee instalarlo Herramientas de AWS para PowerShell para todos los usuarios de un equipo. Para ello, ejecute el siguiente comando en una PowerShell sesión con la que haya empezado`sudo pwsh`.

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

## Ejecución de scripts
<a name="enable-script-execution-netcore"></a>

El comando `Set-ExecutionPolicy` no está disponible en los sistemas que no son Windows. Puede ejecutar`Get-ExecutionPolicy`, lo que demuestra que la configuración de política de ejecución predeterminada en PowerShell Core que se ejecuta en sistemas que no son Windows es`Unrestricted`. Para obtener más información, vea [Acerca de las directivas de ejecución](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-5.1) en el sitio web de Microsoft Technet.

 Como `PSModulePath` incluye la ubicación del directorio del AWS módulo, el `Get-Module -ListAvailable` cmdlet muestra el módulo que ha instalado.

**AWSPowerConcha. NetCore**

```
PS > Get-Module -ListAvailable

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

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

## Configure una PowerShell consola para usar el AWS Tools for PowerShell Core (AWSPowerShell). NetCore (Solo)
<a name="pstools-config-ps-window-netcore"></a>

PowerShell Por lo general, Core carga los módulos automáticamente cada vez que se ejecuta un cmdlet en el módulo. Pero esto no funciona para AWSPower Shell. NetCore debido a su gran tamaño. Para empezar a ejecutar AWSPower Shell. NetCore cmdlets, primero debe ejecutar el `Import-Module AWSPowerShell.NetCore` comando. Esto no es necesario en los cmdlets de los módulos `AWS.Tools`.

## Inicialice su sesión PowerShell
<a name="linux-config-init-netcore"></a>

Cuando inicie PowerShell en un sistema basado en Linux o macOS después de haber instalado el Herramientas de AWS para PowerShell, debe ejecutar [Initialize- AWSDefault Configuration](https://docs.aws.amazon.com/powershell/v5/reference/items/Initialize-AWSDefaultConfiguration.html) para especificar qué clave de acceso usar. AWS Para obtener más información acerca de `Initialize-AWSDefaultConfiguration`, consulte [Uso de AWS credenciales](specifying-your-aws-credentials.md).

**nota**  
En versiones anteriores (anteriores a la 3.3.96.0) del, este cmdlet recibía el nombre. Herramientas de AWS para PowerShell`Initialize-AWSDefaults`

## Control de versiones
<a name="pstools-versioning-netcore"></a>

AWS publica nuevas versiones del Herramientas de AWS para PowerShell periódicamente para admitir nuevos servicios y características. AWS Para determinar la versión Herramientas de AWS para PowerShell que ha instalado, ejecute el AWSPower ShellVersion cmdlet [Get-](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html).

Por ejemplo:

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

Para ver una lista de los AWS servicios compatibles en la versión actual de las herramientas, agregue el `-ListServiceVersionInfo` parámetro a un cmdlet [Get- AWSPower ShellVersion](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSPowerShellVersion.html).

Para determinar la versión PowerShell que está ejecutando, escriba `$PSVersionTable` para ver el contenido de la variable `$PSVersionTable` [automática](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6).

Por ejemplo:

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

## Actualización del Herramientas de AWS para PowerShell en Linux o macOS
<a name="pstools-updating-linux-netcore"></a>

Periódicamente, a medida que Herramientas de AWS para PowerShell se publiquen versiones actualizadas del, debe actualizar la versión que está ejecutando localmente. 

### Actualice las herramientas para PowerShell Core
<a name="update-netcore-all-systems"></a>

Ejecute el `Get-AWSPowerShellVersion` cmdlet para determinar la versión que está ejecutando y compárela con la versión de Tools para Windows PowerShell que está disponible en el sitio web de [PowerShell Gallery](https://www.powershellgallery.com/packages/AWSPowerShell). Le sugerimos que revise cada dos o tres semanas. Support para nuevos comandos y AWS servicios solo está disponible después de actualizar a una versión con ese soporte.

Antes de instalar una versión más reciente de AWSPower Shell. NetCore, desinstale el módulo existente. Cierre todas PowerShell las sesiones abiertas antes de desinstalar el paquete existente. Ejecute el siguiente comando para desinstalar el paquete.

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

Cuando se haya completado la desinstalación del paquete, instale el módulo actualizado ejecutando el siguiente comando.

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

Tras la instalación, ejecute el comando `Import-Module AWSPowerShell.NetCore` para cargar los cmdlets actualizados en la sesión PowerShell .

## Información relacionada
<a name="pstools-seealso-setup-netcore"></a>
+  [Configuración y uso del Herramientas de AWS para PowerShell](pstools-getting-started.md) 
+  [AWS Servicios de llamadas en el Herramientas de AWS para PowerShell](pstools-using.md) 

# Autenticar el con Herramientas de AWS para PowerShell AWS
<a name="creds-idc"></a>

Debes establecer cómo se autentica tu código AWS al desarrollar con. Servicios de AWS Existen diferentes formas de configurar el acceso programático a AWS los recursos, según el entorno y el AWS acceso del que dispongas.

Para ver los distintos métodos de autenticación de las Herramientas PowerShell, consulte [Autenticación y acceso](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) en la *AWS SDKs Guía de referencia de las herramientas*.

En este tema se presupone que un nuevo usuario se está desarrollando a nivel local, que su empleador no le ha proporcionado un método de autenticación y que lo utilizará AWS IAM Identity Center para obtener credenciales temporales. Si el entorno no se basa en estos supuestos, es posible que parte de la información de este tema no se aplique a su caso o que ya se le haya proporcionado parte de la información.

La configuración de este entorno requiere varios pasos, que se resumen de la siguiente manera:

1. [Inicie sesión con las credenciales de la consola](#login-con-creds)

1. [Habilitar y configurar el Centro de identidades de IAM](#idc-config-sso)

1. [Configure las herramientas PowerShell para utilizar el Centro de identidades de IAM.](#idc-config-sdk)

1. [Inicie una sesión en el portal de AWS acceso](#idc-start-portal)

## Inicie sesión con las credenciales de la consola
<a name="login-con-creds"></a>

Puede utilizar sus credenciales de inicio de sesión AWS de Management Console actuales para acceder mediante programación a. Servicios de AWS Tras un flujo de autenticación basado en un navegador, Herramientas de AWS para PowerShell genera credenciales temporales que funcionan en todas las herramientas de desarrollo locales, como, y. AWS SDKs Herramientas de AWS para PowerShell AWS CLI Esta característica simplifica el proceso de configuración y administración de las credenciales de CLI, especialmente si prefiere la autenticación interactiva en lugar de administrar las claves de acceso a largo plazo.

Con este proceso, puede autenticarse con las credenciales raíz creadas durante la configuración inicial de la cuenta, un usuario de IAM o una identidad federada de su proveedor de identidad, y Tools for administra PowerShell automáticamente las credenciales temporales por usted. Este enfoque mejora la seguridad al eliminar la necesidad de almacenar localmente las credenciales a largo plazo.

Al ejecutar el `Invoke-AWSLogin` cmdlet, puede seleccionar una de las sesiones de consola activas o iniciar sesión mediante el flujo de autenticación basado en el navegador, lo que generará credenciales temporales automáticamente. Herramientas de AWS para PowerShell actualizará automáticamente estas credenciales durante un máximo de 12 horas.

Una vez configurada, la sesión se puede utilizar en Herramientas de AWS para PowerShell todas AWS SDKs las demás herramientas.

### Requisitos previos
<a name="idc-invoke-login-prerequisites"></a>
+ Acceda para iniciar sesión en la consola AWS de administración como usuario raíz, usuario de IAM o mediante una federación con IAM. Si utiliza IAM Identity Center, vaya a [Configure las herramientas PowerShell para utilizar el Centro de identidades de IAM.](#idc-config-sdk) en su lugar.
+ Asegúrese de que la identidad de IAM tiene los permisos adecuados. Adjunta la política [SignInLocalDevelopmentAccess](https://docs.aws.amazon.com/signin/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-SignInLocalDevelopmentAccess)gestionada a tu usuario, rol o grupo de IAM. Si inicia sesión como usuario raíz, no se requieren permisos adicionales.

### Inicie sesión AWS con el cmdlet Invoke- AWSLogin
<a name="idc-invoke-login"></a>

Ejecute el `Invoke-AWSLogin` cmdlet para autenticarse con las credenciales de la consola de administración existentes. AWS Si no ha configurado un perfil anteriormente, se le solicitará información adicional.

Para iniciar sesión o configurar un perfil siga los pasos que se indican a continuación.

1. Asegúrese de haber importado el módulo correcto que ha instalado desde la guía de instalación. 
**nota**  
Tenemos tres módulos diferentes para PowerShell -`AWS.Tools`, `AWSPowerShell.NetCore` y`AWSPowerShell`. Para obtener más información, consulte [¿Qué son las Herramientas de AWS para PowerShell?](pstools-welcome.md).
   + En su PowerShell terminal, ejecute el cmdlet. Esto usará el perfil. `default`

     ```
     PS > Invoke-AWSLogin
     ```
   + Para iniciar sesión en un perfil con nombre o crear uno nuevo, utilice el `-ProfileName` parámetro.

     ```
     PS > Invoke-AWSLogin -ProfileName 'my-dev-profile'
     ```
   + Si se trata de un perfil nuevo o no se Región de AWS ha especificado ni configurado en ninguna de profiles/environment las variables anteriores, el cmdlet le pedirá que proporcione una región.

     ```
     Press Ctrl+C to cancel the following login prompts.
     
     Specify AWS Region
     No AWS region has been configured. The AWS region is the geographic location of your AWS resources.
     
     If you've used AWS before and already have resources in your account, tell us which region they were created in. If you
      haven't created resources in your account before, you can pick the region closest to you:
     https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html
     
     AWS Region:
     ```

1.  Herramientas de AWS para PowerShell Intenta abrir el navegador predeterminado para el proceso de inicio de sesión de tu cuenta. AWS 

   ```
   Using region 'us-west-2'
   Attempting to open the login page for 'us-west-2' in your default browser.
   If the browser does not open, use the following URL to complete your login:
   https://signin.us-west-2.amazonaws.com/authorize?<abbreviated>
   
   If you cannot connect to this URL, make sure that you have specified a valid region.
   ```
   + Si el dispositivo que utiliza Herramientas de AWS para PowerShell no tiene un navegador, puede usar el `-Remote` parámetro para proporcionar una URL para abrirla en un dispositivo con navegador.

     ```
     PS > Invoke-AWSLogin -Remote
     ```
   + Si ha utilizado el `-Remote` parámetro, se muestran las instrucciones para iniciar manualmente el proceso de inicio de sesión en función del tipo de autorización que utilice. La URL que se muestra es una URL única que comienza por: https://signin.us-east-1.amazonaws.com /authorize. Una vez que haya iniciado sesión en el navegador, tendrá que volver a copiar y pegar el código de autorización resultante en el terminal.

     ```
     Press Ctrl+C to cancel the following login prompts.
     Using region 'us-west-2' determined by profile/environment defaults. To override, specify '-Region' parameter.
     Please complete the login workflow via the following URL:
     
     https://us-west-2.signin.aws.amazon.com/v1/authorize?<abbrievated>
     
     Please enter the authorization code displayed in the browser:
     ```

1. En el navegador, seleccione las credenciales que desee utilizar en la lista que se muestra y, a continuación, vuelva al terminal.
   + Si el perfil que está configurando tiene una sesión de inicio de sesión previamente configurada que no coincide con la nueva sesión, le Herramientas de AWS para PowerShell pedirá que confirme que está cambiando la sesión que corresponde al perfil existente.

     ```
     WARNING: Previously profile default was configured for arn:aws:iam::0123456789012:user/ReadOnly, 
                     and is now being updated to arn:aws:iam::0123456789012:user/Admin. 
     
     Do you wish to change the identity that default is associated with? (y/n)
     ```

1. Un mensaje final describe la configuración del perfil completada.

   ```
   Login completed successfully for profile 'my-dev-profile'.
   ```

   El token de autenticación se almacena en caché en el disco debajo del. aws/login/cachedirectorio con un nombre de archivo hash basado en el perfil resuelto.

#### Archivo de configuración generado
<a name="idc-generated-config"></a>

Estos pasos dan como resultado la creación del perfil predeterminado o especificado en el archivo de configuración, que tiene el siguiente aspecto:

```
[default]
login_session = arn:aws:iam::0123456789012:user/username
region = us-east-1

[my-dev-profile]
login_session = arn:aws:iam::0123456789012:user/username
region = us-east-1
```

#### Ejecución de un comando con el perfil
<a name="idc-run-command"></a>

Una vez que haya iniciado sesión, puede usar sus credenciales para invocar Tools for PowerShell cmdlets con el perfil asociado. En el siguiente ejemplo, se llama al `Get-STSCallerIdentity` cmdlet mediante el perfil predeterminado:

```
PS > Get-STSCallerIdentity
```

Para comprobar si hay una sesión específica, utilice el `-ProfileName` parámetro.

```
PS > Get-STSCallerIdentity -ProfileName 'my-dev-profile'
```

El token de credenciales temporal caducará en 15 minutos, pero lo SDKs actualizará automáticamente cuando lo necesites durante tus solicitudes. Herramientas de AWS para PowerShell La sesión general será válida durante un máximo de 12 horas, tras las cuales deberá volver a ejecutar el `Invoke-AWSLogin` cmdlet.

#### Cerrar sesión con el cmdlet `Invoke-AWSLogout`
<a name="idc-logout"></a>

Cuando termine la sesión, puede dejar que sus credenciales caduquen o ejecutar el `Invoke-AWSLogout` cmdlet para eliminar las credenciales almacenadas en caché. Si no se especifica ningún perfil en la CLI o en la variable de AWS\$1PROFILE entorno, el comando cierra la sesión del perfil predeterminado. En el ejemplo siguiente, se cierra la sesión del perfil predeterminado.

```
PS > Invoke-AWSLogout
```

Para cerrar sesión en una sesión de perfil específica, utilice el `-ProfileName` parámetro.

```
PS > Invoke-AWSLogout -ProfileName 'my-dev-profile'
```

Para cerrar sesión en todas las sesiones de perfil en las que hayas iniciado sesión, usa el `-All` parámetro.

```
PS > Invoke-AWSLogout -All
```

#### Credenciales almacenadas en caché
<a name="idc-cached-credentials"></a>

Las credenciales temporales en caché, así como los metadatos necesarios para actualizarlas, se almacenan de forma predeterminada en `%USERPROFILE%\.aws\login\cache` Windows o `~/.aws/login/cache` en Linux y macOS.

Puede anular esta ubicación configurando la variable de `AWS_LOGIN_CACHE_DIRECTORY` entorno.

## Habilitar y configurar el Centro de identidades de IAM
<a name="idc-config-sso"></a>

Para usarla AWS IAM Identity Center, primero debe estar habilitada y configurada. Para obtener más información sobre cómo hacerlo PowerShell, consulte el **paso 1** del tema sobre la [autenticación del Centro de Identidad de IAM](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html) en la *Guía de referencia de herramientas AWS SDKs y herramientas*. En concreto, siga las instrucciones necesarias en **No he establecido el acceso a través del Centro de identidades de IAM**.

## Configure las herramientas PowerShell para utilizar el Centro de identidades de IAM.
<a name="idc-config-sdk"></a>

**nota**  
A partir de la versión 4.1.538 de Tools for PowerShell, el método recomendado para configurar las credenciales de SSO e iniciar una sesión en el portal de AWS acceso es utilizar los [https://docs.aws.amazon.com/powershell/v5/reference/index.html?page=Invoke-AWSSSOLogin.html&tocid=Invoke-AWSSSOLogin](https://docs.aws.amazon.com/powershell/v5/reference/index.html?page=Invoke-AWSSSOLogin.html&tocid=Invoke-AWSSSOLogin)cmdlets y, tal [https://docs.aws.amazon.com/powershell/v5/reference/index.html?page=Initialize-AWSSSOConfiguration.html&tocid=Initialize-AWSSSOConfiguration](https://docs.aws.amazon.com/powershell/v5/reference/index.html?page=Initialize-AWSSSOConfiguration.html&tocid=Initialize-AWSSSOConfiguration)y como se describe en este tema. Si no tiene acceso a esa versión de Tools for PowerShell (o posterior) o no puede usar esos cmdlets, puede seguir realizando estas tareas mediante el. AWS CLI Para saber cómo hacerlo, consulte [Utilice el AWS CLI para iniciar sesión en el portal](creds-idc-cli.md).

El siguiente procedimiento actualiza el AWS `config` archivo compartido con la información de SSO que Tools for PowerShell utiliza para obtener credenciales temporales. Como consecuencia de este procedimiento, también se inicia una sesión en el portal de AWS acceso. Si el `config` archivo compartido ya contiene información sobre el inicio de sesión único y solo quiere saber cómo iniciar una sesión en el portal de acceso mediante las Herramientas PowerShell, consulte la siguiente sección de este tema. [Inicie una sesión en el portal de AWS acceso](#idc-start-portal)

1. Si aún no lo ha hecho, ábralo PowerShell e instálelo según Herramientas de AWS para PowerShell corresponda a su sistema operativo y entorno, incluidos los cmdlets más comunes. Para obtener información acerca de cómo hacerlo, consulte [Comience con el Herramientas de AWS para PowerShell](pstools-getting-set-up.md).

   Por ejemplo, si instala la versión modularizada de las Herramientas para PowerShell Windows, lo más probable es que ejecute comandos similares a los siguientes:

   ```
   Install-Module -Name AWS.Tools.Installer
   Install-AWSToolsModule AWS.Tools.Common
   ```

1. Ejecute el comando siguiente. Sustituya los valores de propiedad del ejemplo por los valores de su configuración de IAM Identity Center. Para obtener información sobre estas propiedades y cómo encontrarlas, consulte la [configuración del proveedor de credenciales del IAM Identity Center](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html#feature-sso-credentials-profile) en la Guía de referencia de herramientas *AWS SDKs y* herramientas.

   ```
   $params = @{
     ProfileName = 'my-sso-profile'
     AccountId = '111122223333'
     RoleName = 'SamplePermissionSet'
     SessionName = 'my-sso-session'
     StartUrl = 'https://provided-domain.awsapps.com/start'
     SSORegion = 'us-west-2'
     RegistrationScopes = 'sso:account:access'
   };
   Initialize-AWSSSOConfiguration @params
   ```

   Como alternativa, puede utilizar el cmdlet por sí solo y las herramientas PowerShell le solicitarán los valores de las propiedades. `Initialize-AWSSSOConfiguration`

   Consideraciones sobre determinados valores de propiedad:
   + Si simplemente ha seguido las instrucciones para [habilitar y configurar IAM Identity Center](#idc-config-sso), el valor de `-RoleName` podría ser `PowerUserAccess`. Sin embargo, si ha creado un conjunto de permisos del Centro de Identidad de IAM específicamente para PowerShell trabajar, utilícelo en su lugar.
   + Asegúrese de usar el Región de AWS lugar donde configuró el Centro de identidades de IAM.

1. En este punto, el AWS `config` archivo compartido contiene un perfil llamado `my-sso-profile` con un conjunto de valores de configuración a los que se puede hacer referencia en las Herramientas para PowerShell. Para encontrar la ubicación de este archivo, consulte [Ubicación de los archivos compartidos en la](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html) *Guía de referencia de herramientas AWS SDKs y herramientas*.

   The Tools for PowerShell utiliza el proveedor del token de inicio de sesión único del perfil para adquirir las credenciales antes de enviar las solicitudes a AWS. El `sso_role_name` valor, que es un rol de IAM conectado a un conjunto de permisos del Centro de Identidad de IAM, debería permitir el acceso a los Servicios de AWS utilizados en la aplicación.

   En el siguiente ejemplo, se muestra el perfil que se creó mediante el comando que se muestra arriba. Es posible que algunos de los valores de propiedad y su orden difieran en su perfil real. La `sso-session` propiedad del perfil hace referencia a la sección denominada`my-sso-session`, que contiene la configuración para iniciar una sesión en el portal de AWS acceso.

   ```
   [profile my-sso-profile]
   sso_account_id=111122223333
   sso_role_name=SamplePermissionSet
   sso_session=my-sso-session
   
   [sso-session my-sso-session]
   sso_region=us-west-2
   sso_registration_scopes=sso:account:access
   sso_start_url=https://provided-domain.awsapps.com/start/
   ```

1. Si ya tiene una sesión activa en el portal de AWS acceso, las Herramientas PowerShell le informarán de que ya ha iniciado sesión.

   Si ese no es el caso, la herramienta de herramientas PowerShell intentará abrir automáticamente la página de autorización del SSO en el navegador web predeterminado. Sigue las instrucciones del navegador, que pueden incluir un código de autorización del SSO, un nombre de usuario y una contraseña, y permiso para acceder a AWS IAM Identity Center las cuentas y conjuntos de permisos.

   Las herramientas de PowerShell le informan de que el inicio de sesión único se ha realizado correctamente.

## Inicie una sesión en el portal de AWS acceso
<a name="idc-start-portal"></a>

Antes de ejecutar los comandos de acceso Servicios de AWS, necesita una sesión activa en el portal de AWS acceso para que las herramientas PowerShell puedan utilizar la autenticación del IAM Identity Center para resolver las credenciales. Para iniciar sesión en el portal de AWS acceso, ejecute el siguiente comando PowerShell, donde `-ProfileName my-sso-profile` aparece el nombre del perfil que se creó en el `config` archivo compartido al seguir el procedimiento de la sección anterior de este tema.

```
Invoke-AWSSSOLogin -ProfileName my-sso-profile
```

Si ya tiene una sesión activa en el portal de AWS acceso, las Herramientas de PowerShell le informarán de que ya ha iniciado sesión.

Si ese no es el caso, la herramienta de herramientas PowerShell intentará abrir automáticamente la página de autorización del SSO en el navegador web predeterminado. Sigue las instrucciones del navegador, que pueden incluir un código de autorización del SSO, un nombre de usuario y una contraseña, y permiso para acceder a AWS IAM Identity Center las cuentas y conjuntos de permisos.

Las herramientas de PowerShell le informan de que el inicio de sesión único se ha realizado correctamente.

Para comprobar si ya tiene una sesión activa, ejecute el siguiente comando después de instalar o importar el módulo `AWS.Tools.SecurityToken` según sea necesario.

```
Get-STSCallerIdentity -ProfileName my-sso-profile
```

La respuesta al cmdlet `Get-STSCallerIdentity` debe indicar la cuenta y el conjunto de permisos de IAM Identity Center configurados en el archivo `config` compartido.

## Ejemplo
<a name="idc-short-example"></a>

A continuación se muestra un ejemplo de cómo utilizar el Centro de identidad de IAM con las herramientas para. PowerShell Asume lo siguiente:
+ Ha habilitado el Centro de identidades de IAM y lo ha configurado como se ha descrito anteriormente en este tema. Las propiedades de SSO se encuentran en el perfil `my-sso-profile`, que se configuró anteriormente en este tema.
+ Al iniciar sesión mediante los cmdlets `Initialize-AWSSSOConfiguration` o `Invoke-AWSSSOLogin`, el usuario tiene al menos permisos de solo lectura para Amazon S3.
+ Algunos buckets de S3 están disponibles para que los vea ese usuario.

Instale o importe el `AWS.Tools.S3` módulo según sea necesario y, a continuación, utilice el siguiente PowerShell comando para mostrar una lista de los buckets de S3.

```
Get-S3Bucket -ProfileName my-sso-profile
```

## Información adicional
<a name="idc-additional-info"></a>
+ Para obtener más opciones de autenticación para las herramientas PowerShell, como el uso de perfiles y variables de entorno, consulte el capítulo de [configuración](https://docs.aws.amazon.com/sdkref/latest/guide/creds-config-files.html) de la *AWS SDKs Guía de referencia de herramientas*.
+ Algunos comandos requieren que se especifique una AWS región. Hay varias formas de hacerlo, como por ejemplo mediante la opción del cmdlet `-Region`, el perfil `[default]` y la variable de entorno `AWS_REGION`. Para obtener más información, consulte [Especifique la AWS región para el Herramientas de AWS para PowerShell](pstools-installing-specifying-region.md) esta guía y [AWS la región](https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html) en la *AWS SDKs Guía de referencia de herramientas*.
+ Para obtener más información sobre las prácticas recomendadas, consulte [Prácticas recomendadas de seguridad en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM*.
+ Para crear AWS credenciales de corta duración, consulte [Credenciales de seguridad temporales](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) en la *Guía del usuario de IAM*.
+ Para obtener más información sobre otros proveedores de credenciales, consulte los proveedores de [credenciales estandarizados en la Guía](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) de referencia de *herramientas AWS SDKs y herramientas*.

**Topics**
+ [Inicie sesión con las credenciales de la consola](#login-con-creds)
+ [Habilitar y configurar el Centro de identidades de IAM](#idc-config-sso)
+ [Configure las herramientas PowerShell para utilizar el Centro de identidades de IAM.](#idc-config-sdk)
+ [Inicie una sesión en el portal de AWS acceso](#idc-start-portal)
+ [Ejemplo](#idc-short-example)
+ [Información adicional](#idc-additional-info)
+ [Utilice el AWS CLI](creds-idc-cli.md)

# Utilice el AWS CLI para iniciar sesión en el portal
<a name="creds-idc-cli"></a>

A partir de la versión 4.1.538 de Tools for PowerShell, el método recomendado para configurar las credenciales de SSO e iniciar una sesión en el portal de AWS acceso consiste en utilizar los [https://docs.aws.amazon.com/powershell/v5/reference/index.html?page=Invoke-AWSSSOLogin.html&tocid=Invoke-AWSSSOLogin](https://docs.aws.amazon.com/powershell/v5/reference/index.html?page=Invoke-AWSSSOLogin.html&tocid=Invoke-AWSSSOLogin)cmdlets y, tal [https://docs.aws.amazon.com/powershell/v5/reference/index.html?page=Initialize-AWSSSOConfiguration.html&tocid=Initialize-AWSSSOConfiguration](https://docs.aws.amazon.com/powershell/v5/reference/index.html?page=Initialize-AWSSSOConfiguration.html&tocid=Initialize-AWSSSOConfiguration)y como se describe en. [Autenticar el con Herramientas de AWS para PowerShell AWS](creds-idc.md) Si no tiene acceso a esa versión de las Herramientas PowerShell (o posterior) o no puede usar esos cmdlets, puede seguir realizando estas tareas mediante el. AWS CLI

## Configure las herramientas PowerShell para utilizar el Centro de identidades de IAM a través del. AWS CLI
<a name="idc-config-sdk-cli"></a>

Si aún no lo ha hecho, asegúrese de [habilitar y configurar el Centro de identidades de IAM](creds-idc.md#idc-config-sso) antes de continuar.

La información sobre cómo configurar las herramientas PowerShell para utilizar el Centro de Identidad de IAM AWS CLI se encuentra en el **paso 2** del tema sobre la [autenticación del Centro de Identidad de IAM](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html) de la Guía de referencia sobre *las herramientas AWS SDKs y en la Guía de referencia de herramientas*. Tras completar esta configuración, el sistema debe contener los siguientes elementos:
+ El AWS CLI, que se utiliza para iniciar una sesión en el portal de AWS acceso antes de ejecutar la aplicación.
+ El AWS `config` archivo compartido que contiene un [`[default]`perfil](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile) con un conjunto de valores de configuración a los que se puede hacer referencia en las Herramientas para PowerShell. Para encontrar la ubicación de este archivo, consulte [Ubicación de los archivos compartidos](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html) en la *Guía de referencia de AWS SDKs and Tools*. The Tools for PowerShell utiliza el proveedor del token de inicio de sesión único del perfil para adquirir las credenciales antes de enviar las solicitudes a AWS. El `sso_role_name` valor, que es un rol de IAM conectado a un conjunto de permisos del Centro de Identidad de IAM, debería permitir el acceso a los Servicios de AWS utilizados en la aplicación.

  En el siguiente `config` archivo de ejemplo, se muestra un `[default]` perfil configurado con un proveedor de token de SSO. La configuración `sso_session` del perfil hace referencia a la sección `sso-session` nombrada. La `sso-session` sección contiene la configuración para iniciar una sesión en el portal de AWS acceso.

  ```
  [default]
  sso_session = my-sso
  sso_account_id = 111122223333
  sso_role_name = SampleRole
  region = us-east-1
  output = json
  
  [sso-session my-sso]
  sso_region = us-east-1
  sso_start_url = https://provided-domain.awsapps.com/start
  sso_registration_scopes = sso:account:access
  ```

**importante**  
La PowerShell sesión debe tener los siguientes módulos instalados e importados para que la resolución del SSO pueda funcionar:  
`AWS.Tools.SSO`
`AWS.Tools.SSOOIDC`
Si utilizas una versión anterior de Tools for PowerShell y no dispones de estos módulos, aparecerá un error similar al siguiente: «No se ha podido encontrar el archivo Assembly AWSSDK .SSOOIDC...».

## Inicie una sesión en el portal de acceso AWS
<a name="idc-start-portal-cli"></a>

Antes de ejecutar los comandos de acceso Servicios de AWS, necesita una sesión activa en el portal de AWS acceso para que las herramientas de Windows PowerShell puedan utilizar la autenticación del IAM Identity Center para resolver las credenciales. En función de la duración de las sesiones configuradas, el acceso eventualmente caducará y las Herramientas para Windows PowerShell detectarán un error de autenticación. Para iniciar sesión en el portal de AWS acceso, ejecute el siguiente comando en AWS CLI.

```
aws sso login
```

Como está utilizando el `[default]` perfil, no necesita llamar al comando con la `--profile` opción. Si la configuración de su proveedor de token de SSO utiliza un perfil con nombre, el comando lo hará `aws sso login --profile named-profile` en su lugar. Para obtener más información sobre los perfiles con nombre asignado, consulta la sección [Perfiles](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile) de la *Guía de referencia de herramientas AWS SDKs y herramientas*.

Para comprobar si ya tiene una sesión activa, ejecute el siguiente AWS CLI comando (teniendo en cuenta lo mismo para el perfil nombrado):

```
aws sts get-caller-identity
```

La respuesta a este comando debe indicar la cuenta y el conjunto de permisos del Centro de identidades de IAM configurados en el archivo compartido `config`.

**nota**  
Si ya tiene una sesión activa en el portal de AWS acceso y la ejecuta`aws sso login`, no tendrá que proporcionar credenciales.  
Es posible que el proceso de inicio de sesión le pida que permita el AWS CLI acceso a sus datos. Como AWS CLI se basa en el SDK para Python, los mensajes de permiso pueden contener variaciones del `botocore` nombre.

## Ejemplo
<a name="idc-short-example-cli"></a>

A continuación se muestra un ejemplo de cómo utilizar el Centro de identidades de IAM con las herramientas para PowerShell. Asume lo siguiente:
+ Ha habilitado el Centro de identidades de IAM y lo ha configurado como se ha descrito anteriormente en este tema. Las propiedades del SSO se encuentran en el perfil `[default]`.
+ Al iniciar sesión AWS CLI mediante el uso de`aws sso login`, ese usuario tiene al menos permisos de solo lectura para Amazon S3.
+ Algunos buckets de S3 están disponibles para que los vea ese usuario.

Utilice los siguientes PowerShell comandos para mostrar una lista de los buckets de S3:

```
Install-Module AWS.Tools.Installer
Install-AWSToolsModule S3
# And if using an older version of the AWS Tools for PowerShell:
Install-AWSToolsModule SSO, SSOOIDC

# In older versions of the AWS Tools for PowerShell, we're not invoking a cmdlet from these modules directly, 
# so we must import them explicitly:
Import-Module AWS.Tools.SSO
Import-Module AWS.Tools.SSOOIDC

# Older versions of the AWS Tools for PowerShell don't support the SSO login flow, so login with the CLI
aws sso login

# Now we can invoke cmdlets using the SSO profile
Get-S3Bucket
```

Como se ha mencionado anteriormente, dado que utiliza el `[default]` perfil, no necesita llamar al `Get-S3Bucket` cmdlet con la opción. `-ProfileName` Si la configuración del proveedor de token de SSO utiliza un perfil con nombre, el comando es `Get-S3Bucket -ProfileName named-profile`. Para obtener más información sobre los perfiles con nombre, consulte la sección [Perfiles](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile) de la Guía de *referencia de herramientas AWS SDKs y herramientas*.

## Información adicional
<a name="idc-additional-info-cli"></a>
+ Para obtener más opciones de autenticación para las herramientas PowerShell, como el uso de perfiles y variables de entorno, consulte el capítulo de [configuración](https://docs.aws.amazon.com/sdkref/latest/guide/creds-config-files.html) de la *AWS SDKs Guía de referencia de herramientas*.
+ Algunos comandos requieren que se especifique una AWS región. Hay varias formas de hacerlo, incluidas la opción de `-Region` cmdlet, el `[default]` perfil y la variable de `AWS_REGION` entorno. Para obtener más información, consulte [Especifique la AWS región para el Herramientas de AWS para PowerShell](pstools-installing-specifying-region.md) esta guía y [AWS la región](https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html) en la AWS SDKs Guía de *referencia de herramientas*.
+ Para obtener más información sobre las prácticas recomendadas, consulte [Prácticas recomendadas de seguridad en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM*.
+ Para crear AWS credenciales de corta duración, consulte [Credenciales de seguridad temporales](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) en la *Guía del usuario de IAM*.
+ Para obtener más información sobre otros proveedores de credenciales, consulte los proveedores de [credenciales estandarizados en la Guía](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) de referencia de *herramientas AWS SDKs y herramientas*.