AD-Gruppen in Identum eADM importieren

In dieser Anleitung wird der Vorgang zum Importieren bestehender Active Directory (AD)-Gruppen in Identum eADM beschrieben. Auf diese Weise kann eADM die Verwaltung dieser Gruppen übernehmen, ohne dass diese gelöscht oder neu angelegt werden müssen. Der Vorgang umfasst den Export der Gruppendaten in das CSV-Format, die Konfiguration von Synchronisierungsvorlagen und den Import der Daten in eADM.


Voraussetzungen

  • Administratorzugriff auf den Active Directory-Domänencontroller.

  • Administratorzugriff auf den eADM-Tenant.

  • PowerShell muss auf dem Server installiert sein, auf dem der Export durchgeführt werden soll.


Schritt 1: AD-Gruppen in CSV exportieren

Um Gruppen zu importieren, müssen Sie zunächst eine formatierte CSV-Datei mit den Gruppendaten erstellen. Wir verwenden ein PowerShell-Skript, um die erforderlichen Informationen aus Active Directory zu extrahieren.

  1. Öffnen Sie PowerShell ISE oder einen Texteditor auf einem Computer, auf dem die Active Directory-Module installiert sind.

  2. Kopieren Sie das folgende Skript.

  3. Wichtig: Passen Sie die Variablen in den Abschnitten „Allgemeine Einstellungen“, „Systemwerte“ und „Gruppen/OUs“ an Ihre Umgebung an.

  4. Stellen Sie sicher, dass die Variable $exportmembers ist auf "false" für dieses spezielle Import-Szenario.

PowerShell
<# 
Description: Exports AD groups to CSV for eADM import.
Usage: Update variables in the "Setup" section before running.
#>

#------ General Setup ------
$customer = "utfjord"          # Short customer name, used in file extensions.
$eadm_path = "C:\eadm"         # Path to eAdm installation.
$outputfolder = "C:\eadm\tmp\groupexport"  # Output directory. Folder must exist.
$exportmembers = "false"       # Set to "false" for initial group import.

# ------ System Values ------
$domaincontroller = "DC01"     # Name of the DC used for extraction.
$domain = "domain.local"
$mergeAttribute = "employeeNumber"  # Unique user attribute (e.g., samaccountName or employeeNumber).
$sourceId = "objectGuid"       # Source ID type (objectGuid or samaccountName).

#------ Groups / OUs ------
# Define OUs to export. Add specific OUs to the array below.

$groupOUs = @()

# Add an object for each OU
$groupOUs += @{
    DN    = "OU=Grupper,OU=Resurser,DC=utfjord,DC=local" # Full DN of the OU.
    alias = "Felles"           # Short name for the OU (used in filenames).
    scope = "SubTree"          # Search scope: "SubTree" or "OneLevel".
    synctemplateid = "ImportedGroups"  # ID of the sync template.
}

#------ Members ------
$userSearchBase = "OU=Brukere,DC=utfjord,DC=local" # Parent OU for member fetch.

<# 
Limit user selection to specific OUs if necessary. 
Set equal to $userSearchbase if no limitations are needed. 
#>
$userOUs = @(
    "OU=Brukere,DC=utfjord,DC=local"
) 

# // End of Setup

#------ Export Logic ------

# Create Regex for User OU validation
$regex = ""
$userOUs | ForEach-Object { $regex += ".*," + [Regex]::Escape($_) + "$|" }
$regex = $regex.Substring(0,$regex.Length-1)

foreach ($ou in $groupOUs) {

    Write-Host "Fetching groups for OU $($ou.DN)"    
    $groups = Get-ADGroup -filter '*' -searchbase "$($ou.DN)" -searchscope "$($ou.scope)" -properties name,samaccountname,description,ManagedBy,mailnickname,grouptype,groupscope,GroupCategory,Mail,distinguishedName,ObjectGuid 

    Write-Host "Writing group list to file for OU $($ou.DN) --> $($outputfolder)"    
    
    $groups | Select-Object @{Label="name";Expression = {("$($_.samaccountname)")}},`
                            @{Label="displayname";Expression = {("$($_.name)")}},`
                            @{Label="sourceid";Expression = {("$($_.$($sourceid))")}},`
                            mail,description,`
                            @{Label="GroupType";Expression = {("$($_.groupScope)$($_.GroupCategory)")}},`
                            @{n='parentPath';e={$_.DistinguishedName -replace '^.*?,(?=[A-Z]{2}=)'}},`
                            @{Label="groupScope";Expression = {("OnPremAD")}},`
                            @{Label="ImportedAnchor";Expression = {($_.objectguid)}},`
                            @{Label="parent";Expression = {($ou.synctemplateid)}} | 
                            ConvertTo-Csv -NoTypeInformation -Delimiter ";" | 
                            ForEach-Object { $_ -replace '"' } | 
                            Out-file -Encoding utf8 -filepath "$($outputfolder)\groups-$($ou.alias).csv"

    # Member export logic (Skipped if $exportmembers is false)
    if($exportmembers -eq "true") {    
        foreach ($group in $groups) {
            Write-Host "Fetching and writing members to file for group $($group.samaccountname) --> $($outputfolder)" 
            (Get-ADGroupMember -identity $group.samaccountname -Recursive | 
            Where-Object {$_.objectClass -eq "user"} | 
            Get-ADUser -Properties $($mergeattribute) | 
            Where-Object { $_.DistinguishedName -match $regex -and $_.enabled -eq $True -and $($mergeattribute) -like "*"} | 
            ForEach-Object { $_.$($mergeattribute) }) -join "," | 
            Out-file -filepath "$($outputfolder)\members-$($group.samaccountname)_$($customer).csv" -Encoding UTF8
        }
    }
}


Schritt 2: Vorhandene Synchronisierungsregeln aktualisieren

Bevor Sie die neuen Gruppen importieren, müssen Sie sicherstellen, dass Ihre bestehenden Vorlagen für die Gruppensynchronisierung nicht versuchen, diese Gruppen wieder zurück in AD zu exportieren, da dies zu Duplikaten oder Fehlern führen würde.

  1. Überprüfen Sie alle aktiven Vorlagen für die Gruppensynchronisierung.

  2. Suchen Sie den zu jeder Vorlage gehörenden Regelsatz.

  3. Eine Regel hinzufügen zu ausschließen Gruppen, in denen die Parent Attribut ist gleich ImportedGroups.

Warnung: Wenn dieser Schritt nicht ausgeführt wird, kann dies zur doppelten Erstellung von Gruppen in Active Directory führen.


Schritt 3: Konfigurieren Sie die Import-Synchronisierungsvorlage

Sie benötigen in eADM eine spezielle Synchronisierungsvorlage, um die importierten Gruppen zu verwalten. Sie können entweder eine vorgefertigte Vorlage kopieren oder eine manuell erstellen.


Option A: Aus den Vorlagen des Mandanten kopieren

Wenn Sie Zugriff auf den Mandanten „Templates“ haben, kopieren Sie die Vorlage mit dem Namen AD: Imported groups (sourceid = objectguid). Der Regelkatalog AD: Imported groups from OnPremAD objectguid werden ebenfalls kopiert.


Option B: Manuelle Konfiguration

Falls Sie die Vorlage nicht kopieren können, erstellen Sie eine neue mit den folgenden Einstellungen:

Vorlageneinstellungen:

  • Name: AD: Imported groups (sourceid = objectguid)

  • Aktiv: Ja

  • Objekttyp: Gruppe

  • Synchronisierungsschritt: AD exportieren

  • Objektpfad: [IFEMPTYUSE;[ExtensionAttribute2];OU=Groups DC=domain DC=local]

    • Hinweis: Ersetzen Sie den oben angegebenen DN durch Ihre Standard-Gruppen-OU.

Exportattribute:

image-20251129-154643.png

Quelle

Ziel

Leeres Ziel

Fremdschlüssel

[description]

Beschreibung

Nein


[Name]

cn

Nein


[Name]

samAccountName

Nein


[IFEMPTYUSE;[TRANSFORM;[GroupType];DomainLocalDistribution|4;GlobalDistribution|2;UniversalDistribution|8;DomainLocalSecurity|-2147483644;GlobalSecurity|-2147483646;UniversalSecurity|-2147483640];-2147483646]

Gruppentyp

Nein


eAdm

Erweiterungsattribut1

Nein


[Manager]

verwaltet von

Nein

User.Manager

[IFEMPTYUSE;[ExtensionAttribute3];[Name]]

displayName

Nein


ReservedForFutureUse

Erweiterungsattribut3

Nein


ReservedForFutureUse

Erweiterungsattribut4

Nein


Konfiguration des Regelsatzes:

image-20251129-154532.png

Erstellen Sie einen Regelsatz mit dem Namen „AD: Aus OnPremAD importierte Gruppen“ und verknüpfen Sie ihn mit der Vorlage.

  • Attribut: Übergeordnetes Element

  • Ausdruck: Ist gleich einem der folgenden Ausdrücke:

  • Argument: ManualGroupWizard,ImportedGroups


Schritt 4: CSV-Datei in eADM importieren

Sobald die CSV-Dateien erstellt und die Vorlagen konfiguriert sind, fahren Sie mit dem Import fort.

  1. Melden Sie sich bei eADM an.

  2. Navigieren Sie in der Seitenleiste zu „Gruppen “.

  3. Wählen Sie die Quelldaten für manuelle Gruppen aus.

  4. Starten Sie den Assistenten zum Hochladen manueller Gruppen.

  5. Laden Sie die in Schritt 1 erstellten CSV-Dateien hoch.

    • Hinweis: Die korrekten Spaltenzuordnungen werden automatisch erkannt.

  6. Führen Sie den Assistenten zu Ende, um den Import abzuschließen.

Ergebnis: Beim nächsten Synchronisierungszyklus wird eine Verknüpfung hergestellt, die die eADM-Objekte über ihre „objectGuid“ mit den bestehenden AD-Gruppen verbindet. Sie können diese Gruppen nun über eADM verwalten.


Dieses Dokument enthält Anweisungen zum Importieren bestehender Active Directory-Gruppen in Identum eADM zu Verwaltungszwecken. Es beschreibt den Ablauf, bei dem ein PowerShell-Skript ausgeführt wird, um AD-Gruppen in eine CSV-Datei zu exportieren, bestehende Synchronisationsregeln anzupassen, um Duplikate zu vermeiden, eine eigene Synchronisationsvorlage „Importierte Gruppen“ zu konfigurieren und den „Assistenten zum Hochladen manueller Gruppen“ in eADM zu verwenden. Dieses Verfahren stellt eine dauerhafte Verknüpfung (Anker) zwischen eADM und AD her, ohne vorhandene Daten zu löschen.

Zuletzt aktualisiert: