/
/

Zo roteert u lokale adminwachtwoorden veilig met PowerShell en Azure Key Vault

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

Directe samenvatting

Deze blogpost van NinjaOne biedt een uitgebreide basislijst met CMD-commands en een deep dive duik in Windows-commands met meer dan 70 essentiële cmd-commands voor zowel beginners als gevorderden. Het legt praktische opdrachtpromptcommando’s uit voor file management, directory navigation, network troubleshooting, disk operations en automatisering met echte voorbeelden om de productiviteit te verbeteren. Of u nu fundamentele cmd-commands leert of geavanceerde Windows CLI-tools onder de knie krijgt, deze gids helpt u de Command Prompt effectiever te gebruiken.

Belangrijkste punten

  • Automatiseer wachtwoordwijzigingen met Azure Key Vault en PowerShell en elimineer zo het risico van verouderde, handmatig beheerde lokale adminreferenties.
  • Sla elk geroteerd wachtwoord op als versioned secret in Key Vault in plaats van in een gedeelde spreadsheet of een ticket.
  • Beperk wie een opgeslagen wachtwoord kan ophalen met role-based access control (RBAC)-rollen, Key Vault Private Endpoints en gelogde toegang.
  • Houd per device de datum van de laatste rotatie bij in het register om te bevestigen dat het schema draait.
  • Ondersteun de automatisering met een wachtwoordbaseline via Group Policy, zodat handmatige noodlogins compliant blijven.
  • Roteer elke 30 tot 90 dagen, afhankelijk van uw compliance-kader, en roteer direct na elke blootstelling van referenties.

Automatisering gebruiken om lokale adminwachtwoorden te roteren is een cruciale stap in risicobeperking. De risico’s, die vooral de beveiliging raken, ontstaan meestal wanneer referenties handmatig worden beheerd. Dankzij PowerShell en Azure Key Vault verloopt dat automatiseringsproces gestroomlijnd: de menselijke factor verdwijnt, referenties worden veilig beheerd en u krijgt sterke beveiliging, compliance en controleerbaarheid.

Deze methode heeft als belangrijkste doelen om wachtwoorden periodiek te roteren op alle devices, wachtwoorden veilig op te slaan in Azure Key Vault, toegang en ophaalactiviteit te auditen en te voldoen aan Zero Trust en LAPS-conforme beste praktijken. In deze gids leggen we stap voor stap uit hoe u Azure Key Vault instelt, wachtwoordrotatie scriptt, beveiligingsmaatregelen afdwingt en compliance op al uw endpoints valideert.

Nog nieuwsgierig? Bekijk onze video “Zo roteert u lokale adminwachtwoorden veilig met PowerShell en Azure Key Vault” voor een visuele uitleg.

In één oogopslag:

TaakDoel
Taak 1: Azure Key Vault configureren voor wachtwoordopslagVeilige, centrale opslag voor lokale adminwachtwoorden inrichten met Azure Key Vault
Taak 2: een PowerShell-script maken om wachtwoorden te roterenVeilige wachtwoordgeneratie en -rotatie automatiseren met eigen PowerShell-scripts
Taak 3: toegang tot wachtwoorden beveiligen en beperkenToegang tot opgeslagen referenties beperken met Key Vault RBAC, managed identities of PIM
Taak 4: wachtwoorden veilig ophalen (optioneel adminherstel)Geautoriseerd herstel van lokale wachtwoorden toestaan via veilige PowerShell-methoden
Taak 5: het register gebruiken om rotatietijd of metadata bij te houden (optioneel)Tijdstempel of metadata opslaan in het Windows-register om wachtwoordwijzigingen te verifiëren of auditen
Taak 6: wachtwoordbeleid afdwingen via Group PolicyZorgen dat veilige lokale wachtwoordconfiguraties consistent via GPO worden toegepast
Taak 7: wachtwoordrotatie valideren met CMD en PowerShellSysteemcommando’s uitvoeren om wachtwoordwijzigingen te verifiëren en de toegangsstatus te controleren

Vereisten voor het automatiseren van de rotatie van lokale adminwachtwoorden

Controleer voordat u met de taken begint of uw omgeving aan de volgende voorwaarden voldoet:

  • Een Azure-abonnement met een ingerichte Azure Key Vault (Azure Key Vault is een veilige secretsopslag voor wachtwoorden, sleutels en certificaten, met versleuteling op hardwareniveau, die Zero Trust en het principe van minste voorrecht ondersteunt.)
  • Devices die zijn gekoppeld aan Azure AD of hybride zijn gekoppeld
  • Een bekend lokaal administratoraccount (bijvoorbeeld “localadmin”)
  • PowerShell-remoting ingeschakeld
  • Geïnstalleerde modules: Accounts, Az.KeyVault
  • Administratorrechten op alle doelmachines

Taak 1: Azure Key Vault configureren voor wachtwoordopslag

Use case:

Met deze taak richt u de Azure Key Vault in en stelt u het toegangsmodel zo in dat alleen geautoriseerde identiteiten opgeslagen wachtwoorden kunnen schrijven en lezen. Ook schakelt u retentiebescherming in zodat een geroteerd secret nooit definitief verloren gaat.

Netwerkbeperkingen zoals firewallregels en Private Endpoints, plus auditlogging, configureert u in Taak 3. Secrets worden standaard versleuteld met een HSM-backed sleutel, dus een aparte HSM-configuratie is hier niet nodig.

  1. Ga naar Key Vaults > Maken en stel de resourcegroep en regio in.
  2. Ken onder Toegangsbeleid aan serviceaccounts of automatiseringsgebruikers machtigingen toe zoals Set en Get voor secrets.
  3. Schakel Voorlopig verwijderen en Beveiliging tegen opschonen in voor veilige retentie.
  4. Gebruik eventueel RBAC in plaats van toegangsbeleid voor toegangsbeheer en controleerbare toewijzingen.
  5. Kies een naamgevingsconventie voor secrets, bijvoorbeeld AdminPassword-<deviceName>.

Let op: u hoeft het secret niet vooraf aan te maken, want het script uit Taak 2 maakt het automatisch aan bij de eerste wachtwoordrotatie.

Taak 2: een PowerShell-script maken om wachtwoorden te roteren

Use case:

Deze taak genereert een nieuw lokaal adminwachtwoord, slaat het op in Key Vault en past het pas daarna lokaal toe. Zo blijft een device nooit achter met een wachtwoord dat niet meer te herstellen is omdat het schrijven naar Key Vault mislukte. U kunt het uitrollen via Azure Automation, Taakplanner, scriptimplementatie in Intune of NinjaOne voor grootschalige distributie, maar de onderstaande authenticatiemethode werkt alleen op bepaalde implementatiedoelen. (Zie de opmerking na het script)

  1. Open PowerShell als administrator. Druk op de Windows-toets, typ PowerShell, klik met de rechtermuisknop op Windows PowerShell en kies Als administrator uitvoeren.
  2. Voer het volgende commando uit:

# 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."

Omdat System.Web niet beschikbaar is voor PowerShell 7, vindt u hieronder een vervangend script dat u voor PowerShell 7 kunt gebruiken:

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

Let op: Connect-AzAccount -Identity heeft een managed identity van de Instance Metadata Service van Azure nodig en werkt daarom alleen op Azure-resources, zoals Azure Automation, Azure VM’s of Arc-enabled servers.

Taak 3: toegang tot wachtwoorden beveiligen en beperken

Use case:

Met deze taak beperkt u de toegang tot Azure Key Vault tot aangewezen herstelmedewerkers via RBAC-rollen, zodat alleen geautoriseerde gebruikers in noodgevallen lokale adminwachtwoorden kunnen ophalen.

Volg deze beste praktijken om uw Azure Key Vault-secrets te beveiligen, toegang volgens het principe van minste voorrecht af te dwingen en auditing en incidentrespons te ondersteunen.

  1. Beperk toegang met RBAC-rollen (bijvoorbeeld Reader, Secret Reader) of toegangsbeleid.
  2. Schakel logging in via Azure Monitor of Diagnostische instellingen om het ophalen van secrets te volgen.
  3. Gebruik Key Vault Private Endpoints om toegang via de Azure-backbone te beperken in plaats van via het publieke internet.
  4. Verleen alleen ophaalrechten aan aangewezen automatiseringsaccounts of geautoriseerd personeel dat herstelwerkzaamheden uitvoert.

Taak 4: wachtwoorden veilig ophalen (optioneel adminherstel)

Use case:

Deze taak gebruikt u in herstelscenario’s waarin administrators een lokaal adminwachtwoord uit Key Vault moeten ophalen.

  1. Open PowerShell als administrator. Druk op de Windows-toets, typ PowerShell, klik met de rechtermuisknop op Windows PowerShell en kies Als administrator uitvoeren.
  2. Voer het volgende commando uit:

Connect-AzAccount -Identity

$VaultName = "MySecureVault"

$DeviceName = "LAPTOP-1234"

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

Let op: -Identity werkt alleen waar een managed identity bestaat. Voert een administrator dit interactief uit op de eigen werkplek, gebruik dan Connect-AzAccount en zorg dat het account de rol Key Vaults Secrets User heeft.

  1. Denk eraan om:
    • Alle ophaalgebeurtenissen te loggen
    • Ophalen alleen te gebruiken in noodgevallen of geautoriseerde herstelworkflows
    • Het wachtwoord zo nodig direct na het ophalen te roteren

Taak 5: het register gebruiken om rotatietijd of metadata bij te houden (optioneel)

Use case:

Met deze taak controleert u of de wachtwoordrotatie op een device heeft plaatsgevonden. U kunt het tijdstempel van de laatste rotatie bijhouden in het Windows-register.

  1. Open PowerShell als administrator. Druk op de Windows-toets, typ PowerShell, klik met de rechtermuisknop op Windows PowerShell en kies Als administrator uitvoeren.
  2. Voer het volgende commando uit:

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

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

Taak 6: wachtwoordbeleid afdwingen via Group Policy

Use case:

Deze taak garandeert wachtwoordcomplexiteit, ook in handmatige noodscenario’s. Het dwingt compliance af en zorgt voor consistentie in het referentiebeleid van uw organisatie, ook buiten de geautomatiseerde rotaties om.

  1. Open Group Policy als administrator. Druk op de Windows-toets, typ gpedit.msc en druk op Ctrl + Shift + Enter om het als administrator uit te voeren.
  2. Ga naar: Computerconfiguratie > Windows-instellingen > Beveiligingsinstellingen > Accountbeleid > Wachtwoordbeleid
  3. Stel het volgende in:
    • Minimale wachtwoordlengte = 20 tekens
    • Wachtwoord moet voldoen aan complexiteitsvereisten = Ingeschakeld
    • Maximale wachtwoordduur = 30 dagen

Taak 7: wachtwoordrotatie valideren met CMD en PowerShell

Use case:

Deze taak gebruikt de opdrachtprompt en PowerShell om te bevestigen dat de automatisering werkt en dat wachtwoorden regelmatig worden bijgewerkt.

  1. Open de opdrachtprompt of PowerShell.
  2. Voer de volgende commando’s uit:
ValidatietaakCMD-commandoPowerShell-commando
Recente gebeurtenissen van wachtwoordwijzigingen controlerenwevtutil qe Security "/q:*[System[(EventID=4723)]]" /c:3 /f:textGet-WinEvent -FilterHashtable @{LogName='Security'; Id=4723} -MaxEvents 3 | Format-List
Lokale gebruikers weergevennet userGet-LocalUser
DNS-resolutie voor Key Vault testennslookup <yourvaultname>.vault.azure.netResolve-DnsName -Name "<yourvaultname>.vault.azure.net"
Status van de taak in Taakplanner controlerenschtasks /query /tn "RotateLocalAdminPassword"Get-ScheduledTask -TaskName "RotateLocalAdminPassword"

Waar u op moet letten

Risico’sMogelijke gevolgenOplossingen
Script werkt het wachtwoord niet bijHet wachtwoord blijft ongewijzigd, waardoor het endpoint kwetsbaar blijft voor brute force of hergebruikte referenties.Voeg logging toe om de uitvoering te bevestigen, test scripts handmatig vóór de automatisering en bewaak de geschiedenis van Taakplanner.
Wachtwoord wordt bijgewerkt, maar niet opgeslagen in Key VaultVeroorzaakt verlies van toegang tot referenties, vooral in herstelscenario’sSchakel foutafhandeling en bevestigingslogging in en valideer de schrijftoegang tot Key Vault vóór de rotatie.
Key Vault-toegang verkeerd geconfigureerdOnbevoegde gebruikers krijgen mogelijk toegang tot referenties of het rotatiescript mislukt door geweigerde toegang.Controleer RBAC- en Key Vault-beleid regelmatig en beperk toegang tot secrets tot één bevoorrechte groep.
Rotatie-interval wordt niet afgedwongenWachtwoorden blijven mogelijk lang ongewijzigd, in strijd met het beveiligingsbeleidGebruik geplande taken met een vast interval en bewaak de registersleutel of auditlogs ter bevestiging.
Problemen met tijdsynchronisatie tussen endpointsKan de timing van geplande taken beïnvloeden of onjuiste aannames in auditlogs veroorzakenSynchroniseer de tijd via NTP en gebruik een centrale log of SIEM voor consistente validatie van tijdstempels.

Aanvullende overwegingen bij geautomatiseerde rotatie van lokale adminwachtwoorden

  • Limieten van Azure Key Vault: houd rekening met naamgevingslimieten en request throttling als u honderden secrets beheert.
  • Log nooit wachtwoorden: log wachtwoorden nooit naar een bestand of het portaal, gebruik altijd secure strings.
  • Rotatiefrequentie: elke 30 – 90 dagen wordt aanbevolen, afhankelijk van het compliance-kader.
  • Multi-tenant beheer: gebruik tags of resourcegroepen om klantvaults te scheiden in MSP-omgevingen

NinjaOne-diensten voor het configureren van rotatie van lokale adminwachtwoorden

NinjaOne en de bijbehorende tools helpen het beheer van lokale adminwachtwoorden te verbeteren met deze diensten.

NinjaOne-dienstWat het isHoe het helpt bij veilige rotatie van lokale adminwachtwoorden
ScriptimplementatiePowerShell-scripts naar endpoints pushen om lokale wachtwoorden veilig te roterenZorgt voor consistente, geautomatiseerde wachtwoordrotatie op alle beheerde devices
Monitoring van rotatieBijhouden wanneer devices hun wachtwoord voor het laatst hebben gewijzigd via registersleutels of scriptlogsHelpt te verifiëren of de rotatie volgens schema verloopt en signaleert gemiste of mislukte pogingen
Key Vault-integratieCommunicatie met Key Vault automatiseren via managed identities of referentiesMaakt het mogelijk wachtwoorden tijdens de rotatie veilig op te slaan en op te halen zonder hardcoded secrets
Waarschuwingen en auditingTechnici waarschuwen wanneer een rotatie mislukt of wachtwoorden bijna verlopenBiedt inzicht in en verantwoording over het slagen of mislukken van wachtwoordrotatie
Schaalbaarheid over tenants heenPer klantomgeving aparte rotatiebeleidsregels en vaultopslag aanhouden.Maakt veilig en geïsoleerd beheer van referenties mogelijk voor MSP’s die meerdere klanten bedienen

Lokale adminwachtwoorden roteren voor betere beveiliging

Cyberaanvallen worden steeds geraffineerder en daarom is het cruciaal om strategieën op te zetten die essentiële referenties zoals lokale adminwachtwoorden beschermen. U kunt lokale adminwachtwoorden handmatig roteren, maar automatisering verhoogt de beveiliging aanzienlijk. Deze gids helpt u om:

  • Azure Key Vault te configureren voor veilige wachtwoordopslag
  • PowerShell te gebruiken om lokale administratorreferenties te roteren en op te slaan
  • Wachtwoordbeleid af te dwingen en rotatie bij te houden
  • Toegang te beperken en te auditen met RBAC en logging
  • De rotatiestatus te valideren met ingebouwde Windows-tools

Bij het uitvoeren van deze taken volgt u de beste praktijken om lokale wachtwoordrotatie efficiënt toe te passen. Zo kunnen IT-administrators en MSP’s hun eindpuntbeveiliging versterken en de operationele controle over hun beheerde omgevingen behouden.

Gerelateerde onderwerpen:

FAQs

Azure Key Vault kent geen maandelijkse opslagkosten voor secrets, maar rekent per bewerking ongeveer $0,03 per 10.000 transacties voor acties zoals het opslaan en ophalen van wachtwoorden. Dat komt neer op een paar dollar per maand, zelfs bij een groot apparaatpark.

Een implementatie van Microsoft LAPS ondersteunt devices die aan Microsoft Entra ID zijn gekoppeld zonder extra kosten en zit ingebouwd in Windows 10, 11 en Server 2019 en later. Key Vault en PowerShell zijn een betere keuze wanneer u secrets wilt centraliseren naast andere Key Vault-referenties of platformen wilt dekken die LAPS niet beheert.

De managed identity van het script heeft een schrijfrol nodig, zoals Key Vault Secrets Officer, om nieuwe wachtwoorden op te slaan. Geef een aparte herstelidentiteit een alleen-lezenrol zoals Key Vault Secrets User, zodat een gecompromitteerd herstelaccount opgeslagen wachtwoorden niet kan overschrijven.

Nee, Key Vault logt toegang standaard nergens. U moet eerst de diagnostische instelling AuditEvent inschakelen. Daarna verschijnt elk ophaalmoment als een SecretGet-gebeurtenis die u in Log Analytics kunt opvragen en waarop u kunt alarmeren.

Ja, het werkt op servers net zoals op werkplekken, omdat het afhangt van PowerShell en netwerktoegang en niet van het type device. Voor on-premises of hybride servers op schaal biedt het nieuwere LAPS voor Azure Arc van Microsoft bovendien native, beleidsgestuurde rotatie die het overwegen waard is.

Dit vindt u misschien ook leuk

Klaar om de moeilijkste delen van IT te vereenvoudigen?