> For the complete documentation index, see [llms.txt](https://wiki.datadike.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.datadike.com/product-docs/product-guide/configuracoes/sonar/rmm/comandos-remotos/comandos-diretos.md).

# Comandos Diretos

Além da execução de scripts complexos, o Sonar oferece a funcionalidade de executar comandos simples de uma linha diretamente nos agentes, sem a necessidade de criar um script completo.

{% hint style="success" %}

#### Quando Usar Comandos Diretos

* **Comandos simples**: Operações que podem ser executadas em uma única linha
* **Verificações rápidas**: Consultas de status ou informações básicas
* **Operações pontuais**: Tarefas que não requerem lógica complexa
* **Testes**: Validação rápida antes de criar scripts mais elaborados
  {% endhint %}

### Acessando a Funcionalidade

| Send Command (Execução Individual)                                                                                                                                                                                                          | Bulk Command (Execução em Massa)                                                                                                                                                  |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <ol><li>Na tabela de agentes, clique com o <strong>botão direito</strong> no agente desejado</li><li>Selecione <strong>Send Command</strong> no menu de contexto</li><li>A janela "Send command on \[nome-do-agente]" será aberta</li></ol> | <ol><li>No menu principal, acesse <strong>Tools > Bulk Command</strong></li><li>A janela "Run Bulk Command" será aberta</li><li>Configure o escopo de execução desejado</li></ol> |

### Configurações de Execução

#### Send Command (Individual)

**Configurações disponíveis:**

* **Shell**: CMD, PowerShell (Windows) ou Bash (Linux/macOS)
* **Run As User**: Executar no contexto do usuário logado
* **Timeout**: Tempo limite em segundos (padrão: 30)
* **Command**: Campo de texto para o comando

#### Bulk Command (Massa)

**Escopo de execução:**

* **Client**: Todos agentes de um cliente específico
* **Site**: Todos agentes de um site específico
* **Selected Agents**: Agentes previamente selecionados
* **All**: Todos os agentes do sistema

**Filtros disponíveis:**

* **Agent OS**: Windows, Linux ou macOS
* **Agent Type**: Servers, Workstations ou All

**Outras configurações:**

* **Command**: Campo de texto para o comando
* **Timeout**: Tempo limite para execução

### Exemplos de Comandos

**Comandos CMD (Windows)**

```sh
# REM Verificar versão do Windows
ver

# REM Listar arquivos em diretório
dir C:\Program Files

# REM Verificar conectividade
ping google.com

# REM Informações do sistema
systeminfo | findstr /B "OS Name OS Version System Type"
```

Comandos Bash (Linux/macOS)

```bash
# Verificar espaço em disco
df -h

# Verificar uso de memória
free -h

# Listar processos por uso de CPU
ps aux --sort=-%cpu | head -10

# Verificar serviços ativos (systemd)
systemctl list-units --type=service --state=active

# Verificar últimos logins
last -n 10
```

{% hint style="success" %}

#### Quando Migrar para Scripts

Considere criar um script completo quando:

* O comando requer múltiplas etapas
* É necessário tratamento de erros específico
* Precisa de logging detalhado
* Requer validação de pré-requisitos
* Será usado frequentemente
  {% endhint %}

{% hint style="danger" %}
Nota: A execução de comandos diretos é uma ferramenta poderosa para administração rápida, mas sempre considere a segurança e teste os comandos em ambiente controlado antes de executar em produção.
{% endhint %}
