

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

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