/
/

Como rotacionar senhas de administrador local com segurança usando PowerShell e Azure Key Vault

por Team Ninja
How to Rotate Local Admin Passwords Securely Using PowerShell and Azure Key Vault blog banner image

Resumo instantâneo

Esta postagem do blog NinjaOne oferece uma lista abrangente de comandos CMD básicos e um mergulho profundo nos comandos do Windows, com +70 comandos CMD essenciais para usuários iniciantes e avançados. Explicamos sobre comandos práticos de prompt de comando para gerenciamento de arquivos, navegação em diretórios, solução de problemas de rede, operações de disco e automação, tudo com exemplos reais para maximizar a produtividade. Seja para aprender comandos básicos CMD ou dominar ferramentas avançadas de CLI do Windows, este guia ajuda você a usar o prompt de comando com mais eficiência.

Pontos principais

  • Automatize a troca de senhas com o Azure Key Vault e o PowerShell para eliminar o risco de credenciais de administrador local desatualizadas e gerenciadas à mão.
  • Guarde cada senha rotacionada como um segredo versionado no Key Vault, em vez de uma planilha compartilhada ou de um ticket.
  • Restrinja quem pode recuperar uma senha armazenada usando funções de controle de acesso baseado em funções (RBAC), Private Endpoints do Key Vault e acesso registrado em log.
  • Acompanhe no registro a data da última rotação de cada dispositivo para confirmar que o agendamento está funcionando.
  • Reforce a automação com uma linha de base de senhas via Política de Grupo, para que os logins manuais de contingência sigam em conformidade.
  • Faça a rotação a cada 30 a 90 dias, conforme o framework de conformidade adotado, e rotacione imediatamente após qualquer exposição de credenciais.

Usar automação para rotacionar senhas de administrador local é um passo decisivo na redução de riscos. Esses riscos atingem sobretudo a segurança e costumam surgir quando as credenciais são gerenciadas manualmente. Com o PowerShell e o Azure Key Vault, a automação fica simples: tira o fator humano da jogada, gerencia as credenciais com segurança e garante proteção, conformidade e auditabilidade.

Os objetivos centrais desse método são rotacionar senhas periodicamente em todos os dispositivos, armazená-las com segurança no Azure Key Vault, auditar acessos e recuperações e seguir as boas práticas de confiança zero e alinhadas ao LAPS. Neste guia, você vai configurar o Azure Key Vault, criar o script de rotação de senhas, aplicar controles de segurança e validar a conformidade nos endpoints.

Quer saber mais? Assista ao nosso vídeo “Como rotacionar senhas de administrador local com segurança usando PowerShell e Azure Key Vault” para um tutorial visual.

Visão geral:

TarefaObjetivo
Tarefa 1: configurar o Azure Key Vault para armazenar senhasMontar um armazenamento seguro e centralizado das senhas de administrador local no Azure Key Vault
Tarefa 2: criar um script do PowerShell para rotacionar senhasAutomatizar a geração e a rotação seguras de senhas com scripts personalizados do PowerShell
Tarefa 3: proteger e restringir o acesso às senhasLimitar o acesso às credenciais armazenadas com RBAC do Key Vault, identidades gerenciadas ou PIM
Tarefa 4: recuperar senhas com segurança (recuperação administrativa opcional)Permitir a recuperação autorizada de senhas locais por métodos seguros do PowerShell
Tarefa 5: usar o registro para rastrear a data da rotação ou metadados (opcional)Guardar carimbo de data/hora ou metadados no registro do Windows para verificar ou auditar as trocas de senha
Tarefa 6: aplicar políticas de senha via Política de GrupoGarantir que as configurações seguras de senha local sejam aplicadas de forma consistente por GPO
Tarefa 7: validar a rotação de senhas com CMD e PowerShellExecutar comandos no nível do sistema para verificar as trocas de senha e checar o status de acesso

Pré-requisitos para automatizar a rotação de senhas de administrador local

Antes de começar as tarefas, confirme que seu ambiente atende aos requisitos abaixo:

  • Uma assinatura do Azure com um Azure Key Vault provisionado (o Azure Key Vault é um cofre seguro de segredos para senhas, chaves e certificados, com criptografia em nível de hardware e suporte aos princípios de confiança zero e privilégio mínimo).
  • Dispositivos ingressados no Azure AD ou com ingresso híbrido
  • Uma conta de administrador local conhecida (por exemplo, “localadmin”)
  • Comunicação remota do PowerShell ativada
  • Módulos instalados: Accounts, Az.KeyVault
  • Direitos administrativos em todas as máquinas de destino

Tarefa 1: configurar o Azure Key Vault para armazenar senhas

Caso de uso:

Esta tarefa provisiona o Azure Key Vault e define seu modelo de acesso, de modo que apenas identidades autorizadas possam gravar e ler as senhas armazenadas. Também ativa proteções de retenção para que um segredo rotacionado não se perca de vez.

Restrições de rede, como regras de firewall e Private Endpoints, além do log de auditoria, são configuradas na Tarefa 3. Os segredos já são criptografados por padrão com uma chave apoiada por HSM, então não é preciso configurar um HSM à parte aqui.

  1. Vá até Key Vaults > Criar e defina o grupo de recursos e a região.
  2. Em Políticas de Acesso, conceda às contas de serviço ou aos usuários de automação permissões como Set e Get para segredos.
  3. Ative a exclusão reversível e a proteção contra limpeza para garantir a retenção.
  4. Se preferir, use RBAC em vez de políticas de acesso para controlar o acesso e ter atribuições auditáveis.
  5. Defina uma convenção de nomes para os segredos, como AdminPassword-<deviceName>.

Observação: não é preciso criar o segredo antes, porque o script da Tarefa 2 o cria automaticamente na primeira rotação de senha.

Tarefa 2: criar um script do PowerShell para rotacionar senhas

Caso de uso:

Esta tarefa gera uma nova senha de administrador local, salva no Key Vault e só depois aplica localmente — assim, uma falha de gravação no Key Vault nunca deixa o dispositivo com uma senha irrecuperável. Dá para implantar via Azure Automation, Agendador de Tarefas, implantação de scripts do Intune ou NinjaOne, para distribuição em larga escala, mas o método de autenticação abaixo só funciona em determinados destinos de implantação. (Veja a observação após o script.)

  1. Abra o PowerShell como administrador. Pressione Win, digite PowerShell, clique com o botão direito em Windows PowerShell e selecione Executar como administrador.
  2. Execute o comando a seguir:

# Windows PowerShell 5.1

Add-Type -AssemblyName System.Web

$DeviceName = $env:COMPUTERNAME

$AdminUser = "localadmin"

$VaultName = "MySecureVault"

$SecretName = "AdminPassword-$DeviceName"

$NewPassword = [System.Web.Security.Membership]::GeneratePassword(20,4)

# Step 1: Save the new password to Key Vault BEFORE changing it locally.

try {

Connect-AzAccount -Identity -ErrorAction Stop

Set-AzKeyVaultSecret -VaultName $VaultName -Name $SecretName `

-SecretValue (ConvertTo-SecureString $NewPassword -AsPlainText -Force) `

-ErrorAction Stop

}

catch {

Write-Error "Key Vault write failed for $DeviceName — local password was NOT changed. $_"

exit 1

}

# Step 2: Only apply the new password locally after Key Vault confirms the write.

try {

net user $AdminUser $NewPassword

if ($LASTEXITCODE -ne 0) { throw "net user returned exit code $LASTEXITCODE" }

}

catch {

Write-Error "Local password change failed for $DeviceName AFTER the new password was already saved to Key Vault. The stored secret and the live local password are now out of sync — investigate manually. $_"

exit 1

}

Write-Output "Password rotation completed successfully for $DeviceName."

Como System.Web não está disponível no PowerShell 7, veja abaixo um script substituto para essa versão:

function New-RandomPassword {
    param([int]$Length = 20, [int]$MinNonAlphanumeric = 4)
    $alphaNum = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
    $symbols  = '!@#$%^&*()-_=+[]{}'
    $nonAlphaCount = Get-Random -Minimum $MinNonAlphanumeric -Maximum ($Length - $MinNonAlphanumeric)
    $chars  = 1..($Length - $nonAlphaCount) | ForEach-Object { $alphaNum[(Get-Random -Maximum $alphaNum.Length)] }
    $chars += 1..$nonAlphaCount             | ForEach-Object { $symbols[(Get-Random -Maximum $symbols.Length)] }
    -join ($chars | Sort-Object { Get-Random })
}
$NewPassword = New-RandomPassword -Length 20 -MinNonAlphanumeric 4

Observação: Connect-AzAccount -Identity precisa de uma identidade gerenciada do Instance Metadata Service do Azure, então só funciona em recursos do Azure, como Azure Automation, VMs do Azure ou servidores habilitados para Arc.

Tarefa 3: proteger e restringir o acesso às senhas

Caso de uso:

Esta tarefa limita o acesso ao Azure Key Vault ao pessoal designado para recuperação usando funções de RBAC, garantindo que só usuários autorizados consigam recuperar senhas de administrador local em emergências.

Siga estas boas práticas para proteger os segredos do Azure Key Vault, aplicar o privilégio mínimo e apoiar as iniciativas de auditoria e resposta a incidentes.

  1. Limite o acesso com funções de RBAC (por exemplo, Leitor, Leitor de Segredos) ou com Políticas de Acesso.
  2. Ative o log via Azure Monitor ou Configurações de Diagnóstico para acompanhar a recuperação de segredos.
  3. Use Private Endpoints do Key Vault para restringir o acesso ao backbone do Azure, em vez de expô-lo na internet pública.
  4. Conceda acesso de recuperação apenas a contas de automação designadas ou a pessoas autorizadas a executar operações de recuperação.

Tarefa 4: recuperar senhas com segurança (recuperação administrativa opcional)

Caso de uso:

Esta tarefa serve para cenários de recuperação em que os administradores precisam buscar uma senha de administrador local no Key Vault.

  1. Abra o PowerShell como administrador. Pressione Win, digite PowerShell, clique com o botão direito em Windows PowerShell e selecione Executar como administrador.
  2. Execute o comando a seguir:

Connect-AzAccount -Identity

$VaultName = "MySecureVault"

$DeviceName = "LAPTOP-1234"

$SecretValue = Get-AzKeyVaultSecret -VaultName $VaultName -Name "AdminPassword-$DeviceName" -AsPlainText

Observação: -Identity só funciona onde existe uma identidade gerenciada. Se um administrador rodar isso de forma interativa na própria estação de trabalho, use Connect-AzAccount e confirme que a conta dele tem a função Usuário de Segredos do Key Vault.

  1. Lembre-se de:
    • registrar em log todos os eventos de recuperação
    • usar a recuperação apenas em emergências ou fluxos autorizados
    • rotacionar a senha logo após a recuperação, se necessário

Tarefa 5: usar o registro para rastrear a data da rotação ou metadados (opcional)

Caso de uso:

Esta tarefa confirma que a rotação de senha aconteceu no dispositivo. Dá para acompanhar o carimbo de data/hora da última rotação pelo Editor do Registro do Windows.

  1. Abra o PowerShell como administrador. Pressione Win, digite PowerShell, clique com o botão direito em Windows PowerShell e selecione Executar como administrador.
  2. Execute o comando a seguir:

New-ItemProperty -Path "HKLM:\SOFTWARE\Org\AdminPasswordRotation" `

-Name "LastRotation" -PropertyType String -Value (Get-Date).ToString("u") -Force

Tarefa 6: aplicar políticas de senha via Política de Grupo

Caso de uso:

Esta tarefa garante a complexidade das senhas mesmo nos cenários de contingência manual. Ela reforça a conformidade e mantém a consistência da política de credenciais da organização, inclusive fora das rotações automatizadas.

  1. Abra a Política de Grupo como administrador. Pressione Win, digite gpedit.msc e pressione Ctrl + Shift + Enter para executar como administrador.
  2. Navegue até: Configuração do Computador > Configurações do Windows > Configurações de Segurança > Diretivas de Conta > Diretiva de Senha
  3. Defina o seguinte:
    • Comprimento mínimo da senha = 20 caracteres
    • A senha deve satisfazer a requisitos de complexidade = Ativado
    • Tempo de vida máximo da senha = 30 dias

Tarefa 7: validar a rotação de senhas com CMD e PowerShell

Caso de uso:

Esta tarefa usa o Prompt de Comando e o PowerShell para confirmar que a automação está funcionando e que as senhas são atualizadas com regularidade.

  1. Abra o Prompt de Comando ou o PowerShell.
  2. Execute os comandos a seguir:
Tarefa de validaçãoComando no CMDComando no PowerShell
Verificar eventos recentes de troca de senhawevtutil qe Security "/q:*[System[(EventID=4723)]]" /c:3 /f:textGet-WinEvent -FilterHashtable @{LogName='Security'; Id=4723} -MaxEvents 3 | Format-List
Listar usuários locaisnet userGet-LocalUser
Testar a resolução de DNS do Key Vaultnslookup <yourvaultname>.vault.azure.netResolve-DnsName -Name "<yourvaultname>.vault.azure.net"
Verificar o status do job no Agendador de Tarefasschtasks /query /tn "RotateLocalAdminPassword"Get-ScheduledTask -TaskName "RotateLocalAdminPassword"

Pontos de atenção

RiscosConsequências possíveisComo reverter
O script não consegue atualizar a senhaA senha continua a mesma e deixa o endpoint exposto a força bruta ou a credenciais reutilizadas.Adicione logs para confirmar a execução; teste os scripts manualmente antes de automatizar; monitore o histórico do Agendador de Tarefas.
A senha é atualizada, mas não é salva no Key VaultProvoca perda de acesso às credenciais, principalmente em cenários de recuperaçãoAtive o tratamento de erros e o log de confirmação; valide o acesso de gravação ao Key Vault antes da rotação.
Acesso ao Key Vault mal configuradoUsuários não autorizados podem acessar as credenciais, ou o script de rotação falha por acesso negado.Revise as políticas de RBAC e do Key Vault com frequência; restrinja o acesso aos segredos a um único grupo privilegiado.
Intervalo de rotação não aplicadoAs senhas podem ficar muito tempo sem troca, violando as políticas de segurançaUse tarefas agendadas com intervalos regulares; monitore a chave do registro ou os logs de auditoria para confirmar.
Problemas de sincronização de horário entre endpointsPode afetar o horário das tarefas agendadas ou gerar conclusões equivocadas nos logs de auditoriaSincronize o horário via NTP; use um log centralizado ou SIEM para validar os carimbos de data/hora de forma consistente.

Outros pontos a considerar na rotação automatizada de senhas de administrador local

  • Limites do Azure Key Vault: considere os limites de nomenclatura e a limitação de requisições ao gerenciar centenas de segredos.
  • Nunca registre senhas em log: nunca grave senhas em arquivo ou console; use sempre strings seguras.
  • Frequência de rotação: o recomendado é a cada 30 a 90 dias, conforme o framework de conformidade.
  • Gerenciamento multitenant: use tags ou grupos de recursos para separar os cofres de cada cliente em ambientes de MSP

Serviços NinjaOne para configurar a rotação de senhas de administrador local

NinjaOne e suas ferramentas ajudam a aprimorar o gerenciamento de senhas de administrador local com estes serviços.

Serviço NinjaOneO que éComo ajuda na rotação segura de senhas de administrador local
Implantação de scriptsEnvia scripts do PowerShell para rotacionar senhas locais com segurança nos endpointsGarante rotação consistente e automatizada em todos os dispositivos gerenciados
Monitoramento de rotaçãoAcompanha quando cada dispositivo trocou a senha pela última vez, por chaves do registro ou logs de scriptAjuda a verificar se a rotação ocorre conforme o agendamento e sinaliza tentativas perdidas ou com falha
Integração com o Key VaultAutomatiza a comunicação com o Key Vault usando identidades gerenciadas ou credenciaisPermite armazenar e recuperar senhas com segurança durante a rotação, sem segredos fixos no código
Alertas e auditoriaAvisa os técnicos quando a rotação falha ou quando as senhas estão perto de expirarDá visibilidade e responsabilização sobre o sucesso ou a falha da rotação de senhas
Escalabilidade entre tenantsMantém políticas de rotação e cofres separados por ambiente de cliente.Permite o gerenciamento seguro e isolado de credenciais para MSPs que atendem vários clientes

Rotacionar senhas de administrador local pela segurança

Com ataques cibernéticos cada vez mais sofisticados, é essencial criar estratégias para proteger credenciais críticas, como as senhas de administrador local. Dá para rotacionar essas senhas manualmente, mas a automação eleva bastante o nível de segurança. Este guia mostra como:

  • configurar o Azure Key Vault para armazenar senhas com segurança
  • usar o PowerShell para rotacionar e guardar credenciais de administrador local
  • aplicar políticas de senha e acompanhar a rotação
  • restringir e auditar o acesso com RBAC e logs
  • validar o status da rotação com ferramentas nativas do Windows

Executar essas tarefas significa seguir as boas práticas para aplicar a rotação de senhas de administrador local com eficiência. Isso ajuda administradores de TI e MSPs a fortalecer a segurança de endpoint e a manter o controle operacional dos ambientes que gerenciam.

Temas relacionados:

FAQs

O Azure Key Vault não cobra mensalidade pelo armazenamento de segredos; a cobrança é por operação, cerca de US$ 0,03 a cada 10.000 transações em operações como gravar e recuperar senhas. Isso dá poucos dólares por mês, mesmo com uma frota grande de dispositivos.

Uma implantação do Microsoft LAPS atende dispositivos ingressados no Microsoft Entra ID sem custo extra, já embutida no Windows 10, no 11 e no Server 2019 ou posterior. Key Vault e PowerShell valem a pena quando você precisa centralizar segredos junto de outras credenciais do Key Vault ou cobrir plataformas que o LAPS não gerencia.

A identidade gerenciada do script precisa de uma função de gravação, como Key Vault Secrets Officer, para salvar novas senhas. Já a identidade de recuperação deve receber uma função somente leitura, como Key Vault Secrets User, para que uma conta de recuperação comprometida não consiga sobrescrever as senhas armazenadas.

Não, o Key Vault não registra acessos em lugar nenhum por padrão. Primeiro é preciso ativar a configuração de diagnóstico AuditEvent; depois disso, cada recuperação aparece como um evento SecretGet, que você pode consultar e monitorar com alertas no Log Analytics.

Sim, funciona em servidores do mesmo jeito que em estações de trabalho, já que depende do PowerShell e do acesso à rede, não do tipo de dispositivo. Para servidores locais ou híbridos em escala, vale avaliar o LAPS para Azure Arc, mais recente da Microsoft, que oferece rotação nativa baseada em políticas.

Recomendados para você

Pronto para simplificar as partes mais difíceis da TI?