SYSTOLA
Aus der Praxis
Benutzer aus der Verwaltung durch Softerra Adaxes ausschliessen
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.
Kirill Kovalenko @ 11.11.2014
Follow Kirill Kovalenko on LinkedIn
Ü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 und 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.