Logo faq-o-matic.net
Logo faq-o-matic.net

Active Directory Computer Account Password Renewal

von veröffentlicht am13. September 2018, 06:30 Uhr Kurzlink und Zitatlink einblenden
Kategorie Kategorie: AD: Erweiterte Abfragen, Gruppenrichtlinien, PowerShell   Translate with Google Translate Translate EN   Die angezeigte Seite drucken

Jeder, der sich schon mal (intensiver) mit der Pflege einer Active-Directory-Domäne auseinandergesetzt hat, kann nicht abstreiten, dass z.B. Computerkonten oft länger als der eigentliche Computer leben. Möchte man dies verhindern, so gibt es viele Wege – einmal sollte dies ein klar definierter Workflow bei der Dekommissionierung eines Computers sein, andererseits ergibt es durchaus Sinn die aktiven Computerkonten zu überwachen. Entscheidet man sich dazu, dies per Powershell zu tun, stellte sich relativ schnell heraus, dass man dies am besten anhand des Attributes „pwdLastSet“ realisiert.

Eine kurze Abfrage mittels PowerShell zeigt uns auf, welche Computer schon länger als 30 Tage ihr Kennwort nicht geändert haben und noch über aktive Konten verfügen:

Get-ADComputer -Filter { Enabled -eq $true } -Properties pwdLastSet | Where-Object { [datetime]::fromFileTimeUTC($_.pwdLastSet) -le (Get-Date).AddDays(-30) } 

Hierbei wird einem schnell auffallen, dass Computerkonten dabei sind, die an dieser Stelle eigentlich nicht auftauchen sollten. In der Standardeinstellung (ab Windows NT) ändert ein Computer das Passwort seines Machine Accounts alle 30 Tage, dies passiert allerdings nur, wenn auch Konnektivität zum Domain Controller besteht und dieser zu der Zeit auch in der Lage ist, Passwortänderungen durchzuführen.

Möchte man dieses Intervall ändern, kann man dies mit der GPO „Domain member: Maximum machine account password age“ unter „Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options\“. Möglich wäre hier z.B. ein Wert von 14 Tagen. Circa 2 Wochen später sollte man über den oben aufgezeigten Befehl deutlich bessere Ergebnisse erzielen und kann diese zum Beispiel mit dem folgenden Befehl deaktivieren:

Get-ADComputer -Filter { Enabled -eq $true } -Properties pwdLastSet | Where-Object { [datetime]::fromFileTimeUTC($_.pwdLastSet) -le (Get-Date).AddDays(-30) } | Set-ADComputer -Enabled $false -Whatif

Der Parameter -Whatif versetzt das Cmdlet in eine Art Trockenlauf, um die Änderungen tatsächlich durchzuführen, muss dieser entfernt werden.

Wichtig dabei: Viele Unix Systeme, darunter u.a. Storage Systeme, werden diese Policy nicht verarbeiten (können). Ein häufig angetroffenes System ist zum Beispiel die Netapp Storage Virtual Machine auf ONTAP-Systemen. Hier kann man zwar den GPO Support einschalten, allerdings scheint die Verarbeitung dieser GPO in der aktuellen Version nicht implementiert zu sein (näheres dazu in diesem Dokument). Bei ONTAP kann dies wiederum manuell per CLI aktiviert werden, siehe diesen Artikel.

© 2005-2019 bei faq-o-matic.net. Alle Rechte an den Texten liegen bei deren Autorinnen und Autoren.

Jede Wiederveröffentlichung der Texte oder von Auszügen daraus - egal ob kommerziell oder nicht - bedarf der ausdrücklichen Genehmigung durch die jeweiligen Urheberinnen oder Urheber.

Das Impressum findet sich unter: http://www.faq-o-matic.net/impressum/

Danke, dass du faq-o-matic.net nutzt. Du hast ein einfaches Blog sehr glücklich gemacht!