Overslaan naar hoofdinhoud
Inhoudsopgave overslaan

AD-groepen importeren in Identum eADM

Deze handleiding beschrijft het importeren van bestaande Active Directory (AD) groepen in Identum eADM. Hierdoor kan eADM het beheer van deze groepen overnemen zonder ze te verwijderen of opnieuw aan te maken. Het proces omvat het exporteren van groepsgegevens naar CSV, het configureren van synchronisatiesjablonen en het importeren van de gegevens in eADM.

Vereisten

  • Administratieve toegang tot de Active Directory Domeincontroller.

  • Administratieve toegang tot de eADM huurder.

  • PowerShell geïnstalleerd op de server waarop de export wordt uitgevoerd.

Stap 1: AD-groepen exporteren naar CSV

Om groepen te importeren, moet je eerst een geformatteerd CSV-bestand genereren dat de groepsgegevens bevat. We gebruiken een PowerShell-script om de benodigde informatie uit Active Directory te halen.

  1. Open PowerShell ISE of een teksteditor op een machine waarop Active Directory modules zijn geïnstalleerd.

  2. Kopieer het onderstaande script.

  3. Belangrijk: Werk de variabelen in de secties Algemene instellingen, Systeemwaarden en Groepen / A1's bij zodat ze overeenkomen met uw omgeving.

  4. Zorg ervoor dat de variabele $exportmembers is ingesteld op "false" voor dit specifieke invoerscenario.

CODE
PowerShell
CODE
<# 
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
        }
    }
}

Stap 2: Bestaande synchronisatieregels bijwerken

Voordat je de nieuwe groepen importeert, moet je ervoor zorgen dat je bestaande groepssynchronisatiesjablonen deze groepen niet opnieuw proberen te exporteren naar AD, wat zou leiden tot duplicaten of fouten.

  1. Bekijk alle actieve groepssynchronisatiesjablonen.

  2. Zoek de regelset die bij elke sjabloon hoort.

  3. Een regel toevoegen aan uitsluiten groepen waar de Parent attribuut is gelijk aan ImportedGroups.

Waarschuwing: Als u deze stap niet uitvoert, kan dit leiden tot dubbele groepen in Active Directory.

Stap 3: De importsynchronisatiesjabloon configureren

Je hebt een specifieke synchronisatiesjabloon in eADM nodig om de geïmporteerde groepen af te handelen. Je kunt een kant-en-klaar sjabloon kopiëren of er handmatig een maken.

Optie A: Kopiëren van sjablonen huurder

Als je toegang hebt tot de "Templates" tenant, kopieer dan de sjabloon met de naam AD: Imported groups (sourceid = objectguid). De regelset AD: Imported groups from OnPremAD objectguid wordt ook gekopieerd.

Optie B: handmatige configuratie

Als u de sjabloon niet kunt kopiëren, maak dan een nieuwe sjabloon met de volgende instellingen:

Sjablooninstellingen:

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

  • Actief: Ja

  • Objecttype: Groep

  • Synchronisatiestap: AD exporteren

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

    • Opmerking: Vervang de DN hierboven door de standaard OU van je groep.

Exportattributen:

image-20251129-154643.png

Bron

Doel

Leeg doel

Vreemde sleutel

[description]

beschrijving

Geen

[Name]

cn

Geen

[Name]

samAccountName

Geen

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

GroepType

Geen

eAdm

uitbreidingAttribuut1

Geen

[Manager]

managedBy

Geen

Gebruiker.manager

[IFEMPTYUSE;[ExtensionAttribute3];[Name]]

weergavenaam

Geen

ReservedForFutureUse

uitbreidingAttribuut3

Geen

ReservedForFutureUse

uitbreidingAttribuut4

Geen

Configuratie van regelset:

image-20251129-154532.png

Maak een regelset met de naam "AD: Geïmporteerde groepen uit OnPremAD" en koppel deze aan de sjabloon.

  • Attribuut: Ouder

  • Term: Is gelijk aan een van

  • Argument: ManualGroupWizard,ImportedGroups

Stap 4: CSV importeren in eADM

Zodra de CSV-bestanden zijn gegenereerd en de sjablonen zijn geconfigureerd, kunt u doorgaan met importeren.

  1. Log in op eADM.

  2. Navigeer naar Groepen in de zijbalk.

  3. Selecteer Brongegevens voor handmatige groepen.

  4. Start de wizard voor het uploaden van handmatige groepen.

  5. Upload het (de) in stap 1 gegenereerde CSV-bestand(en).

    • Opmerking: De juiste kolomtoewijzingen worden automatisch gedetecteerd.

  6. Voltooi de wizard om het importeren te voltooien.

Resultaat: Bij de volgende synchronisatiecyclus wordt een anker gemaakt dat de eADM-objecten via hun objectGuid koppelt aan de bestaande AD-groepen. Je kunt deze groepen nu beheren met eADM.


4. Samenvatting voor AI en zoeken

Dit document geeft instructies voor het importeren van bestaande Active Directory groepen in Identum eADM voor beheer. Het beschrijft het proces van het uitvoeren van een PowerShell script om AD groepen te exporteren naar CSV, het wijzigen van bestaande synchronisatieregels om duplicatie te voorkomen, het configureren van een speciaal "Geïmporteerde groepen" synchronisatiesjabloon en het gebruik van de "Wizard voor het uploaden van handmatige groepen" in eADM. Deze procedure maakt een permanente koppeling (anker) tussen eADM en AD zonder bestaande gegevens te verwijderen.

JavaScript-fouten gedetecteerd

Let op: deze fouten kunnen afhankelijk zijn van de instellingen van je browser.

Als dit probleem zich blijft voordoen, neem dan contact op met onze supportafdeling.