

A versão 5 (V5) do Ferramentas da AWS para PowerShell foi lançada\!

Para obter informações sobre mudanças significativas e migrar seus aplicativos, consulte o [tópico de migração](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)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Aliases e descoberta de cmdlet
<a name="pstools-discovery-aliases"></a>

Esta seção mostra como listar serviços que são suportados pelo Ferramentas da AWS para PowerShell, como mostrar o conjunto de cmdlets fornecidos pelo Ferramentas da AWS para PowerShell em suporte a esses serviços e como encontrar nomes de cmdlets alternativos (também chamados de aliases) para acessar esses serviços.

## Descoberta de cmdlets
<a name="pstools-cmdlet-discovery"></a>

Todas as operações AWS de serviço (ou APIs) estão documentadas no Guia de referência da API para cada serviço. Por exemplo, consulte [Referência da API do IAM](https://docs.aws.amazon.com/IAM/latest/APIReference/). Na maioria dos casos, há uma one-to-one correspondência entre uma API de AWS serviço e um AWS PowerShell cmdlet. Para obter o nome do cmdlet que corresponde a um nome de API AWS de serviço, execute o AWS `Get-AWSCmdletName` cmdlet com o `-ApiOperation` parâmetro e o nome da API do AWS serviço. Por exemplo, para obter todos os nomes de cmdlet possíveis com base em qualquer API de `DescribeInstances` AWS serviço disponível, execute o seguinte comando:

```
PS > Get-AWSCmdletName -ApiOperation DescribeInstances

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

O parâmetro `-ApiOperation` é o parâmetro padrão, portanto, você pode omitir o nome do parâmetro. O exemplo a seguir é equivalente ao anterior:

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

Se você souber os nomes da API e do serviço, poderá incluir o `-Service` parâmetro junto com o prefixo do substantivo do cmdlet ou parte do nome do serviço. AWS Por exemplo, o prefixo substantivo do cmdlet para Amazon é. EC2 `EC2` Para obter o nome do cmdlet que corresponde à `DescribeInstances` API no EC2 serviço da Amazon, execute um dos comandos a seguir. Todos eles resultam na mesma saída:

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

Valores de parâmetro nesses comandos fazem distinção de maiúsculas e minúsculas.

Se você não souber o nome da API de AWS serviço desejada ou do AWS serviço, poderá usar o `-ApiOperation` parâmetro, junto com o padrão correspondente e o `-MatchWithRegex` parâmetro. Por exemplo, para obter todos os nomes de cmdlets disponíveis que contêm `SecurityGroup`, execute o comando a seguir.

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

Se você souber o nome do AWS serviço, mas não a API do AWS serviço, inclua o `-MatchWithRegex` parâmetro e o `-Service` parâmetro para reduzir a pesquisa a um único serviço. Por exemplo, para obter todos os nomes de cmdlet que estão contidos somente `SecurityGroup` no EC2 serviço da Amazon, execute o seguinte comando

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

Se você souber o nome do comando AWS Command Line Interface (AWS CLI), poderá usar o `-AwsCliCommand` parâmetro e o nome do AWS CLI comando desejado para obter o nome do cmdlet baseado na mesma API. Por exemplo, para obter o nome do cmdlet que corresponde à chamada de `authorize-security-group-ingress` AWS CLI comando no EC2 serviço da Amazon, execute o seguinte comando:

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

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

O `Get-AWSCmdletName` cmdlet precisa apenas do nome do AWS CLI comando em quantidade suficiente para identificar o serviço e a AWS API. 

Para obter uma lista de todos os cmdlets no Tools for PowerShell Core, execute o PowerShell `Get-Command` cmdlet, conforme mostrado no exemplo a seguir.

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

Você pode executar o mesmo comando com `-Module AWSPowerShell` para ver os cmdlets no AWS Tools for Windows PowerShell.

O cmdlet `Get-Command` gera a lista de cmdlets em ordem alfabética. Observe que, por padrão, a lista é classificada por PowerShell verbo, em vez PowerShell de substantivo.

Para classificar os resultados por serviço, execute o comando a seguir:

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

Para filtrar os cmdlets retornados pelo `Get-Command` cmdlet, canalize a saída para o cmdlet. PowerShell `Select-String` Por exemplo, para visualizar o conjunto de cmdlets que funcionam com AWS regiões, execute o seguinte comando:

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

Você também pode encontrar cmdlets para um serviço específico filtrando o prefixo de serviço de substantivos de cmdlet. Para ver a lista de prefixos de serviço disponíveis, execute `Get-AWSPowerShellVersion -ListServiceVersionInfo`. O exemplo a seguir retorna cmdlets que oferecem suporte ao serviço 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
```

## Nomenclatura de cmdlets e aliases
<a name="pstools-cmdlet-naming-aliases"></a>

Os cmdlets do Ferramentas da AWS para PowerShell para cada serviço são baseados nos métodos fornecidos pelo AWS SDK para o serviço. No entanto, devido às convenções PowerShell de nomenclatura obrigatórias, o nome de um cmdlet pode ser diferente do nome da chamada de API ou do método no qual ele se baseia. Por exemplo, o `Get-EC2Instance` cmdlet é baseado no método Amazon EC2`DescribeInstances`.

Em alguns casos, o nome do cmdlet pode ser semelhante a um nome de método, mas talvez execute uma função diferente. Por exemplo, o método `GetObject` do Amazon S3 recupera um objeto do Amazon S3. No entanto, o cmdlet `Get-S3Object` retorna *informações* sobre um objeto do Amazon S3 em vez do próprio objeto.

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

Para obter um objeto S3 com o Ferramentas da AWS para PowerShell, execute o `Read-S3Object` cmdlet:

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

**nota**  
A ajuda do cmdlet para um AWS cmdlet fornece o nome da API do AWS SDK na qual o cmdlet se baseia.  
Para obter mais informações sobre PowerShell verbos padrão e seus significados, consulte [Verbos aprovados para PowerShell comandos](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/approved-verbs-for-windows-powershell-commands).

Todos os AWS cmdlets que usam o `Remove` verbo — e o `Stop-EC2Instance` cmdlet quando você adiciona o `-Terminate` parâmetro — solicitam confirmação antes de continuar. Para ignorar a confirmação, adicione o parâmetro `-Force` ao seu comando.

**Importante**  
AWS os cmdlets não oferecem suporte ao `-WhatIf` switch.

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

A configuração do Ferramentas da AWS para PowerShell instala um arquivo de aliases que contém aliases para muitos dos cmdlets. AWS Você pode considerar esses aliases mais intuitivos do que os nomes dos cmdlets. Por exemplo, nomes de serviços e nomes de métodos do AWS SDK substituem PowerShell verbos e substantivos em alguns aliases. Um exemplo é o alias `EC2-DescribeInstances`.

Outros aliases usam verbos que, embora não sigam as PowerShell convenções padrão, podem ser mais descritivos da operação real. Por exemplo, o arquivo de alias mapeia o alias `Get-S3Content` para o cmdlet `Read-S3Object`.

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

O arquivo de aliases está localizado no diretório Ferramentas da AWS para PowerShell de instalação. Para carregar os aliases em seu ambiente, faça *dot-source* do arquivo. Veja a seguir um exemplo de Windows.

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

Para um shell do Linux ou macOS, ele pode ter a seguinte aparência:

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

Para mostrar todos os Ferramentas da AWS para PowerShell aliases, execute o comando a seguir. Esse comando usa o `?` alias do PowerShell `Where-Object` cmdlet e a `Source` propriedade para filtrar somente os aliases provenientes do módulo. `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

...
```

Para adicionar seus próprios aliases a esse arquivo, talvez seja necessário aumentar o valor PowerShell da [variável de `$MaximumAliasCount` preferência](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-6) para um valor maior que 5500. O valor padrão é 4096. Você pode aumentá-lo para um máximo de 32768. Para fazer isso, execute o seguinte.

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

Para verificar se a alteração foi bem-sucedida, insira o nome da variável para mostrar seu valor atual.

```
PS > $MaximumAliasCount
32768
```