

• O AWS Systems Manager CloudWatch Dashboard não estará mais disponível a partir de 30 de abril de 2026. Os clientes podem continuar usando o console do Amazon CloudWatch para visualizar, criar e gerenciar os painéis do Amazon CloudWatch exatamente como fazem hoje. Para obter mais informações, consulte a [documentação do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

# Demonstração: Usar a AWS Tools for Windows PowerShell com o Run Command
<a name="walkthrough-powershell"></a>

Os exemplos a seguir mostram como usar o AWS Tools for Windows PowerShell para ver informações sobre comandos e parâmetros de comandos, como executar comandos e como visualizar o status desses comandos. Essa demonstração inclui um exemplo para cada um dos documentos do AWS Systems Manager predefinidos.

**Importante**  
Apenas administradores confiáveis devem ter permissão para usar os documentos pré-configurados do Systems Manager mostrados neste tópico. Os comandos ou scripts especificados em documentos do Systems Manager são executados com permissão administrativa em seus nós gerenciados. Se um usuário tiver permissão para executar qualquer um dos documentos do Systems Manager predefinidos (qualquer documento que comece com AWS), ele também terá acesso de administrador ao nó. Para todos os outros usuários, você deve criar documentos restritivos e compartilhá-los com usuários específicos.

**Topics**
+ [Definir configurações de sessão do AWS Tools for Windows PowerShell](#walkthrough-powershell-settings)
+ [Listar todos os documentos disponíveis](#walkthrough-powershell-all-documents)
+ [Executar comandos ou scripts do PowerShell](#walkthrough-powershell-run-script)
+ [Instalar uma aplicação usando o documento `AWS-InstallApplication`](#walkthrough-powershell-install-application)
+ [Instalar um módulo do PowerShell usando a`AWS-InstallPowerShellModule`Documento JSON](#walkthrough-powershell-install-module)
+ [Integrar um nó gerenciado a um domínio usando o documento JSON `AWS-JoinDirectoryServiceDomain`](#walkthrough-powershell-domain-join)
+ [Enviar métricas do Windows ao Amazon CloudWatch Logs usando o documento `AWS-ConfigureCloudWatch`](#walkthrough-powershell-windows-metrics)
+ [Ative ou desative a atualização automática do Windows usando o`AWS-ConfigureWindowsUpdate`document](#walkthrough-powershell-enable-windows-update)
+ [Gerenciar atualizações do Windows usando o Run Command](#walkthough-powershell-windows-updates)

## Definir configurações de sessão do AWS Tools for Windows PowerShell
<a name="walkthrough-powershell-settings"></a>

**Especificar suas credenciais**  
Abra as **Tools for Windows PowerShell** no computador local e execute o comando a seguir para especificar suas credenciais. Você deve ter permissões de administrador sobre os nós gerenciados que deseja configurar ou deve ter recebido a permissão apropriada no AWS Identity and Access Management (IAM). Para obter mais informações, consulte [Configurar nós gerenciados para o AWS Systems Manager](systems-manager-setting-up-nodes.md).

```
Set-AWSCredentials –AccessKey key-name –SecretKey key-name
```

**Definir uma padrão Região da AWS**  
Execute o comando a seguir para definir a região da sua sessão do PowerShell. O exemplo usa região Leste dos EUA (Ohio) (us-east-2). O Run Command está disponível nas Regiões da AWS listadas em [Systems Manager service endpoints](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region) no *Referência geral da Amazon Web Services*.

```
Set-DefaultAWSRegion `
    -Region us-east-2
```

## Listar todos os documentos disponíveis
<a name="walkthrough-powershell-all-documents"></a>

Esse comando lista todos os documentos disponíveis para a sua conta.

```
Get-SSMDocumentList
```

## Executar comandos ou scripts do PowerShell
<a name="walkthrough-powershell-run-script"></a>

Por meio do Run Command e do documento `AWS-RunPowerShell`, você pode executar qualquer comando ou script em um nó gerenciado, como se estivesse conectado localmente. Você pode emitir comandos ou inserir um caminho para um script local para executar o comando. 

**nota**  
Para obter informações sobre a reinicialização de nós gerenciados ao usar o Run Command para chamar scripts, consulte [Tratamento de reinicializações ao executar comandos](send-commands-reboot.md).

**Veja a descrição e os parâmetros disponíveis**

```
Get-SSMDocumentDescription `
    -Name "AWS-RunPowerShellScript"
```

**Veja mais informações sobre parâmetros**

```
Get-SSMDocumentDescription `
    -Name "AWS-RunPowerShellScript" | Select -ExpandProperty Parameters
```

### Enviar um comando usando o documento `AWS-RunPowerShellScript`
<a name="walkthrough-powershell-run-script-send-command-aws-runpowershellscript"></a>

O comando a seguir mostra o conteúdo do diretório `"C:\Users"` e o conteúdo do diretório `"C:\"` em dois nós. 

```
$runPSCommand = Send-SSMCommand `
    -InstanceIds @("instance-ID-1", "instance-ID-2") `
    -DocumentName "AWS-RunPowerShellScript" `
    -Comment "Demo AWS-RunPowerShellScript with two instances" `
    -Parameter @{'commands'=@('dir C:\Users', 'dir C:\')}
```

**Obter detalhes da solicitação de comando**  
O comando a seguir usa o `CommandId` para obter o status da execução do comando em ambos os nós. Este exemplo usa o `CommandId` que foi retornado no comando anterior. 

```
Get-SSMCommand `
    -CommandId $runPSCommand.CommandId
```

O status do comando neste exemplo pode ser Success, Pending ou InProgress.

**Obter informações de comando por nó gerenciado**  
O comando a seguir usa o `CommandId` do comando anterior para obter o status da execução do comando por nó gerenciado.

```
Get-SSMCommandInvocation `
    -CommandId $runPSCommand.CommandId
```

**Obter informações de comando com dados de resposta para um nó gerenciado específico**  
O comando a seguir retorna a saída da solicitação `Send-SSMCommand` original para um nó gerenciado específico. 

```
Get-SSMCommandInvocation `
    -CommandId $runPSCommand.CommandId `
    -Details $true `
    -InstanceId instance-ID | Select -ExpandProperty CommandPlugins
```

### Cancelar um comando
<a name="walkthrough-powershell-run-script-cancel-command"></a>

O comando a seguir cancela o `Send-SSMCommand` para o documento `AWS-RunPowerShellScript`.

```
$cancelCommand = Send-SSMCommand `
    -InstanceIds @("instance-ID-1","instance-ID-2") `
    -DocumentName "AWS-RunPowerShellScript" `
    -Comment "Demo AWS-RunPowerShellScript with two instances" `
    -Parameter @{'commands'='Start-Sleep –Seconds 120; dir C:\'}

Stop-SSMCommand -CommandId $cancelCommand.CommandId
```

**Verificar o status do comando**  
O comando a seguir verifica o status do comando `Cancel`.

```
Get-SSMCommand `
    -CommandId $cancelCommand.CommandId
```

## Instalar uma aplicação usando o documento `AWS-InstallApplication`
<a name="walkthrough-powershell-install-application"></a>

Usando o Run Command e o documento `AWS-InstallApplication`, é possível instalar, reparar ou desinstalar aplicações em nós gerenciados. O comando requer o caminho ou endereço para um MSI.

**nota**  
Para obter informações sobre a reinicialização de nós gerenciados ao usar o Run Command para chamar scripts, consulte [Tratamento de reinicializações ao executar comandos](send-commands-reboot.md).

**Veja a descrição e os parâmetros disponíveis**

```
Get-SSMDocumentDescription `
    -Name "AWS-InstallApplication"
```

**Veja mais informações sobre parâmetros**

```
Get-SSMDocumentDescription `
    -Name "AWS-InstallApplication" | Select -ExpandProperty Parameters
```

### Enviar um comando usando o documento `AWS-InstallApplication`
<a name="walkthrough-powershell-install-application-send-command-aws-installapplication"></a>

O comando a seguir instala uma versão do Python em seu nó gerenciado no modo autônomo e registra a saída em um arquivo de texto local na sua unidade `C:`.

```
$installAppCommand = Send-SSMCommand `
    -InstanceId instance-ID `
    -DocumentName "AWS-InstallApplication" `
    -Parameter @{'source'='https://www.python.org/ftp/python/2.7.9/python-2.7.9.msi'; 'parameters'='/norestart /quiet /log c:\pythoninstall.txt'}
```

**Obter informações de comando por nó gerenciado**  
O comando a seguir usa o `CommandId` para obter o status da execução do comando.

```
Get-SSMCommandInvocation `
    -CommandId $installAppCommand.CommandId `
    -Details $true
```

**Obter informações de comando com dados de resposta para um nó gerenciado específico**  
O comando a seguir retorna os resultados da instalação do Python.

```
Get-SSMCommandInvocation `
    -CommandId $installAppCommand.CommandId `
    -Details $true `
    -InstanceId instance-ID | Select -ExpandProperty CommandPlugins
```

## Instalar um módulo do PowerShell usando a`AWS-InstallPowerShellModule`Documento JSON
<a name="walkthrough-powershell-install-module"></a>

Você pode usar o Run Command para instalar módulos do PowerShell em nós gerenciados. Para obter mais informações sobre os módulos PowerShell, consulte [Módulos do Windows PowerShell](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_modules?view=powershell-6).

**Veja a descrição e os parâmetros disponíveis**

```
Get-SSMDocumentDescription `
    -Name "AWS-InstallPowerShellModule"
```

**Veja mais informações sobre parâmetros**

```
Get-SSMDocumentDescription `
    -Name "AWS-InstallPowerShellModule" | Select -ExpandProperty Parameters
```

### Instalar um módulo PowerShell
<a name="walkthrough-powershell-install-module-install"></a>

O comando a seguir faz download do arquivo EZOut.zip, instala o arquivo e depois executa um comando adicional para instalar o visualizador XPS. Por fim, a saída desse comando é carregada em um bucket do S3 chamado "amzn-s3-demo-bucket". 

```
$installPSCommand = Send-SSMCommand `
    -InstanceId instance-ID `
    -DocumentName "AWS-InstallPowerShellModule" `
    -Parameter @{'source'='https://gallery.technet.microsoft.com/EZOut-33ae0fb7/file/110351/1/EZOut.zip';'commands'=@('Add-WindowsFeature -name XPS-Viewer -restart')} `
    -OutputS3BucketName amzn-s3-demo-bucket
```

**Obter informações de comando por nó gerenciado**  
O comando a seguir usa o `CommandId` para obter o status da execução do comando. 

```
Get-SSMCommandInvocation `
    -CommandId $installPSCommand.CommandId `
    -Details $true
```

**Obter informações de comando com dados de resposta para o nó gerenciado**  
O comando a seguir retorna a saída do `Send-SSMCommand` original para o `CommandId` específico. 

```
Get-SSMCommandInvocation `
    -CommandId $installPSCommand.CommandId `
    -Details $true | Select -ExpandProperty CommandPlugins
```

## Integrar um nó gerenciado a um domínio usando o documento JSON `AWS-JoinDirectoryServiceDomain`
<a name="walkthrough-powershell-domain-join"></a>

Por meio do Run Command, você pode unir rapidamente um nó gerenciado a um domínio do AWS Directory Service. Antes de executar esse comando, você deverá [criar um diretório](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started_create_directory.html). Recomendamos também que conheça mais sobre o Directory Service. Para obter mais informações, consulte o [Guia do Administrador do AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/).

Você só pode unir um nó gerenciado a um domínio. Não é possível remover um nó de um domínio.

**nota**  
Para obter informações sobre nós gerenciados ao usar o Run Command para chamar scripts, consulte [Tratamento de reinicializações ao executar comandos](send-commands-reboot.md).

**Veja a descrição e os parâmetros disponíveis**

```
Get-SSMDocumentDescription `
    -Name "AWS-JoinDirectoryServiceDomain"
```

**Veja mais informações sobre parâmetros**

```
Get-SSMDocumentDescription `
    -Name "AWS-JoinDirectoryServiceDomain" | Select -ExpandProperty Parameters
```

### Integrar um nó gerenciado a um domínio
<a name="walkthrough-powershell-domain-join-instance"></a>

O comando a seguir integra um nó gerenciado a um domínio Directory Service determinado e carrega qualquer saída gerada no exemplo do bucket do Amazon Simple Storage Service (Amazon S3). 

```
$domainJoinCommand = Send-SSMCommand `
    -InstanceId instance-ID `
    -DocumentName "AWS-JoinDirectoryServiceDomain" `
    -Parameter @{'directoryId'='d-example01'; 'directoryName'='ssm.example.com'; 'dnsIpAddresses'=@('192.168.10.195', '192.168.20.97')} `
    -OutputS3BucketName amzn-s3-demo-bucket
```

**Obter informações de comando por nó gerenciado**  
O comando a seguir usa o `CommandId` para obter o status da execução do comando. 

```
Get-SSMCommandInvocation `
    -CommandId $domainJoinCommand.CommandId `
    -Details $true
```

**Obter informações de comando com dados de resposta para o nó gerenciado**  
Este comando retorna a saída do `Send-SSMCommand` original para o `CommandId` específico.

```
Get-SSMCommandInvocation `
    -CommandId $domainJoinCommand.CommandId `
    -Details $true | Select -ExpandProperty CommandPlugins
```

## Enviar métricas do Windows ao Amazon CloudWatch Logs usando o documento `AWS-ConfigureCloudWatch`
<a name="walkthrough-powershell-windows-metrics"></a>

Você pode enviar mensagens do Windows Server nos logs do aplicativo, do sistema e do Rastreamento de Eventos para Windows (ETW) para o Amazon CloudWatch Logs. Quando você permite o registro pela primeira vez, o Systems Manager envia todos os logs gerados no prazo de um (1) minuto a partir do momento em que você inicia o upload de logs para a aplicação, o sistema, a segurança e os logs do ETW. Logs ocorridos antes dessa hora não são incluídos. Se você desativar o registro em log e depois reabilitá-lo, o Systems Manager enviará logs do ponto em que ele parou. Para todos os arquivos de log personalizados e logs do IIS (Serviços de Informações da Internet), o Systems Manager lê os arquivos de log desde o início. Além disso, o Systems Manager também pode enviar dados do contador de performance para o CloudWatch Logs.

Se você habilitou anteriormente a integração do CloudWatch no EC2Config, as configurações do Systems Manager substituirão todas as configurações armazenadas localmente em seu nó gerenciado no arquivo `C:\Program Files\Amazon\EC2ConfigService\Settings\AWS.EC2.Windows.CloudWatch.json`. Para obter mais informações sobre como usar o EC2Config para gerenciar o contador e os logs de performance em um único nó gerenciado, consulte [Coletar métricas e logs de instâncias do Amazon EC2 em servidores on-premises com o agente do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html) no *Guia do usuário do Amazon CloudWatch*.

**Veja a descrição e os parâmetros disponíveis**

```
Get-SSMDocumentDescription `
    -Name "AWS-ConfigureCloudWatch"
```

**Veja mais informações sobre parâmetros**

```
Get-SSMDocumentDescription `
    -Name "AWS-ConfigureCloudWatch" | Select -ExpandProperty Parameters
```

### Enviar logs de aplicativo ao CloudWatch
<a name="walkthrough-powershell-windows-metrics-send-logs-cloudwatch"></a>

O comando a seguir configura o nó gerenciado e move logs de aplicações do Windows para o CloudWatch.

```
$cloudWatchCommand = Send-SSMCommand `
    -InstanceID instance-ID `
    -DocumentName "AWS-ConfigureCloudWatch" `
    -Parameter @{'properties'='{"engineConfiguration": {"PollInterval":"00:00:15", "Components":[{"Id":"ApplicationEventLog", "FullName":"AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters":{"LogName":"Application", "Levels":"7"}},{"Id":"CloudWatch", "FullName":"AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters":{"Region":"region", "LogGroup":"my-log-group", "LogStream":"instance-id"}}], "Flows":{"Flows":["ApplicationEventLog,CloudWatch"]}}}'}
```

**Obter informações de comando por nó gerenciado**  
O comando a seguir usa o `CommandId` para obter o status da execução do comando. 

```
Get-SSMCommandInvocation `
    -CommandId $cloudWatchCommand.CommandId `
    -Details $true
```

**Obter informações de comando com dados de resposta para um nó gerenciado específico**  
O comando a seguir retorna os resultados da configuração do Amazon CloudWatch.

```
Get-SSMCommandInvocation `
    -CommandId $cloudWatchCommand.CommandId `
    -Details $true `
    -InstanceId instance-ID | Select -ExpandProperty CommandPlugins
```

### Enviar contadores de performance ao CloudWatch usando o documento `AWS-ConfigureCloudWatch`
<a name="walkthrough-powershell-windows-metrics-send-performance-counters-cloudwatch"></a>

O comando de demonstração a seguir faz upload de contadores de performance para o CloudWatch. Para obter mais informações, consulte o *[Guia do usuário do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)*.

```
$cloudWatchMetricsCommand = Send-SSMCommand `
    -InstanceID instance-ID `
    -DocumentName "AWS-ConfigureCloudWatch" `
    -Parameter @{'properties'='{"engineConfiguration": {"PollInterval":"00:00:15", "Components":[{"Id":"PerformanceCounter", "FullName":"AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters":{"CategoryName":"Memory", "CounterName":"Available MBytes", "InstanceName":"", "MetricName":"AvailableMemory", "Unit":"Megabytes","DimensionName":"", "DimensionValue":""}},{"Id":"CloudWatch", "FullName":"AWS.EC2.Windows.CloudWatch.CloudWatch.CloudWatchOutputComponent,AWS.EC2.Windows.CloudWatch", "Parameters":{"AccessKey":"", "SecretKey":"","Region":"region", "NameSpace":"Windows-Default"}}], "Flows":{"Flows":["PerformanceCounter,CloudWatch"]}}}'}
```

## Ative ou desative a atualização automática do Windows usando o`AWS-ConfigureWindowsUpdate`document
<a name="walkthrough-powershell-enable-windows-update"></a>

Usando o Run Command e o documento `AWS-ConfigureWindowsUpdate`, é possível ativar ou desativar as atualizações automáticas do Windows em seus nós gerenciados do Windows Server. Esse comando configura o agente de atualização do Windows para baixar e instalar atualizações do Windows na data e hora no dia e hora que você especificar. Se uma atualização exigir uma reinicialização, o nó gerenciado reiniciará automaticamente 15 minutos após a instalação das atualizações. Com esse comando, você também pode configurar o Windows Update para verificar atualizações, mas não pode instalá-las. O documento `AWS-ConfigureWindowsUpdate` é oficialmente compatível com as versões Windows Server 2012 e posteriores.

**Veja a descrição e os parâmetros disponíveis**

```
Get-SSMDocumentDescription `
    –Name "AWS-ConfigureWindowsUpdate"
```

**Veja mais informações sobre parâmetros**

```
Get-SSMDocumentDescription `
    -Name "AWS-ConfigureWindowsUpdate" | Select -ExpandProperty Parameters
```

### Ativar a atualização automática do Windows
<a name="walkthrough-powershell-enable-windows-update-automatic"></a>

O comando a seguir configura o Windows Update para baixar e instalar atualizações diariamente às 22h. 

```
$configureWindowsUpdateCommand = Send-SSMCommand `
    -InstanceId instance-ID `
    -DocumentName "AWS-ConfigureWindowsUpdate" `
    -Parameters @{'updateLevel'='InstallUpdatesAutomatically'; 'scheduledInstallDay'='Daily'; 'scheduledInstallTime'='22:00'}
```

**Visualizar o status do comando para permitir atualizações automáticas do Windows**  
O comando a seguir usa o `CommandId` para obter o status da execução do comando para ativar a Atualização Automática do Windows.

```
Get-SSMCommandInvocation `
    -Details $true `
    -CommandId $configureWindowsUpdateCommand.CommandId | Select -ExpandProperty CommandPlugins
```

### Desativar a atualização automática do Windows
<a name="walkthrough-powershell-enable-windows-update-disable"></a>

O seguinte comando reduz o nível de notificação do Windows Update para que o sistema verifique se há atualizações, mas não atualiza automaticamente o nó gerenciado.

```
$configureWindowsUpdateCommand = Send-SSMCommand `
    -InstanceId instance-ID `
    -DocumentName "AWS-ConfigureWindowsUpdate" `
    -Parameters @{'updateLevel'='NeverCheckForUpdates'}
```

**Visualizar o status do comando para desativar a atualização automática do Windows**  
O comando a seguir usa o `CommandId` para obter o status da execução do comando para ativar a Atualização Automática do Windows.

```
Get-SSMCommandInvocation `
    -Details $true `
    -CommandId $configureWindowsUpdateCommand.CommandId | Select -ExpandProperty CommandPlugins
```

## Gerenciar atualizações do Windows usando o Run Command
<a name="walkthough-powershell-windows-updates"></a>

Usando o Run Command e do documento `AWS-InstallWindowsUpdates`, você pode gerenciar atualizações dos nós gerenciados do Windows Server. Esse comando verifica ou instala atualizações ausentes em nós gerenciados e, opcionalmente, reinicializa após a instalação. Você também pode especificar as classificações e os níveis de severidade adequados para as atualizações a serem instaladas no ambiente.

**nota**  
Para obter informações sobre a reinicialização de nós gerenciados ao usar o Run Command para chamar scripts, consulte [Tratamento de reinicializações ao executar comandos](send-commands-reboot.md).

Os exemplos a seguir demonstram como realizar as tarefas de gerenciamento do Windows Update especificadas.

### Procurar todas as atualizações do Windows ausentes
<a name="walkthough-powershell-windows-updates-search"></a>

```
Send-SSMCommand `
    -InstanceId instance-ID `
    -DocumentName "AWS-InstallWindowsUpdates" `
    -Parameters @{'Action'='Scan'}
```

### Instalar atualizações específicas do Windows
<a name="walkthough-powershell-windows-updates-install-specific"></a>

```
Send-SSMCommand `
    -InstanceId instance-ID `
    -DocumentName "AWS-InstallWindowsUpdates" `
    -Parameters @{'Action'='Install';'IncludeKbs'='kb-ID-1,kb-ID-2,kb-ID-3';'AllowReboot'='True'}
```

### Instalar atualizações importantes do Windows ausentes
<a name="walkthough-powershell-windows-updates-install-missing"></a>

```
Send-SSMCommand `
    -InstanceId instance-ID `
    -DocumentName "AWS-InstallWindowsUpdates" `
    -Parameters @{'Action'='Install';'SeverityLevels'='Important';'AllowReboot'='True'}
```

### Instalar atualizações do Windows ausentes com exclusões específicas
<a name="walkthough-powershell-windows-updates-install-exclusions"></a>

```
Send-SSMCommand `
    -InstanceId instance-ID `
    -DocumentName "AWS-InstallWindowsUpdates" `
    -Parameters @{'Action'='Install';'ExcludeKbs'='kb-ID-1,kb-ID-2';'AllowReboot'='True'}
```