

Herramientas de AWS para PowerShell La V4 ha entrado en modo de mantenimiento.

Le recomendamos que migre a la [Herramientas de AWS para PowerShell V5](https://docs.aws.amazon.com/powershell/v5/userguide/). Para obtener información y detalles adicionales sobre cómo realizar la migración, consulta nuestro [anuncio sobre el modo de mantenimiento](https://aws.amazon.com/blogs/developer/aws-tools-for-powershell-v4-maintenance-mode-announcement/).

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.

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

Un equipo basado en Windows puede ejecutar cualquiera de las opciones de paquete las Herramientas de AWS para PowerShell:
+ [**`AWS.Tools`**](#ps-installing-awstools) - versión por módulos de Herramientas de AWS para PowerShell. Cada servicio de AWS es compatible con su pequeño módulo propio y cuenta con los módulos auxiliares compartidos `AWS.Tools.Common` y `AWS.Tools.Installer`.
+ [**AWSPowerShell.NetCore**](#ps-installing-awspowershellnetcore): versión de módulo grande y único de Herramientas de AWS para PowerShell. Todos los servicios de AWS son compatibles con este único módulo 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): versión de Herramientas de AWS para PowerShell que se compone de un solo módulo heredado de gran tamaño que es específico de Windows. Todos los servicios de AWS son compatibles con este único módulo grande.

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

**nota**  
Herramientas de AWS para PowerShell se instala de forma predeterminada en todas las imágenes de máquina de Amazon (AMI) de Windows. La opción instalada depende de la AMI. Muchas AMI tienen el módulo AWSPowerShell, pero es posible que algunas tengan una opción diferente. Por ejemplo, las AMI de Amazon EC2 para Windows Server 2025 utilizan la opción `AWS.Tools` modularizada.

La configuración de las Herramientas de AWS para PowerShell implica las siguientes tareas generales, descritas en detalle en este tema.

1. Instale la opción del paquete de las Herramientas de AWS para PowerShell que sea adecuado para su entorno.

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

1. Importe el módulo de las Herramientas de AWS para PowerShell en la sesión de PowerShell.

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

Las versiones más recientes de PowerShell, como PowerShell Core, pueden descargarse de Microsoft en la página [Instalación de distintas versiones de PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell) del sitio web de Microsoft.

## Instalación de `AWS.Tools` en Windows.
<a name="ps-installing-awstools"></a>

La versión por módulos de Herramientas de AWS para PowerShell se puede instalar en equipos que ejecuten Windows con Windows PowerShell versión 5.1 o PowerShell Core 6.0 y versiones posteriores. Para obtener información acerca de cómo instalar PowerShell Core, consulte [Instalación de distintas 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/v4/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ías recibir un error similar al siguiente: “Import-Module: Could not load file or assembly”.
+ Instalando cada módulo de servicio desde la Galería de PowerShell con el cmdlet `Install-Module`.

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

1. Inicie una sesión de PowerShell.
**nota**  
Le recomendamos que *no* ejecute PowerShell como administrador con permisos elevados, excepto cuando lo requiera 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. Ingrese **y** para permitir que PowerShell instale el 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 de cada servicio de AWS que desee utilizar con el cmdlet `Install-AWSToolsModule`. 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 cmdlet `Install-AWSToolsModule` descarga todos los módulos solicitados desde un repositorio de `PSRepository` llamado `PSGallery` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) y lo considera un origen 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`. Si desea instalar Herramientas de AWS para PowerShell para todos los usuarios de un equipo, debe ejecutar el siguiente comando en una sesión de PowerShell 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 [Galería de PowerShell](https://www.powershellgallery.com/packages?q=aws).

## Instalar AWSPowerShell.NetCore en Windows
<a name="ps-installing-awspowershellnetcore"></a>

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

Puede instalar AWSPowerShell.NetCore de dos maneras:
+ Descargando el módulo de [AWSpowerShell.NetCore.zip](https://sdk-for-net.amazonwebservices.com/ps/v4/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**  
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ías recibir un error similar al siguiente: “Import-Module: Could not load file or assembly”.
+ Instalándolo desde la Galería de PowerShell con el cmdlet `Install-Module`, tal y como se describe en el procedimiento siguiente.

**Para instalar AWSPowerShell.NetCore desde la Galería de PowerShell con el cmdlet Install-Module**

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

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

Si ejecuta PowerShell como administrador, el comando anterior instala las Herramientas de AWS para PowerShell para todos los usuarios del equipo. Si ejecuta PowerShell como usuario estándar sin permisos de administrador, ese mismo comando se instala solo las 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 PowerShell 3.0 y las versiones posteriores por lo general cargan los módulos en la sesión de PowerShell la primera vez que se ejecuta un cmdlet en el módulo, el módulo de AWSPowerShell.NetCore es demasiado grande para admitir esta funcionalidad. En su lugar, debe cargar de forma explícita el módulo AWSPowerShell.NetCore Core en la sesión de PowerShell ejecutando el siguiente comando.

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

Para cargar el módulo AWSPowerShell.NetCore en una sesión de PowerShell de forma automática, agregue ese comando a su perfil de PowerShell. Para obtener más información sobre cómo editar su perfil de PowerShell, consulte [About Profiles](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_profiles) en la documentación de PowerShell.

## Instalación de AWSPowerShell en Windows PowerShell
<a name="ps-installing-awswindowspowershell"></a>

Puede instalar AWS Tools for Windows PowerShell de dos maneras:
+ Descargando el módulo de [AWSpowerShell.zip](https://sdk-for-net.amazonwebservices.com/ps/v4/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ías recibir un error similar al siguiente: “Import-Module: Could not load file or assembly”.
+ Instalándolo desde la Galería de PowerShell con el cmdlet `Install-Module`, tal y como se describe en el procedimiento siguiente.

**Para instalar AWSPowerShell desde la Galería de PowerShell con el cmdlet Install-Module**

Para instalar AWSPowerShell desde la Galería de PowerShell, es necesario ejecutar PowerShell 5.0 (o una versión posterior) o tener instalado [PowerShellGet](https://www.powershellgallery.com/packages/PowerShellGet) en PowerShell 3 (o una versión posterior). Puede instalar y actualizar AWSPowerShell desde la [Galería de PowerShell](https://www.powershellgallery.com/packages/AWSPowerShell) de Microsoft ejecutando el siguiente comando.

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

Para cargar el módulo AWSPowerShell en una sesión de PowerShell de forma automática, agregue el cmdlet `import-module` anterior al perfil de PowerShell. Para obtener más información sobre cómo editar su perfil de PowerShell, consulte [About Profiles](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-6) en la documentación de PowerShell.

**nota**  
Las Tools for Windows PowerShell se instalan de forma predeterminada en todas las Amazon Machine Images (AMI) basadas en Windows.

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

Para cargar los módulos de las Herramientas de AWS para PowerShell, debe habilitar la ejecución de scripts de PowerShell. 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 sesión de PowerShell como administrador. Elija **Inicio** y, a continuación, elija **Todos los programas**. Elija **Accesorios** y, a continuación, elija **Windows PowerShell**. Haga clic con el botón derecho en **Windows PowerShell** y después elija **Ejecutar como administrador** en el menú contextual.

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

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

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

Si no tiene la política de ejecución establecida 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 instalador de las Tools for Windows PowerShell actualiza [PSModulePath](http://msdn.microsoft.com/en-us/library/windows/desktop/dd878326.aspx) de forma automática para incluir la ubicación del directorio que contiene el módulo `AWSPowerShell`. 

Como `PSModulePath` incluye la ubicación del directorio del módulo de AWS, el cmdlet `Get-Module -ListAvailable` 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"></a>

AWS publica periódicamente nuevas versiones de las Herramientas de AWS para PowerShell que admiten nuevos servicios y características de AWS. Para saber cuál es la versión de Tools que ha instalado, ejecute el cmdlet [Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v4/reference/items/Get-AWSPowerShellVersion.html).

Por ejemplo:

```
PS > Get-AWSPowerShellVersion

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

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

Release notes: https://github.com/aws/aws-tools-for-powershell/blob/v4.1/changelogs/CHANGELOG.ALL.md

This software includes third party software subject to the following copyrights:
- Logging from log4net, Apache License
[http://logging.apache.org/log4net/license.html]
```

También puede agregar el parámetro `-ListServiceVersionInfo` a un comando [Get-AWSPowerShellVersion](https://docs.aws.amazon.com/powershell/v4/reference/items/Get-AWSPowerShellVersion.html) para ver una lista de los servicios de AWS admitidos en 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 de PowerShell que está ejecutando, escriba `$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) $PSVersionTable.

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 de las Herramientas de AWS para PowerShell en Windows
<a name="pstools-updating"></a>

De forma periódica, cuando se publiquen versiones actualizadas de las Herramientas de AWS para PowerShell, debería actualizar la versión que ejecuta localmente. 

### Actualización de módulos `AWS.Tools` modularizados
<a name="update-the-tools-for-powershell"></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 módulos `AWS.Tools` que están instalados actualmente y, si esta operación se realiza correctamente, elimina otras versiones instaladas.

**nota**  
El cmdlet `Update-AWSToolsModule` descarga todos los módulos de un repositorio de `PSRepository` llamado `PSGallery` ([https://www.powershellgallery.com/](https://www.powershellgallery.com/)) y considera este repositorio como un origen de confianza. Utilice el comando `Get-PSRepository -Name PSGallery` para obtener más información sobre este repositorio de `PSRepository`.

### Actualización de Tools for PowerShell Core
<a name="update-the-tools-for-powershell-core"></a>

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

Antes de instalar una versión más reciente de AWSPowerShell.NetCore, desinstale el módulo existente. Cierre las sesiones abiertas de PowerShell 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
```

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

### Actualización de Tools for Windows PowerShell
<a name="update-the-tools-for-windows-powershell"></a>

Ejecute el cmdlet `Get-AWSPowerShellVersion` para determinar la versión que está ejecutando y compárela con la versión de Tools for Windows PowerShell disponible en el sitio web de la [Galería de PowerShell](https://www.powershellgallery.com/packages/AWSPowerShell). Le sugerimos que revise cada dos o tres semanas. La compatibilidad con nuevos comandos y servicios de AWS solo está disponible después de realizar la actualización a una versión con esa compatibilidad.
+ 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 web de [Tools for PowerShell](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 la versión de descarga es un número mayor que la versión instalada, cierre todas las consolas de Tools for Windows PowerShell.

  1. Instale la versión más reciente de Tools for Windows PowerShell.

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