Pontos principais:
Os scripts de remediação automatizam a investigação e a correção de configurações incorretas de DNS, falhas de patches e criptografia BitLocker desativada.
- PowerShell para problemas de DNS: resolva problemas de DNS e registre os resultados da resolução com os comandos do PowerShell abaixo.
- Comandos em lote para problemas de DNS: se prefere não usar o PowerShell, scripts em lote corrigem erros de DNS rapidamente.
- PowerShell para corrigir falhas de patches: siga o script abaixo para usar o módulo PSWindowsUpdate certo e identificar, instalar ou tentar de novo atualizações e patches ausentes.
- Comandos em lote para solucionar problemas de atualização: use o comando em lote abaixo para redefinir rapidamente componentes de atualização e procurar atualizações pendentes ou perdidas. Diferente do PowerShell, porém, um comando em lote não instala novas atualizações automaticamente.
- Recuperação do BitLocker com scripts de remediação no PowerShell: use o script abaixo para automatizar a verificação do status de criptografia, ativar o BitLocker quando estiver desativado e restaurar chaves de recuperação de backup e dados de log de criptografia, mantendo a segurança de endpoint.
- Scripts no Registro para DNS, patches e BitLocker: é possível editar o Registro do Windows para corrigir configurações de DNS, desativar adiamentos de atualização e ativar o BitLocker em dispositivos sem TPM.
- GPO para implantar scripts: acesse o Console de Gerenciamento de Política de Grupo e use a GPO para automatizar a investigação e a correção de problemas de DNS, patches e BitLocker.
Falhas de DNS, patches do Windows que não se instalam e configurações incorretas do BitLocker podem enfraquecer a postura de segurança de um ambiente. Automatizar a correção desses problemas com scripts melhora o tempo médio de reparo (MTTR), reduzindo o volume de tickets de suporte e o tempo de inatividade. Este guia apresenta scripts de remediação que administradores podem implantar por meio de um software de monitoramento e gerenciamento remoto (RMM) para resolver problemas.
Se prefere assistir em vez de ler, confira nosso vídeo Como criar scripts de remediação RMM personalizados para corrigir problemas de DNS, patches e BitLocker automaticamente.
Scripts de remediação para corrigir problemas de DNS, patches e BitLocker
Implantar scripts por uma plataforma RMM reduz correções manuais e repetitivas e permite gerenciar endpoints de forma centralizada e automática. Com isso, a equipe entrega o serviço mais rápido, corrige problemas na hora e mantém os endpoints em conformidade com os requisitos da organização ou do setor.
📌 Pré-requisitos:
- Acesso a uma plataforma RMM.
- PowerShell 5.1 ou superior nos endpoints de destino.
- Acesso a uma conta de administrador.
- Recursos BitLocker e Windows Update instalados.
- Acesso à Política de Grupo para implantação centralizada.
📌 Estratégias de implantação recomendadas:
💡 Observação: os scripts deste guia funcionam em plataformas RMM que permitem implantar scripts remotos do PowerShell e em lote. Para simplificar, usaremos NinjeOne RMM como ferramenta de implantação dos scripts de remediação.
⚠️ Importante: execute os passos abaixo para os métodos 1 a 6 antes de continuar:
A plataforma RMM da NinjaOne é compatível com as linguagens JavaScript, PowerShell, Batch, ShellScript e VBS Script. Veja como enviar scripts personalizados para a biblioteca de scripts do NinjaOne:
- Abra NinjaOne RMM e vá para:
Administration > Library > Automation.
- Em Automation, clique em Add e selecione New Script.
- Preencha os campos e parâmetros necessários para o script personalizado.
- Insira os scripts fornecidos neste guia para salvá-los como script de automação.
- Confirme que a linguagem selecionada corresponde à do script.
- Depois de salvar, use as ferramentas nativas do NinjaOne para escolher os dispositivos de destino da automação marcando a caixa de seleção ao lado deles.
Método 1: scripts do PowerShell para remediar problemas de DNS automaticamente
📌 Casos de uso: use scripts do PowerShell para limpar o DNS, substituindo registros de nomes de domínio e endereços IP por novos. Também dá para reiniciar o serviço de cliente DNS pelo PowerShell e restabelecer a conexão com os servidores DNS.
⚠️ Importante: em ambientes ingressados no domínio com configurações de DNS via GPO, reiniciar o DNS tem efeito apenas temporário. (Veja ⚠️ Pontos de atenção.)
Script de remediação para limpar o cache DNS:
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("8.8.8.8","8.8.4.4")
Clear-DnsClientCache
💡 Observação: nem todo dispositivo usa “Ethernet” como nome padrão do adaptador de rede, o que pode gerar erros em implantações em massa. Use correspondência com curinga para implantar scripts em dispositivos com nomes de adaptador diferentes.
Get-NetAdapter | Where-Object { $_.Status -eq "Up" } | ForEach-Object {
Set-DnsClientServerAddress -InterfaceAlias $_.Name -ServerAddresses ("8.8.8.8", "8.8.4.4")
}
Clear-DnsClientCache
Script do PowerShell para reiniciar o serviço de cliente DNS:
Os administradores podem redefinir o Cliente DNS em Services.msc, limpando o cache DNS em memória e reiniciando o resolvedor DNS.
Restart-Service -Name dnscache
Script para registrar os resultados do teste de resolução
O script a seguir testa se a resolução de DNS está funcionando e grava os erros no Log de Eventos do Windows em caso de falha.
$test = Test-Connection google.com -Count 2 -Quiet
if (-not $test) {
Write-EventLog -LogName Application -Source "DNSFix" -EventID 3001 -EntryType Warning -Message "DNS resolution failed after fix."
}
💡 Dica: dá para agendar esses scripts na plataforma RMM para manutenção periódica do DNS. Se seu RMM oferece alertas em tempo real, é possível disparar os scripts de remediação de DNS automaticamente com base em alertas e logs.
Método 2: comandos em lote para corrigir o DNS pelo Prompt de Comando
📌 Caso de uso: use o script em lote abaixo para limpar o cache DNS, reiniciar o cliente, definir um servidor e testar a correção de uma só vez.
Remediação básica de problemas de DNS com script em lote:
@echo off
ipconfig /flushdns
net stop dnscache
net start dnscache
netsh interface ip set dns "Ethernet" static 8.8.8.8
if not exist C:\Logs mkdir C:\Logs
echo [%DATE% %TIME%] DNS test >> C:\Logs\dns_fix_result.txt
nslookup google.com >> C:\Logs\dns_fix_result.txt
⚠️ Importante: um nome fixo como “Ethernet” pode fazer o script falhar se não houver adaptador correspondente, já que netsh exige nomes exatos. (Veja ⚠️ Pontos de atenção.)
Método 3: scripts do PowerShell para resolver falhas de patches
📌 Casos de uso: use os scripts do PowerShell para forçar atualizações perdidas, redefinir componentes de atualização e registrar os resultados para diagnosticar erros.
Forçar nova verificação e instalar atualizações pendentes:
Este script instala e importa primeiro o módulo PSWindowsUpdate necessário, o que dá mais controle sobre o gerenciamento de atualizações. Em seguida, verifica e instala as atualizações pendentes, deixando as máquinas de destino em dia.
Install-Module PSWindowsUpdate -Force -AllowClobber
Import-Module PSWindowsUpdate
Get-WindowsUpdate -AcceptAll -Install -AutoReboot
Script do PowerShell para redefinir os componentes do Windows Update:
O script abaixo interrompe o Serviço do Windows Update (wuauserv). Depois, exclui a pasta SoftwareDistribution, que guarda atualizações em cache e arquivos temporários e pode causar corrupção ou travar atualizações. Use este script para resolver falhas após um download corrompido ou para destravar verificações de atualização lentas ou paradas.
Stop-Service wuauserv
Remove-Item -Path "C:\Windows\SoftwareDistribution" -Recurse -Force
Start-Service wuauserv
Gerar um resumo de log das atualizações com scripts:
Use o script abaixo para coletar dados de diagnóstico após a atualização e centralizar os logs, facilitando o monitoramento de erros.
Get-WindowsUpdateLog -LogPath "C:\Logs\WindowsUpdateSummary.txt"
⚠️ Importante: confirme que C:\Logs existe antes de defini-lo como caminho de log. (Veja ⚠️ Pontos de atenção.)
Método 4: comandos em lote no Prompt de Comando para solucionar problemas de atualização
📌 Caso de uso: o Prompt de Comando permite executar comandos em lote que redefinem os componentes de atualização e disparam uma verificação.
Script em lote básico para corrigir atualizações:
O comando em lote a seguir redefine rapidamente os componentes de atualização e procura atualizações pendentes ou perdidas. No entanto, diferente do método 3, o Prompt de Comando não instala atualizações automaticamente. O usuário precisaria atualizar o Windows manualmente.
@echo off
net stop wuauserv
rd /s /q C:\Windows\SoftwareDistribution
net start wuauserv
wuauclt /detectnow
💡 Dica: defina uma condição de política no RMM para disparar este script quando a última atualização instalada ultrapassar determinado número de dias. Assim, os endpoints gerenciados buscam atualizações com regularidade e consistência.
Método 5: recuperação do BitLocker com scripts de remediação no PowerShell
Com o BitLocker desativado, o endpoint fica fora de conformidade e os dados ficam expostos a ameaças. Por isso, manter a proteção do BitLocker sempre ativa em todos os endpoints gerenciados fortalece a postura de segurança da organização.
📌 Casos de uso: use scripts no RMM para verificar o status do BitLocker, fazer backup das chaves de recuperação, checar o status de criptografia e registrá-lo em log.
📌 Pré-requisito: dispositivos com Trusted Platform Module (TPM)
Scripts para verificar e ativar o BitLocker quando estiver ausente:
Este script do PowerShell recupera o objeto de volume do BitLocker de uma unidade específica, por exemplo, a C:. Além disso, ativa o BitLocker automaticamente quando ele está desligado, sem exigir nenhuma ação do usuário final.
$bitlocker = Get-BitLockerVolume -MountPoint "C:"
if ($bitlocker.ProtectionStatus -eq "Off") {
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector
}
💡 OBSERVAÇÃO: -TpmProtector exige um TPM disponível e pronto no dispositivo de destino. Aplicá-lo em dispositivos sem TPM gera erro.
Exportar a chave de recuperação para o controlador de domínio ou localmente:
O script abaixo procura o protetor de Senha de Recuperação em um volume do BitLocker especificado. Depois, faz backup da chave de recuperação no controlador de domínio ou no armazenamento padrão. Isso garante que a recuperação do BitLocker seja possível em caso de redefinição do TPM ou corrupção do sistema operacional.
Backup-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId (
$bitlocker.KeyProtector | Where-Object { $_.KeyProtectorType -eq 'RecoveryPassword' }
).KeyProtectorId
Verificar e registrar o status de criptografia do BitLocker:
Use o script abaixo para criar um registro de log simples como comprovação local do status de criptografia do dispositivo.
$bitlocker | Select-Object MountPoint, VolumeType, ProtectionStatus, EncryptionPercentage | Out-File "C:\Logs\bitlocker_status.txt"
💡 Dica: é possível configurar esse script para rodar em um agendamento ou quando o status de proteção do BitLocker for detectado como Desativado.
Método 6: pelo Registro, para políticas de DNS, patches ou BitLocker
O Registro contém valores que podem ser configurados para substituir servidores DNS incorretos, desativar adiamentos do Windows Update e forçar a ativação do BitLocker em dispositivos sem TPM.
⚠️ Aviso: configurações incorretas no Registro podem comprometer a estabilidade do sistema e causar problemas como falhas de inicialização e queda significativa de desempenho. (Veja ⚠️ Pontos de atenção.)
📌 Casos de uso: use scripts do PowerShell para automatizar configurações do Registro e implantá-las de forma consistente em todos os endpoints com uma plataforma RMM.
Atribuir um novo servidor DNS com scripts do PowerShell:
Este script define um servidor DNS estático para todo o sistema, substituindo qualquer configuração automática de DNS. Com isso, o sistema passa a usar o DNS especificado no Registro; no entanto, imposições de DNS via GPO prevalecem sobre essa alteração.
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "NameServer" -Value "8.8.8.8"
Desativar adiamentos do Windows Update (quando os patches estão bloqueados):
Para ativar as atualizações automáticas no Registro, defina o valor DWORD NoAutoUpdate como 0. Use este script em ambientes onde a aplicação de patches está bloqueada por configuração incorreta ou desativada por padrão.
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Force | Out-Null
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "NoAutoUpdate" -Value 0 -Type DWord
Ativar o BitLocker com scripts no Registro:
Este script ativa o BitLocker nos dispositivos, inclusive em máquinas antigas sem TPM, garantindo criptografia consistente em todo o ambiente.
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Force | Out-Null
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Name "EnableBDEWithNoTPM" -Value 1 -Type DWord
💡 Observação: mesmo sendo possível ativar o BitLocker em dispositivos sem TPM, serão necessários protetores alternativos, como senhas de inicialização e chaves USB.
Método 7: GPO para implantação centralizada dos scripts de remediação
📌 Casos de uso: com uma GPO, é possível configurar centralmente, por meio de scripts, a atribuição de servidores DNS, a instalação de atualizações do Windows e as definições do BitLocker.
📌 Pré-requisitos:
- Acesso ao Console de Gerenciamento de Política de Grupo (gpmc.msc)
- Privilégios de administrador de domínio
⚠️ Importante: teste as configurações localmente antes de aplicá-las em todo o ambiente. (Veja ⚠️ Pontos de atenção.)
- Pressione Win + R, digite Notepad e pressione Enter.
- Escolha o script adequado neste guia para corrigir seus problemas de DNS, patches ou BitLocker.
- Cole o script no Bloco de Notas, pressione Ctrl + Shift + S, dê um nome e adicione uma extensão.
- Use .ps1 para script do PowerShell (ex.: DNS-powershell.ps1).
- Use .bat para script em lote (ex.: patching-batch.BAT).
- Clique na lista suspensa ao lado de Tipo e selecione Todos os arquivos.
- Abra o Console de Gerenciamento de Política de Grupo.
- Localize a UO de destino, clique com o botão direito e escolha Criar um GPO neste domínio e fornecer um link para ele aqui….
- Clique com o botão direito na GPO recém-criada e escolha Editar.
- Vá para:
Configuração do Computador > Políticas > Configurações do Windows > Scripts (Inicialização/Desligamento)
- Dê um duplo clique em Inicialização, clique em Adicionar, procure e selecione o script no compartilhamento de rede.
- Se estiver usando scripts .ps1, acesse também o caminho a seguir:
Configuração do Computador > Políticas > Modelos Administrativos > Sistema > Scripts
- Defina a política Especificar execução de script de inicialização como Permitir todos os scripts.
💡 Dica: você pode implantar o script do PowerShell abaixo nos endpoints de destino para aplicar as configurações na hora:
gpupdate /force
⚠️ Pontos de atenção
| Riscos | Possíveis consequências | Como reverter |
| Aplicar configurações personalizadas em dispositivos gerenciados por GPO | A GPO sobrescreve as alterações em configurações impostas após uma atualização de política agendada. | A boa prática é usar scripts apenas em configurações não impostas por GPO, a menos que a intenção seja sobrescrevê-las temporariamente. |
| Adaptadores de rede nem sempre se chamam “Ethernet” por padrão. | Alguns scripts fixam o nome do adaptador de rede como Ethernet; como esse não é o nome padrão de todos os adaptadores, o script falha. | Dá para renomear os adaptadores de rede do ambiente para padronizar o nome, o que aumenta a eficácia de scripts com valores fixos. |
| C:\Logs não existe antes de ser definido como caminho de log. | Não criar C:\Logs antes de defini-lo como caminho de log provoca erro. | Crie a pasta de destino e confirme que ela existe no caminho especificado antes de atribuí-la como caminho de log. |
| Configurações incorretas no Registro | Configurar o Registro de forma errada pode gerar instabilidade e desempenho lento. | Faça um backup do Registro do Windows antes de continuar, para garantir uma recuperação simples em caso de erro. |
| Implantar scripts não testados em todo o ambiente | Nem todos os ambientes são iguais, então os scripts podem se comportar de formas diferentes entre os sistemas gerenciados. | Teste as configurações localmente para validar a eficácia antes de implantá-las em todo o ambiente. |
Considerações importantes ao usar scripts de remediação via RMM
Esta seção reúne os pontos principais a ter em mente ao usar scripts para resolver problemas de DNS, patches e BitLocker.
Segurança
Ao usar o BitLocker, guarde as chaves de recuperação no Active Directory e, no mínimo, siga boas práticas de armazenamento local. Além disso, impor servidores DNS públicos como 8.8.8.8 serve apenas para uso geral e não deve ser adotado em ambientes de alta conformidade.
Logs para auditoria e reversão simples
Os logs registram as configurações feitas pelos scripts, gravando as alterações em um arquivo e facilitando a documentação e a validação. Registrar as mudanças com regularidade ajuda a investigar configurações ruins e serve de referência rápida para estratégias de reversão.
Dividir scripts extensos em scripts curtos e modulares
Mesmo sendo fácil juntar scripts que resolvem vários problemas, a boa prática é separá-los em partes menores. Isso permite uma remediação focada e reduz o risco de configurar por acidente recursos do sistema que já funcionam.
Guia de início rápido
NinjaOne oferece recursos robustos de criação de scripts para montar scripts RMM personalizados que resolvem problemas de DNS, patches e BitLocker automaticamente. Veja alguns scripts específicos que podem ajudar:
Scripts de DNS
- Limpar cache DNS: script para macOS
- Pesquisar entradas do cache DNS: script para encontrar registros DNS específicos
- Pesquisar entradas do cache DNS no Linux para sistemas Linux
Scripts de patches
- Gerenciamento de patches do Windows com implantação em anéis
- Suspender o BitLocker: script para suspender temporariamente a proteção do BitLocker durante a aplicação de patches
- Patch Intelligence AI: substituições de aprovação para um gerenciamento de patches inteligente
Scripts de BitLocker
Script para suspender o BitLocker, que pode:
- suspender a proteção do BitLocker até a próxima reinicialização;
- reiniciar o computador logo após a suspensão, se quiser.
Outros scripts úteis
- Atualizar a Política de Grupo (gpupdate) para manter as políticas do sistema em dia
- Ativar ou desativar o Firewall do Windows
- Definir requisitos mínimos de senha
A Automation Library do NinjaOne reúne um conjunto completo de scripts que podem ser personalizados e automatizados para diversas tarefas de gerenciamento de sistemas, incluindo DNS, patches e BitLocker.
Solução de problemas comuns na implantação de scripts
Problema nº 1: os scripts não executam corretamente quando implantados via RMM
Um motivo comum para scripts não rodarem direito são permissões insuficientes do agente do RMM. Garanta acesso de nível administrador antes de executar qualquer script, principalmente ao modificar chaves e valores do Registro.
Além disso, alguns sistemas bloqueiam scripts não assinados, como os baixados de fontes não confiáveis. Para liberar temporariamente a execução na sessão atual, adicione o comando a seguir aos seus scripts do PowerShell:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
Problema nº 2: o BitLocker não é ativado depois da execução do script
Antes de executar o script, verifique o status do TPM no dispositivo de destino abrindo um prompt elevado do PowerShell e digitando Get-Tpm. Se houver TPM, procure GPOs de BitLocker impostas que possam conflitar com a configuração. Em dispositivos sem TPM, use scripts para ativar o BitLocker pelo Registro.
Problema nº 3: os scripts de remediação de patches falham silenciosamente
Para resolver, confirme que o dispositivo tem acesso à internet e consegue alcançar o servidor WSUS. Verifique também se há GPOs bloqueando o Windows Update, reinicie o Agente do Windows Update e dispare uma verificação de atualizações.
Serviços NinjaOne para implantar scripts de remediação nos endpoints
Com NinjaOne, MSPs colocam a remediação automática em operação e a escalam com total transparência e controle. Veja abaixo os serviços que ajudam a agilizar a implantação de scripts de remediação para problemas de DNS, patches e BitLocker.
| Serviço NinjaOne | Definição | Como ajuda na implantação de scripts |
| Tarefas agendadas por política | NinjaOne facilita o agendamento de tarefas e permite executar scripts automaticamente em intervalos definidos. | Os administradores podem agendar a implantação de scripts de remediação de DNS, patches e BitLocker para manutenção periódica. |
| Resposta automatizada a alertas | Gatilhos baseados em alertas permitem que o RMM execute ações de remediação sempre que um alerta específico aparece em um endpoint. | Implante scripts de remediação automaticamente depois que um alerta é disparado, reduzindo a necessidade de intervenção manual e o MTTR. |
| Implantação por modelo | As implantações por modelo permitem direcionar grupos específicos de dispositivos, evitando aplicar scripts em máquinas incompatíveis. | É possível atribuir um script de BitLocker especializado para dispositivos sem TPM e aplicar scripts padrão nos dispositivos com TPM. |
| Visibilidade do inventário | O inventário completo do NinjaOne oferece uma visão detalhada dos endpoints, tudo dentro do painel da plataforma. | Veja configurações de DNS, histórico do Windows Update e status do BitLocker para agilizar diagnósticos e melhorar o tempo de resposta. |
Remedie problemas em escala implantando scripts por um RMM
Automatizar scripts personalizados com uma plataforma RMM garante correção consistente de falhas de DNS, problemas de patches e configurações incorretas do BitLocker em escala. Use os scripts modulares apresentados para remediar problemas específicos ou combine-os para uma implementação mais ampla. Implante scripts por RMMs, como NinjaOne, para usar gatilhos baseados em alertas e agendamento, automatizando a correção de problemas, a implantação de scripts e a auditoria.
Temas relacionados:
- Como gerenciar remotamente a criptografia de disco BitLocker com o PowerShell
- Guia para MSPs: como usar uma plataforma RMM
- Dominando o gerenciamento do cache DNS: limpe o DNS com o PowerShell
- Como automatizar o gerenciamento de vulnerabilidades
- Domínio de scripts automatizados NinjaOne para operações de TI mais ágeis