

Outils AWS pour PowerShell La V4 est passée en mode maintenance.

Nous vous recommandons de migrer vers la [Outils AWS pour PowerShell version 5](https://docs.aws.amazon.com/powershell/v5/userguide/). Pour plus de détails et d'informations sur la façon de migrer, veuillez consulter notre [annonce relative au mode de maintenance](https://aws.amazon.com/blogs/developer/aws-tools-for-powershell-v4-maintenance-mode-announcement/).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Découverte d'applets de commande et alias
<a name="pstools-discovery-aliases"></a>

Cette section explique comment répertorier les services pris en charge par le Outils AWS pour PowerShell, comment afficher l'ensemble des applets de commande fournis par le pour prendre Outils AWS pour PowerShell en charge ces services et comment trouver d'autres noms d'applets de commande (également appelés alias) pour accéder à ces services.

## Découverte d'applets de commande
<a name="pstools-cmdlet-discovery"></a>

Toutes les opérations de AWS service (ou APIs) sont documentées dans le guide de référence des API pour chaque service. Par exemple, consultez la [Référence d'API IAM](https://docs.aws.amazon.com/IAM/latest/APIReference/). Dans la plupart des cas, il existe une one-to-one correspondance entre une API de AWS service et une AWS PowerShell applet de commande. Pour obtenir le nom de l'applet de commande correspondant au nom d'une API de AWS service, exécutez l' AWS `Get-AWSCmdletName`applet de commande avec le `-ApiOperation` paramètre et le nom de l'API de service. AWS Par exemple, pour obtenir tous les noms d'applets de commande possibles basés sur une API de `DescribeInstances` AWS service disponible, exécutez la commande suivante :

```
PS > Get-AWSCmdletName -ApiOperation DescribeInstances

CmdletName        ServiceOperation    ServiceName                    CmdletNounPrefix
----------        ----------------    -----------                    ----------------
Get-EC2Instance   DescribeInstances   Amazon Elastic Compute Cloud   EC2
Get-GMLInstance   DescribeInstances   Amazon GameLift Service        GML
```

Le paramètre `-ApiOperation` est le paramètre par défaut. Vous pouvez donc omettre le nom du paramètre. L'exemple suivant est équivalent au précédent :

```
PS > Get-AWSCmdletName DescribeInstances
```

Si vous connaissez les noms de l'API et du service, vous pouvez inclure le `-Service` paramètre avec le nom du préfixe de l'applet de commande ou une partie du nom du service. AWS Par exemple, le préfixe du nom de l'applet de commande pour Amazon est. EC2 `EC2` Pour obtenir le nom de l'applet de commande correspondant à l'`DescribeInstances`API du EC2 service Amazon, exécutez l'une des commandes suivantes. Elles conduisent toutes à la même sortie :

```
PS > Get-AWSCmdletName -ApiOperation DescribeInstances -Service EC2
PS > Get-AWSCmdletName -ApiOperation DescribeInstances -Service Compute
PS > Get-AWSCmdletName -ApiOperation DescribeInstances -Service "Compute Cloud"

CmdletName        ServiceOperation    ServiceName                    CmdletNounPrefix
----------        ----------------    -----------                    ----------------
Get-EC2Instance   DescribeInstances   Amazon Elastic Compute Cloud   EC2
```

Les valeurs de paramètre de ces commandes sont sensibles à la casse.

Si vous ne connaissez pas le nom de l'API de AWS service ou du AWS service souhaité, vous pouvez utiliser le `-ApiOperation` paramètre, ainsi que le modèle correspondant, et le `-MatchWithRegex` paramètre. Par exemple, pour obtenir tous les noms d'applets de commande disponibles qui contiennent `SecurityGroup`, exécutez la commande suivante :

```
PS > Get-AWSCmdletName -ApiOperation SecurityGroup -MatchWithRegex

CmdletName                                    ServiceOperation                            ServiceName                        CmdletNounPrefix
----------                                    ----------------                            -----------                        ----------------
Approve-ECCacheSecurityGroupIngress           AuthorizeCacheSecurityGroupIngress          Amazon ElastiCache                 EC
Get-ECCacheSecurityGroup                      DescribeCacheSecurityGroups                 Amazon ElastiCache                 EC
New-ECCacheSecurityGroup                      CreateCacheSecurityGroup                    Amazon ElastiCache                 EC
Remove-ECCacheSecurityGroup                   DeleteCacheSecurityGroup                    Amazon ElastiCache                 EC
Revoke-ECCacheSecurityGroupIngress            RevokeCacheSecurityGroupIngress             Amazon ElastiCache                 EC
Add-EC2SecurityGroupToClientVpnTargetNetwrk   ApplySecurityGroupsToClientVpnTargetNetwork Amazon Elastic Compute Cloud       EC2
Get-EC2SecurityGroup                          DescribeSecurityGroups                      Amazon Elastic Compute Cloud       EC2
Get-EC2SecurityGroupReference                 DescribeSecurityGroupReferences             Amazon Elastic Compute Cloud       EC2
Get-EC2StaleSecurityGroup                     DescribeStaleSecurityGroups                 Amazon Elastic Compute Cloud       EC2
Grant-EC2SecurityGroupEgress                  AuthorizeSecurityGroupEgress                Amazon Elastic Compute Cloud       EC2
Grant-EC2SecurityGroupIngress                 AuthorizeSecurityGroupIngress               Amazon Elastic Compute Cloud       EC2
New-EC2SecurityGroup                          CreateSecurityGroup                         Amazon Elastic Compute Cloud       EC2
Remove-EC2SecurityGroup                       DeleteSecurityGroup                         Amazon Elastic Compute Cloud       EC2
Revoke-EC2SecurityGroupEgress                 RevokeSecurityGroupEgress                   Amazon Elastic Compute Cloud       EC2
Revoke-EC2SecurityGroupIngress                RevokeSecurityGroupIngress                  Amazon Elastic Compute Cloud       EC2
Update-EC2SecurityGroupRuleEgressDescription  UpdateSecurityGroupRuleDescriptionsEgress   Amazon Elastic Compute Cloud       EC2
Update-EC2SecurityGroupRuleIngressDescription UpdateSecurityGroupRuleDescriptionsIngress  Amazon Elastic Compute Cloud       EC2
Edit-EFSMountTargetSecurityGroup              ModifyMountTargetSecurityGroups             Amazon Elastic File System         EFS
Get-EFSMountTargetSecurityGroup               DescribeMountTargetSecurityGroups           Amazon Elastic File System         EFS
Join-ELBSecurityGroupToLoadBalancer           ApplySecurityGroupsToLoadBalancer           Elastic Load Balancing             ELB
Set-ELB2SecurityGroup                         SetSecurityGroups                           Elastic Load Balancing V2          ELB2
Enable-RDSDBSecurityGroupIngress              AuthorizeDBSecurityGroupIngress             Amazon Relational Database Service RDS
Get-RDSDBSecurityGroup                        DescribeDBSecurityGroups                    Amazon Relational Database Service RDS
New-RDSDBSecurityGroup                        CreateDBSecurityGroup                       Amazon Relational Database Service RDS
Remove-RDSDBSecurityGroup                     DeleteDBSecurityGroup                       Amazon Relational Database Service RDS
Revoke-RDSDBSecurityGroupIngress              RevokeDBSecurityGroupIngress                Amazon Relational Database Service RDS
Approve-RSClusterSecurityGroupIngress         AuthorizeClusterSecurityGroupIngress        Amazon Redshift                    RS
Get-RSClusterSecurityGroup                    DescribeClusterSecurityGroups               Amazon Redshift                    RS
New-RSClusterSecurityGroup                    CreateClusterSecurityGroup                  Amazon Redshift                    RS
Remove-RSClusterSecurityGroup                 DeleteClusterSecurityGroup                  Amazon Redshift                    RS
Revoke-RSClusterSecurityGroupIngress          RevokeClusterSecurityGroupIngress           Amazon Redshift                    RS
```

Si vous connaissez le nom du AWS service mais pas son API, incluez à la fois le `-MatchWithRegex` paramètre et le `-Service` paramètre pour limiter la recherche à un seul service. AWS Par exemple, pour obtenir tous les noms d'applets de commande qui ne contiennent `SecurityGroup` que le EC2 service Amazon, exécutez la commande suivante

```
PS > Get-AWSCmdletName -ApiOperation SecurityGroup -MatchWithRegex -Service EC2

CmdletName                                    ServiceOperation                            ServiceName                  CmdletNounPrefix
----------                                    ----------------                            -----------                  ----------------
Add-EC2SecurityGroupToClientVpnTargetNetwrk   ApplySecurityGroupsToClientVpnTargetNetwork Amazon Elastic Compute Cloud EC2
Get-EC2SecurityGroup                          DescribeSecurityGroups                      Amazon Elastic Compute Cloud EC2
Get-EC2SecurityGroupReference                 DescribeSecurityGroupReferences             Amazon Elastic Compute Cloud EC2
Get-EC2StaleSecurityGroup                     DescribeStaleSecurityGroups                 Amazon Elastic Compute Cloud EC2
Grant-EC2SecurityGroupEgress                  AuthorizeSecurityGroupEgress                Amazon Elastic Compute Cloud EC2
Grant-EC2SecurityGroupIngress                 AuthorizeSecurityGroupIngress               Amazon Elastic Compute Cloud EC2
New-EC2SecurityGroup                          CreateSecurityGroup                         Amazon Elastic Compute Cloud EC2
Remove-EC2SecurityGroup                       DeleteSecurityGroup                         Amazon Elastic Compute Cloud EC2
Revoke-EC2SecurityGroupEgress                 RevokeSecurityGroupEgress                   Amazon Elastic Compute Cloud EC2
Revoke-EC2SecurityGroupIngress                RevokeSecurityGroupIngress                  Amazon Elastic Compute Cloud EC2
Update-EC2SecurityGroupRuleEgressDescription  UpdateSecurityGroupRuleDescriptionsEgress   Amazon Elastic Compute Cloud EC2
Update-EC2SecurityGroupRuleIngressDescription UpdateSecurityGroupRuleDescriptionsIngress  Amazon Elastic Compute Cloud EC2
```

Si vous connaissez le nom de la commande AWS Command Line Interface (AWS CLI), vous pouvez utiliser le `-AwsCliCommand` paramètre et le nom de AWS CLI commande souhaité pour obtenir le nom de l'applet de commande basée sur la même API. Par exemple, pour obtenir le nom de l'applet de commande correspondant à l'appel de `authorize-security-group-ingress` AWS CLI commande dans le EC2 service Amazon, exécutez la commande suivante :

```
PS > Get-AWSCmdletName -AwsCliCommand "aws ec2 authorize-security-group-ingress"

CmdletName                    ServiceOperation              ServiceName                  CmdletNounPrefix
----------                    ----------------              -----------                  ----------------
Grant-EC2SecurityGroupIngress AuthorizeSecurityGroupIngress Amazon Elastic Compute Cloud EC2
```

L'`Get-AWSCmdletName`applet de commande n'a besoin que d'une quantité suffisante du nom de AWS CLI commande pour identifier le service et l' AWS API. 

Pour obtenir la liste de toutes les applets de commande dans Tools for PowerShell Core, exécutez l' PowerShell`Get-Command`applet de commande, comme indiqué dans l'exemple suivant.

```
PS > Get-Command -Module AWSPowerShell.NetCore
```

Vous pouvez exécuter la même commande avec `-Module AWSPowerShell` pour afficher les applets de commande dans les AWS Tools for Windows PowerShell.

L'applet de commande `Get-Command` génère la liste des applets de commande dans l'ordre alphabétique. Notez que par défaut, la liste est triée par PowerShell verbe plutôt que par PowerShell nom.

Pour trier les résultats par service, exécutez la commande suivante :

```
PS > Get-Command -Module AWSPowerShell.NetCore | Sort-Object Noun,Verb
```

Pour filtrer les applets de commande renvoyés par l'applet de commande, `Get-Command` redirigez la sortie vers l'applet de commande. PowerShell `Select-String` Par exemple, pour afficher l'ensemble des applets de commande qui fonctionnent avec AWS les régions, exécutez la commande suivante :

```
PS > Get-Command -Module AWSPowerShell.NetCore | Select-String region

Clear-DefaultAWSRegion
Copy-HSM2BackupToRegion
Get-AWSRegion
Get-DefaultAWSRegion
Get-EC2Region
Get-LSRegionList
Get-RDSSourceRegion
Set-DefaultAWSRegion
```

Vous pouvez également rechercher les applets de commande d'un service spécifique en filtrant le préfixe de service des noms d'applet de commande. Pour afficher la liste des préfixes de service disponibles, exécutez `Get-AWSPowerShellVersion -ListServiceVersionInfo`. L'exemple suivant renvoie des applets de commande qui prennent en charge le service Amazon CloudWatch Events.

```
PS > Get-Command -Module AWSPowerShell -Noun CWE*

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Add-CWEResourceTag                                 3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Disable-CWEEventSource                             3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Disable-CWERule                                    3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Enable-CWEEventSource                              3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Enable-CWERule                                     3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Get-CWEEventBus                                    3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Get-CWEEventBusList                                3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Get-CWEEventSource                                 3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Get-CWEEventSourceList                             3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Get-CWEPartnerEventSource                          3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Get-CWEPartnerEventSourceAccountList               3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Get-CWEPartnerEventSourceList                      3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Get-CWEResourceTag                                 3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Get-CWERule                                        3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Get-CWERuleDetail                                  3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Get-CWERuleNamesByTarget                           3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Get-CWETargetsByRule                               3.3.563.1  AWSPowerShell.NetCore
Cmdlet          New-CWEEventBus                                    3.3.563.1  AWSPowerShell.NetCore
Cmdlet          New-CWEPartnerEventSource                          3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Remove-CWEEventBus                                 3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Remove-CWEPartnerEventSource                       3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Remove-CWEPermission                               3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Remove-CWEResourceTag                              3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Remove-CWERule                                     3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Remove-CWETarget                                   3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Test-CWEEventPattern                               3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Write-CWEEvent                                     3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Write-CWEPartnerEvent                              3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Write-CWEPermission                                3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Write-CWERule                                      3.3.563.1  AWSPowerShell.NetCore
Cmdlet          Write-CWETarget                                    3.3.563.1  AWSPowerShell.NetCore
```

## Dénomination d'applets de commande et alias
<a name="pstools-cmdlet-naming-aliases"></a>

Les applets de commande contenus dans le Outils AWS pour PowerShell pour chaque service sont basées sur les méthodes fournies par le AWS SDK pour le service. Cependant, en raison des conventions PowerShell de dénomination obligatoires, le nom d'une applet de commande peut être différent du nom de l'appel d'API ou de la méthode sur laquelle elle est basée. Par exemple, l'`Get-EC2Instance`applet de commande est basée sur la méthode Amazon EC2`DescribeInstances`.

Dans certains cas, le nom de l'applet de commande peut être similaire à un nom de méthode, mais il peut en fait exécuter une fonction différente. Par exemple, la méthode Amazon S3`GetObject` récupère un objet Amazon S3. Cependant, l'applet de commande `Get-S3Object` renvoie les *informations* sur un objet Amazon S3 plutôt que l'objet lui-même.

```
PS > Get-S3Object -BucketName text-content -Key aws-tech-docs

ETag         : "df000002a0fe0000f3c000004EXAMPLE"
BucketName   : aws-tech-docs
Key          : javascript/frameset.js
LastModified : 6/13/2011 1:24:18 PM
Owner        : Amazon.S3.Model.Owner
Size         : 512
StorageClass : STANDARD
```

Pour obtenir un objet S3 avec le Outils AWS pour PowerShell, exécutez l'`Read-S3Object`applet de commande :

```
PS > Read-S3Object -BucketName text-content -Key text-object.txt -file c:\tmp\text-object-download.text

Mode          LastWriteTime            Length Name
----          -------------            ------ ----
-a---         11/5/2012   7:29 PM      20622  text-object-download.text
```

**Note**  
L'aide de l'applet de commande pour une AWS applet de commande fournit le nom de l'API du AWS SDK sur laquelle l'applet de commande est basée.  
Pour plus d'informations sur les PowerShell verbes standard et leur signification, voir [Verbes approuvés pour PowerShell les commandes](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/approved-verbs-for-windows-powershell-commands).

Toutes les AWS applets de commande qui utilisent le `Remove` verbe (et l'`Stop-EC2Instance`applet de commande lorsque vous ajoutez le `-Terminate` paramètre) demandent une confirmation avant de continuer. Pour contourner la confirmation, ajoutez le paramètre `-Force` à votre commande.

**Important**  
AWS les applets de commande ne prennent pas en charge le `-WhatIf` commutateur.

### Alias
<a name="pstools-aliases"></a>

La configuration du Outils AWS pour PowerShell installe un fichier d'alias contenant les alias de nombreuses applets de commande. AWS Vous trouverez peut-être ces alias plus intuitifs que les noms d'applets de commande. Par exemple, les noms de service et les noms de méthodes du AWS SDK remplacent les PowerShell verbes et les noms dans certains alias. L'alias `EC2-DescribeInstances` en est un exemple.

D'autres alias utilisent des verbes qui, bien qu'ils ne respectent pas les PowerShell conventions standard, peuvent être plus descriptifs de l'opération réelle. Par exemple, le fichier d'alias associe l'alias `Get-S3Content` à l'applet de commande `Read-S3Object`.

```
PS > Set-Alias -Name Get-S3Content -Value Read-S3Object
```

Le fichier d'alias se trouve dans le répertoire Outils AWS pour PowerShell d'installation. Pour charger les alias dans votre environnement, effectuez un appel de source *dot source* du fichier. L'exemple suivant est un exemple basé sur Windows.

```
PS > . "C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowershell\AWSAliases.ps1"
```

Pour un shell Linux ou macOS, il peut se présenter comme suit :

```
. ~/.local/share/powershell/Modules/AWSPowerShell.NetCore/3.3.563.1/AWSAliases.ps1
```

Pour afficher tous les Outils AWS pour PowerShell alias, exécutez la commande suivante. Cette commande utilise l'`?`alias de l' PowerShell `Where-Object`applet de commande et la `Source` propriété pour filtrer uniquement les alias provenant du module. `AWSPowerShell.NetCore`

```
PS > Get-Alias | ? Source -like "AWSPowerShell.NetCore"

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           Add-ASInstances                                    3.3.343.0  AWSPowerShell
Alias           Add-CTTag                                          3.3.343.0  AWSPowerShell
Alias           Add-DPTags                                         3.3.343.0  AWSPowerShell
Alias           Add-DSIpRoutes                                     3.3.343.0  AWSPowerShell
Alias           Add-ELBTags                                        3.3.343.0  AWSPowerShell
Alias           Add-EMRTag                                         3.3.343.0  AWSPowerShell
Alias           Add-ESTag                                          3.3.343.0  AWSPowerShell
Alias           Add-MLTag                                          3.3.343.0  AWSPowerShell
Alias           Clear-AWSCredentials                               3.3.343.0  AWSPowerShell
Alias           Clear-AWSDefaults                                  3.3.343.0  AWSPowerShell
Alias           Dismount-ASInstances                               3.3.343.0  AWSPowerShell
Alias           Edit-EC2Hosts                                      3.3.343.0  AWSPowerShell
Alias           Edit-RSClusterIamRoles                             3.3.343.0  AWSPowerShell
Alias           Enable-ORGAllFeatures                              3.3.343.0  AWSPowerShell
Alias           Find-CTEvents                                      3.3.343.0  AWSPowerShell
Alias           Get-ASACases                                       3.3.343.0  AWSPowerShell
Alias           Get-ASAccountLimits                                3.3.343.0  AWSPowerShell
Alias           Get-ASACommunications                              3.3.343.0  AWSPowerShell
Alias           Get-ASAServices                                    3.3.343.0  AWSPowerShell
Alias           Get-ASASeverityLevels                              3.3.343.0  AWSPowerShell
Alias           Get-ASATrustedAdvisorCheckRefreshStatuses          3.3.343.0  AWSPowerShell
Alias           Get-ASATrustedAdvisorChecks                        3.3.343.0  AWSPowerShell
Alias           Get-ASATrustedAdvisorCheckSummaries                3.3.343.0  AWSPowerShell
Alias           Get-ASLifecycleHooks                               3.3.343.0  AWSPowerShell
Alias           Get-ASLifecycleHookTypes                           3.3.343.0  AWSPowerShell
Alias           Get-AWSCredentials                                 3.3.343.0  AWSPowerShell
Alias           Get-CDApplications                                 3.3.343.0  AWSPowerShell
Alias           Get-CDDeployments                                  3.3.343.0  AWSPowerShell
Alias           Get-CFCloudFrontOriginAccessIdentities             3.3.343.0  AWSPowerShell
Alias           Get-CFDistributions                                3.3.343.0  AWSPowerShell
Alias           Get-CFGConfigRules                                 3.3.343.0  AWSPowerShell
Alias           Get-CFGConfigurationRecorders                      3.3.343.0  AWSPowerShell
Alias           Get-CFGDeliveryChannels                            3.3.343.0  AWSPowerShell
Alias           Get-CFInvalidations                                3.3.343.0  AWSPowerShell
Alias           Get-CFNAccountLimits                               3.3.343.0  AWSPowerShell
Alias           Get-CFNStackEvents                                 3.3.343.0  AWSPowerShell

...
```

Pour ajouter vos propres alias à ce fichier, vous devrez peut-être augmenter la valeur de la [variable PowerShell de `$MaximumAliasCount` préférence](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-6) à une valeur supérieure à 5500. La valeur par défaut est 4 096 et vous pouvez l'augmenter jusqu'à 32 768 au maximum. Pour ce faire, exécutez la commande suivante.

```
PS > $MaximumAliasCount = 32768
```

Pour vérifier que votre modification a abouti, saisissez le nom de la variable afin d'afficher sa valeur actuelle.

```
PS > $MaximumAliasCount
32768
```