Unser Blog
Ihre Fragen beantwortet
Ihre Fragen beantwortet

Benutzer aus der Verwaltung durch Softerra Adaxes ausschliessen

Übersicht

Manchmal möchten unsere Kunden einige ihrer Active Directory-Benutzerkonten vom Adaxes-Dienst ignorieren lassen, um für diese Konten keine Lizenzen erwerben zu müssen. Die meisten dieser Konten repräsentieren keine echten Personen oder Computerobjekte, sondern sind Servicekonten für Hintergrundprozesse oder andere nicht überwachte Aufgaben.

Es ist weithin unbekannt, dass Adaxes über eine entsprechende Funktionalität verfügt. Das Problem mit diesem Feature ist aber, dass es gut versteckt ist und es keine bequeme Benutzeroberfläche und kein Befehlszeilentool gibt, um festzulegen, welche Accounts von der Verwaltung durch Adaxes ausgenommen werden sollen.

Wir haben auf die Nachfrage unserer Kunden nach Tools zur Steuerung von nicht in Adaxes verwalteten Konten reagiert und einen Satz PowerShell-Skripte erstellt. Diese Skripte stellen eine einfache und doch mächtige Befehlszeilenschnittstelle zum Hinzufügen und Entfernen von Konten aus der Adaxes-Ignore-Liste im Stapelbetrieb bereit und vereinfachen so den Alltag des Administrators.


Installation

Holen Sie sich unser Adaxes Contribution Repository von GitHub oder Bitbucket. Kopieren Sie die Dateien an einen lokalen Speicherort (z. B. C:\Systola) auf Ihrem Management-Computer. Für die weiteren Schritte muss außerdem das Adaxes-PowerShell-Modul installiert sein.

Fertig!


Nicht verwaltete Benutzer anzeigen

So zeigen Sie ganz einfach die nicht verwalteten Benutzer an:

PS C:\Systola> .\Get-AdmUnmanagedAccount.ps1

DistinguishedName : CN=Redis Database,OU=WebFarm,OU=Services,DC=local,DC=lab
Name              : Redis Database
ObjectGUID        : 3c4a0c4b-c5fb-420d-adf5-a64f28a1a887
SID               : S-1-5-21-3484999034-4104884900-4815162342-3640
UserPrincipalName : db.redis@local.lab

Mithilfe des „-Properties“-Parameters können Sie die abzufragenden Attribute festlegen:

PS C:\Systola> .\Get-AdmUnmanagedAccount.ps1 -Properties canonicalName,samAccountName

CanonicalName     : local.lab/Services/WebFarm/Redis Database
DistinguishedName : CN=Redis Database,OU=WebFarm,OU=Services,DC=local,DC=lab
Name              : Redis Database
ObjectGUID        : 3c4a0c4b-c5fb-420d-adf5-a64f28a1a887
SID               : S-1-5-21-3484999034-4104884900-4815162342-3640
UserPrincipalName : db.redis@local.lab

Der Schalter „-AsMicrosoft“ formt die Ausgabe in ein Microsoft PowerShell-Objekt (Microsoft.ActiveDirectory.Management.ADUser) um, das an ein beliebiges ActiveDirectory-Cmdlet übergeben werden kann.


Nicht verwaltete Benutzer hinzufügen

Mit der folgenden Syntax können Sie einen einzelnen Benutzer in die Ignore-Liste aufnehmen:

PS C:\Systola> .\Add-AdmUnmanagedAccount.ps1 -User db.redis

Wesentlich interessanter ist die Möglichkeit, Benutzer im Stapelbetrieb hinzuzufügen. Sie können zum Beispiel alle Mitglieder einer Gruppe hinzufügen lassen:

PS C:\Systola> .\Add-AdmUnmanagedAccount.ps1 -Group 'Database Service Accounts'
PS C:\Systola> .\Add-AdmUnmanagedAccount.ps1 -Group 'Database Service Accounts' -Recursive

Standardmäßig werden nur direkte Mitglieder der Gruppe hinzugefügt. Wenn Sie auch indirekte Mitglieder (d. h., Mitglieder von geschachtelten Gruppen) hinzufügen möchten, verwenden Sie den Schalter „-Recursive“.

Sie können auch alle Mitglieder einer Organisationseinheit (OU) anhand ihrer GUID oder DN aufnehmen:

PS C:\Systola> .\Add-AdmUnmanagedAccount.ps1 -OrganizationalUnit 'OU=WebFarm,OU=Services,DC=local,DC=lab'
PS C:\Systola> .\Add-AdmUnmanagedAccount.ps1 -OrganizationalUnit 'OU=WebFarm,OU=Services,DC=local,DC=lab' -Subtree

Genau wie bei der Arbeit mit Gruppen werden nur direkt untergeordnete Elemente der Organisationseinheit hinzugefügt. Wenn Sie eine komplette Unterstruktur (d. h. auch die Kinder geschachtelter OUs) hinzufügen möchten, verwenden Sie den Schalter „-Subtree“.

Falls Ihnen Gruppen und Organisationseinheiten nicht genügend Flexibilität bieten, können Sie dem Script auch per Pipeline eine beliebige Liste mit aufzunehmenden Benutzern übergeben:

PS C:\Systola> Get-ADUser -LdapFilter '(userPrincipalName=www.*)' | .\Add-AdmUnmanagedAccount.ps1

Hinweis: Alle beschriebenen Anwendungsfälle unterstützen einen Ersetzen-Modus. Wenn Sie den Schalter „-Replace“ verwenden, werden die bisherigen nicht verwalteten Benutzer durch die neuen Benutzer nicht ergänzt, sondern ersetzt:

PS C:\Systola> .\Add-AdmUnmanagedAccount.ps1 -Group 'Database Service Accounts' -Replace

Nicht verwaltete Benutzer entfernen

Das Entfernen von Benutzern funktioniert analog zum Hinzufügen. Sie können Benutzer einzeln, anhand eines Sicherheitsgruppennamens oder eines Bezeichners einer Organisationseinheit entfernen:

PS C:\Systola> .\Remove-AdmUnmanagedAccount.ps1 -User db.redis
PS C:\Systola> .\Remove-AdmUnmanagedAccount.ps1 -Group 'Database Service Accounts'
PS C:\Systola> .\Remove-AdmUnmanagedAccount.ps1 -OrganizationalUnit ‚OU=WebFarm,OU=Services,DC=local,DC=lab'

Auch das Entfernen über Pipeline-Eingabe wird unterstützt:

PS C:\Systola> Get-ADUser -LdapFilter '(userPrincipalName=www.*)' | .\Remove-AdmUnmanagedAccount.ps1

Wenn Sie alle nicht verwalteten Benutzer entfernen möchten, verwenden Sie Clear-AdmUnmanagedAccount.ps1:

PS C:\Systola> Clear-AdmUnmanagedAccount.ps1

Die Arbeit mit nicht verwalteten Benutzern automatisieren

Sie können sich die Arbeit vereinfachen, indem sie mit dem Scheduler von Adaxes oder Windows eine periodische Aufgabe planen, die das Skript regelmäßig mit einem Parameter wie etwa dem Namen einer Sicherheitsgruppe ausführt. Anschließend müssen Sie die fraglichen Benutzer nur noch in die Sicherheitsgruppe aufnehmen oder aus ihr entfernen, und die geplante Aufgabe aktualisiert anschließend automatisch die Adaxes-Konfiguration:

Add-AdmUnmanagedAccount.ps1 -Group 'Adaxes Unmanaged Accounts' -Replace

Lassen Sie uns wissen, falls Sie Fragen oder Anregungen haben. Wir akzeptieren auch Pull-Anfragen an unser Contribution Repository, wenn Sie etwas beisteuern möchten.

Kirill Kovalenko @ 11.11.2014

Andere Beiträge

.