Wie man Active Directory sauber hält | NinjaOne

ripulire Active Directory

Active Directory ist eines dieser Produkte, die dazu neigen, immer größer zu werden. Es ist ein Produkt, an dem viele Leute jeden Tag Änderungen vornehmen und letztendlich diesen enormen Haufen von Zeug generieren, der irgendwie doch noch funktioniert. Sogar die IT-Abteilung mit den besten Absichten scheint immer eine Active Directory-Umgebung zu haben, die unendlich viele Benutzerkonten hat, die nicht mehr benötigt werden, GPOs die mit OUs verbunden sind, von denen die Leute nicht mal wussten, dass sie überhaupt noch existieren und Computerkonten, die sich auf Computer beziehen, die längst nicht mehr da sind. Dieser Zustand scheint an Leute heranzupirschen. Eines Tages setzt sich jemand vor die Active Directory für Nutzer und Computer (ADUC) und hat diesen Moment, in dem sie sagen: “Wow! Das muss mal aufgeräumt werden.”

Sobald jemand in Ihrer Organisation diesen Moment hat, wird es wahrscheinlich eine entmutigende und überwältigende Aufgabe sein. Es mag sein, dass Sie das Projekt “Zeug aufräumen” in Angriff nehmen, aber Sie werden bald feststellen, dass Rechtsklicken und Löschen alleine, das Problem nicht wird lösen können. Es gibt viele Möglichkeiten, dieses Projekt zum Erfolg zu führen, wobei die erste Aufgabe darin besteht, zu definieren, was genau “Aufräumen” überhaupt bedeutet. In diesem Artikel konzentrieren wir uns auf nicht verwendete Benutzerkonten. Genauer gesagt konzentrieren wir uns auf drei Attribute, die ein Benutzerkonto möglicherweise als “löschbar” einstufen. Diese Attribute sind deaktivierte Konten, Konten, die in x-Tagen nicht verwendet wurden, und Konten mit abgelaufenen Kennwörtern.

Eine der einfachsten Möglichkeiten, diese potenziell nicht verwendeten Konten zu finden, ist die Nutzung von PowerShell. Die ActiveDirectory PowerShell ist ein Modul, das ein äußerst nützliches Cmdlet namens Search-AdAccount enthält, mit dem Abfragen erstellt und genau das zurückerhalten werden kann, was wir benötigen. Bevor dieses Cmdlet jedoch verwendet werden kann, müssen Sie das RSAT-Paket (Remote Server Administration Tools) von Microsoft herunterladen. Sobald das Paket installiert ist, sollten Sie das ActiveDirectory-Modul haben, und schon können Sie loslegen! Damit einer der folgenden Codes funktioniert, gehe ich davon aus, dass Sie sich an einem Windows-PC befinden, der mit der Domäne verbunden ist, in der sich die Nutzer befinden, die Sie suchen möchten. Nachdem das gesagt wurde, lassen Sie uns die Sache angehen!

Deaktivierte Konten in Active Directory finden

Die erste Aufgabe besteht darin, deaktivierte Konten zu finden. Um deaktivierte Konten zu finden, verwenden wir das Cmdlet Search-ADAccount. Dieses Cmdlet verfügt über einen einzelnen Parameter namens Disabled, der diese Aufgabe zu einem Kinderspiel macht. Führen Sie einfach Search-AdAccount-AccountDisabled aus und voilá, alle Ihre deaktivierten Konten werden angezeigt. Beachten Sie unten, dass ich den Parameter UsersOnly verwendet habe, da dieses Cmdlet auch deaktivierte Computerkonten finden kann.

C:> Search-ADAccount -UsersOnly -AccountDisabled -Server dc

AccountExpirationDate :
DistinguishedName : CN=Guest,CN=Users,DC=mylab,DC=local
Enabled : False
LastLogonDate :
LockedOut : False
Name : Guest
ObjectClass : user
ObjectGUID : 89cfaf2b-c6d8-4ae0-a720-e2da7d201717
PasswordExpired : False
PasswordNeverExpires : True
SamAccountName : Guest
SID : S-1-5-21-4117810001-3432493942-696130396-501
UserPrincipalName :
…………

 

Inaktive Benutzerkonten im Active Directory finden

Ein weiterer üblicher Verdächtiger, der gesäubert werden muss ist Inaktive Nutzerkonten und der ist ein weniger schwerer zu finden. “Inaktiv” ist ein subjektiver Begriff, daher definieren wir für unsere Zwecke “inaktiv” als älter als 30 Tage, da jeder Benutzer einen LastLogonTimeStemp-Wert hat. Im Internet werden Sie viele Artikel über die Suche nach inaktiven Nutzern finden, aber einige Leute merken nicht, dass es viel einfacher ist, als komplizierte AD LDAP-Filter zu erstellen. Der Support ist in Search-AdAccount systemeigen.

Wir können Search-AdAccount-AccountInactive -UsersOnly -Timespan 30.00:00:00 verwenden, um sofort alle AD-Benutzerkonten zu finden, die innerhalb der letzten 30 Tage nicht verwendet wurden.

Es gibt jedoch einen Vorbehalt. Microsoft aktualisiert nur alle 14 Tage das LastLogonTimestamp-Attribut, das mit dem LastLogonDate identisch ist, um Vervielfältigungsanstürme zu verhindern. Aufgrund dieser Eigenschaft von AD ist die Verwendung dieser Methode (oder auch Get-AdUser oder Get-AdComputer mit dem erweiterten Filter) nicht 100%ig genau, wenn Sie versuchen, Konten mit einer Inaktivität älter als 14 Tage zu finden. Seien Sie also gewarnt.

Schließlich müssen wir alle AD-Benutzer finden, die ein abgelaufenes Kennwort haben, die nicht mehr benötigt werden. Dieser ist knifflig, weil “aktive” Benutzerkonten ein abgelaufenes Passwort haben könnten, wenn es gerade erst abgelaufen ist. Ich muss also nicht nur abgelaufene Passwörter finden, sondern auch, wie lange sie abgelaufen sind. Wenn sie abgelaufen sind, sagen wir vor 30 Tagen oder länger, kann ich davon ausgehen, dass diese Benutzerkonten tatsächlich inaktiv sind.

Um herauszufinden, wie lange ein Passwort abgelaufen ist, muss ich zuerst das maximale Passwortalter für die Passwortrichtlinie der Domain finden. Ich kann dies mit dem Cmdlet Get-AdDefaultDomainPasswordPolicy tun.

$MaxPasswordAge = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Days

Als nächstes kann ich dann alle Benutzerkonten finden, die ein abgelaufenes Passwort haben, dann diese Benutzerkonten filtern, indem ich das letzte Mal sehen, an dem ihr Passwort zuletzt geändert wurde, und kann sicherstellen, dass die maximale Zeit plus 30 Tage vergangen ist (je nachdem wie alt ich das Konto einstufe).

Der Code sieht ungefähr so aus:

Search-AdAccount -PasswordExpired -UsersOnly | Where-Object {((Get-Date) – (Get-AdUser -Filter “samAccountName -eq $_.SamAccountName”).PasswordLastSet) -lt ($MaxPasswordAge + 30)}

Wenn Sie das nächste Mal nach inaktiven Einträgen suchen, sehen Sie sich Search-AdAccount an, um zu sehen, ob es bereits das tut, was Sie tun möchten. Es kann Ihnen eine Menge Zeit sparen!

Adam Bertram ist ein Microsoft Windows Cloud und Datacenter Management MVP. Er hat verschiedene Schulungen verfasst, ist regelmäßiger Mitwirkender zahlreicher Print- und Online-Publikationen und präsentiert auf verschiedenen Benutzergruppen und Konferenzen. Sie können Adam unter adamtheautomator.com oder auf Twitter unter @adbertram finden.

Nächste Schritte

Der Aufbau eines effizienten und effektiven IT-Teams erfordert eine zentralisierte Lösung, die als einheitliches Tool für die Bereitstellung von IT-Dienstleistungen fungiert. NinjaOne ermöglicht es IT-Teams, all ihre Geräte zu überwachen, verwalten, sichern und zu unterstützen, unabhängig von ihrem Ort und komplexer Infrastruktur vor Ort.

Erfahren Sie mehr über NinjaOne Endpoint Management, schauen Sie sich eine Live-Tour an, oder starten Sie Ihre kostenlose Testversion der NinjaOne Plattform.

Das könnte Sie auch interessieren

Sind Sie bereit, ein IT-Ninja zu werden?

Erfahren Sie, wie Sie mit NinjaOne Ihren IT-Betrieb vereinfachen können.
×

Sehen Sie NinjaOne in Aktion!

Mit dem Absenden dieses Formulars akzeptiere ich die Datenschutzerklärung von NinjaOne.

NinjaOne Allgemeine Geschäftsbedingungen für Skripte

Indem Sie unten auf die Schaltfläche “Ich akzeptiere” klicken, erklären Sie Ihr Einverständnis mit den folgenden rechtlichen Bedingungen sowie mit unseren Nutzungsbedingungen:

  • Eigentumsrechte: NinjaOne besitzt und wird weiterhin alle Rechte, Titel und Interessen an dem Skript (einschließlich des Urheberrechts) behalten. NinjaOne gewährt Ihnen eine eingeschränkte Lizenz zur Nutzung des Skripts in Übereinstimmung mit diesen rechtlichen Bedingungen.
  • Einschränkung der Nutzung: Sie dürfen das Skript nur für Ihre legitimen persönlichen oder internen Geschäftszwecke verwenden und es nicht an Dritte weitergeben.
  • Verbot der Wiederveröffentlichung: Sie sind unter keinen Umständen berechtigt, das Skript in einer Skriptbibliothek, die einem anderen Softwareanbieter gehört oder von diesem kontrolliert wird, erneut zu veröffentlichen.
  • Gewährleistungsausschluss: Das Skript wird “wie gesehen” und “wie verfügbar” bereitgestellt, ohne jegliche Garantie. NinjaOne gibt keine Versprechen oder Garantien, dass das Skript frei von Fehlern ist oder dass es Ihre speziellen Bedürfnisse oder Erwartungen erfüllt.
  • Risikoübernahme: Die Verwendung des Skripts erfolgt auf eigene Gefahr. Sie erkennen an, dass die Nutzung des Skripts mit bestimmten Risiken verbunden ist, und Sie verstehen und übernehmen jedes dieser Risiken.
  • Verzicht und Freigabe: Sie machen NinjaOne nicht für nachteilige oder unbeabsichtigte Folgen verantwortlich, die sich aus Ihrer Nutzung des Skripts ergeben, und Sie verzichten auf alle gesetzlichen oder billigkeitsrechtlichen Rechte oder Rechtsmittel, die Sie gegen NinjaOne im Zusammenhang mit Ihrer Nutzung des Skripts haben könnten.
  • EULA: Wenn Sie ein NinjaOne-Kunde sind, unterliegt Ihre Nutzung des Skripts dem für Sie geltenden Endbenutzer-Lizenzvertrag (EULA).