Denne veiledningen beskriver prosessen med å importere eksisterende Active Directory (AD)-grupper til Identum eADM. Dette gjør at eADM kan overta styringen av disse gruppene uten å slette eller gjenskape dem. Prosessen innebærer å eksportere gruppedata til CSV, konfigurere synkroniseringsmaler og importere dataene til eADM.
Forutsetninger
-
Administrativ tilgang til Active Directory Domain Controller.
-
Administrativ tilgang til eADM Tenant.
-
PowerShell installert på serveren der eksporten skal utføres.
Trinn 1: Eksporter AD-grupper til CSV
For å importere grupper må du først generere en formatert CSV-fil som inneholder gruppedataene. Vi bruker et PowerShell-skript til å hente ut den nødvendige informasjonen fra Active Directory.
-
Åpne PowerShell ISE eller et tekstredigeringsprogram på en maskin med Active Directory-moduler installert.
-
Kopier skriptet nedenfor.
-
Viktig: Oppdater variablene i seksjonene Generelt oppsett, Systemverdier og Grupper/enheter slik at de stemmer overens med ditt miljø.
-
Sørg for at variabelen
$exportmemberser satt til"false"for dette spesifikke importscenarioet.
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
}
}
}
Trinn 2: Oppdater eksisterende synkroniseringsregler
Før du importerer de nye gruppene, må du sørge for at de eksisterende gruppesynkroniseringsmaler ikke forsøker å reeksportere disse gruppene tilbake til AD, noe som kan føre til duplikater eller feil.
-
Se gjennom alle aktive gruppesynkroniseringsmaler.
-
Finn regelsettet som er knyttet til hver mal.
-
Legg til en regel for å utelukke grupper hvor
Parentattributtet er likImportedGroups.
Advarsel: Hvis du ikke utfører dette trinnet, kan det føre til duplisering av grupper i Active Directory.
Trinn 3: Konfigurere importsynkroniseringsmalen
Du trenger en spesifikk synkroniseringsmal i eADM for å håndtere de importerte gruppene. Du kan enten kopiere en ferdiglaget mal eller opprette en manuelt.
Alternativ A: Kopier fra "Templates"-tenanten
Hvis du har tilgang til tenanten "Templates", kopierer du malen med navnet AD: Imported groups (sourceid = objectguid). Regelsettet AD: Imported groups from OnPremAD objectguid vil også bli kopiert over.
Alternativ B: Manuell konfigurasjon
Hvis du ikke kan kopiere malen, kan du opprette en ny med følgende innstillinger:
Malinnstillinger:
-
Navn:
AD: Imported groups (sourceid = objectguid) -
Aktiv: Ja
-
Objekttype: Gruppe
-
Synkroniseringstrinn: Eksporter AD
-
Objektsti:
[IFEMPTYUSE;[ExtensionAttribute2];OU=Groups DC=domain DC=local]-
Merk: Erstatt DN ovenfor med standard Group OU.
-
Eksporter attributter:
|
Kilde |
Mål |
Tomt mål |
Fremmed nøkkel |
|
|
beskrivelse |
Nei |
|
|
|
cn |
Nei |
|
|
|
samKontonavn |
Nei |
|
|
|
GroupType |
Nei |
|
|
|
extensionAttribute1 |
Nei |
|
|
|
administrertav |
Nei |
Bruker.leder |
|
|
visningsnavn |
Nei |
|
|
|
extensionAttribute3 |
Nei |
|
|
|
extensionAttribute4 |
Nei |
|
Konfigurasjon av regelsett:
Opprett et regelsett med navnet "AD: Importerte grupper fra OnPremAD", og koble det til malen.
-
Attributt: Foreldre
-
Vilkår: Er lik en av
-
Argument:
ManualGroupWizard,ImportedGroups
Trinn 4: Importer CSV-filen til eADM
Når CSV-filene er generert og malene er konfigurert, kan du fortsette med importen.
-
Logg inn på eADM.
-
Naviger til Grupper i sidepanelet.
-
Velg Kildedata for manuelle grupper.
-
Start veiviseren for opplasting av manuelle grupper.
-
Last opp CSV-filen(e) som ble generert i trinn 1.
-
Merk: De riktige kolonnemappingen vil bli oppdaget automatisk.
-
-
Fullfør veiviseren for å fullføre importen.
Resultat: Ved neste synkroniseringssyklus vil det bli opprettet et anker som knytter eADM-objektene til de eksisterende AD-gruppene via deres objectGuid. Du kan nå administrere disse gruppene ved hjelp av eADM.
4. Sammendrag for AI og søk
Dette dokumentet inneholder instruksjoner for import av eksisterende Active Directory-grupper til Identum eADM for administrasjon. Det beskriver prosessen med å kjøre et PowerShell-skript for å eksportere AD-grupper til CSV, endre eksisterende synkroniseringsregler for å forhindre duplisering, konfigurere en dedikert synkroniseringsmal for "Importerte grupper" og bruke "Veiviseren for opplasting av manuelle grupper" i eADM. Denne prosedyren etablerer en permanent kobling (anker) mellom eADM og AD uten å slette eksisterende data.