Documentação atualizada para compatibilidade com a ultima versão do PAM (5.1.0)
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Instalaçāo em grandes redes

Esse script em PowerShell varre uma rede encontrando os dispositivos que respondem a ping

# Caminhos e credenciais
$arquivo = "sonar-agent-discover-workstation-amd64.exe"
$origem = "\\diretorio\NETLOGON\DataDike\$arquivo"
$usuario = "seulogin"
$senha = 'suasenha'

# Loop de IPs de 172.24.18.1 a 172.24.18.254
for ($i = 1; $i -le 254; $i++) {
    $DESTINO_IP = "172.24.81.$i"
    Write-Host "`n[INFO] Processando $DESTINO_IP..."

    # Verifica se a máquina responde ao ping
    $pingResult = Test-Connection -ComputerName $DESTINO_IP -Count 1 -Quiet
    if ($pingResult) {
        # Máquina online, tenta copiar e executar o arquivo
        Write-Host "[INFO] Máquina online, copiando arquivo..."

        try {
            robocopy "\\diretorio\NETLOGON\DataDike" "\\$DESTINO_IP\c$\Temp" $arquivo /R:0 /W:0 /IS | Out-Null
            Write-Host "[INFO] Arquivo copiado com sucesso para $DESTINO_IP"

            # Executar o instalador via PsExec
            Write-Host "[INFO] Executando o instalador via PsExec..."
            .\PsExec.exe \\$DESTINO_IP -u $usuario -p $senha -h -i -d "\\$DESTINO_IP\C$\Temp\$arquivo" /silent -accepteula
            Write-Host "[INFO] Instalação iniciada em $DESTINO_IP"
        }
        catch {
            Write-Warning "[ERRO] Não foi possível copiar ou executar o arquivo em $DESTINO_IP. Erro: $_"
        }
    }
    else {
        Write-Warning "[SKIP] $DESTINO_IP não está acessível."
    }
}

Write-Host "`n[INFO] Processamento concluído."

Descrição do Script de Instalação Paralela do Agente Sonar

Este script PowerShell automatiza a instalação remota do agente Sonar em múltiplas máquinas de redes específicas, utilizando recursos de paralelismo do PowerShell 7+ para acelerar o processo.

Principais funcionalidades:

  • Suporte a múltiplas sub-redes: permite definir uma lista de sub-redes alvo, criando dinamicamente o conjunto de IPs a serem processados.

  • Verificação prévia via ping: antes de tentar a instalação, o script faz um ping para cada IP, garantindo que a máquina está online e acessível.

  • Validação do TTL do ping: o script confere o valor do TTL para validar que o dispositivo pertence à rede desejada (TTL 126).

  • Verificação se o agente já está instalado: antes de instalar, verifica se o diretório do Sonar já existe na máquina remota para evitar instalações redundantes.

  • Cópia do instalador: utiliza robocopy para transferir o instalador para a pasta temporária da máquina remota.

  • Execução remota do instalador: usa PsExec para executar o instalador no computador remoto, com parâmetros para instalação silenciosa.

  • Paralelismo: roda até 10 instalações em paralelo, acelerando o processo em redes grandes.

  • Registro em log: mantém um arquivo de log local com o status de cada instalação, facilitando auditoria e monitoramento.

Requisitos:

  • PowerShell 7 ou superior, para suporte ao parâmetro -Parallel no ForEach-Object.

  • Permissões adequadas para acesso remoto (compartilhamentos e execução remota).

  • PsExec disponível no diretório do script.

  • Pasta C:\Temp existente ou criada automaticamente para arquivos temporários e logs.

Atualizado

Isto foi útil?