Migrieren von Gruppen aus einer Gesamtstruktur zu einer anderen mit Microsoft Entra Connect
In diesem Artikel wird beschrieben, wie Gruppen aus einer Gesamtstruktur in eine andere migriert werden, sodass die migrierten Gruppenobjekte mit den in der Cloud vorhandenen Objekten übereinstimmen.
Voraussetzungen
- Microsoft Entra Connect Version 1.5.18.0 oder höher
- Quellankerattribut auf
mS-DS-ConsistencyGuid
festgelegt
Migrieren von Gruppen
Ab Version 1.5.18.0 unterstützt Microsoft Entra Connect die Verwendung des mS-DS-ConsistencyGuid
-Attributs für Gruppen. Wenn mS-DS-ConsistencyGuid
als Quellankerattribut ausgewählt und der Wert in Active Directory aufgefüllt wird, verwendet Microsoft Entra Connect den Wert mS-DS-ConsistencyGuid
als immutableId
. Andernfalls wird ein Fallback auf objectGUID
ausgeführt. Beachten Sie jedoch, dass Microsoft Entra Connect den Wert nicht in das mS-DS-ConsistencyGuid
-Attribut in Active Directory zurückschreibt.
Bei einer Verschiebung zwischen Gesamtstrukturen, bei der ein Gruppenobjekt von einer Gesamtstruktur (z. B. F1) in eine andere Gesamtstruktur (z. B. F2) verschoben wird, müssen Sie entweder den Wert mS-DS-ConsistencyGuid
(sofern vorhanden) oder den Wert objectGUID
des Objekts in Gesamtstruktur F1 in das Attribut mS-DS-ConsistencyGuid
des Objekts in Gesamtstruktur F2 kopieren.
Verwenden Sie die folgenden Skripts als Leitfaden, um zu erfahren, wie Sie eine einzelne Gruppe von einer Gesamtstruktur in eine andere migrieren. Sie können diese Skripts auch als Leitfaden für die Migration mehrerer Gruppen verwenden. In den Skripts wird für die Quellgesamtstruktur der Name F1 und für die Zielgesamtstruktur der Name F2 verwendet.
Zunächst werden die Werte objectGUID
und mS-DS-ConsistencyGuid
des Gruppenobjekts in der Gesamtstruktur F1 abgerufen. Diese Attribute werden in eine CSV-Datei exportiert.
<#
DESCRIPTION
============
This script will take DN of a group as input.
It then copies the objectGUID and mS-DS-ConsistencyGuid values along with other attributes of the given group to a CSV file.
This CSV file can then be used as input to the Export-Group script.
#>
Param(
[ValidateNotNullOrEmpty()]
[string]
$dn,
[ValidateNotNullOrEmpty()]
[string]
$outputCsv
)
$defaultProperties = @('samAccountName', 'distinguishedName', 'objectGUID', 'mS-DS-ConsistencyGuid')
$group = Get-ADGroup -Filter "DistinguishedName -eq '$dn'" -Properties $defaultProperties -ErrorAction Stop
$results = @()
if ($group -eq $null)
{
Write-Error "Group not found"
}
else
{
$objectGUIDValue = [GUID]$group.'objectGUID'
$mSDSConsistencyGuidValue = "N/A"
if ($group.'mS-DS-ConsistencyGuid' -ne $null)
{
$mSDSConsistencyGuidValue = [GUID]$group.'mS-DS-ConsistencyGuid'
}
$adgroup = New-Object -TypeName PSObject
$adgroup | Add-Member -MemberType NoteProperty -Name samAccountName -Value $($group.'samAccountName')
$adgroup | Add-Member -MemberType NoteProperty -Name distinguishedName -Value $($group.'distinguishedName')
$adgroup | Add-Member -MemberType NoteProperty -Name objectGUID -Value $($objectGUIDValue)
$adgroup | Add-Member -MemberType NoteProperty -Name mS-DS-ConsistencyGuid -Value $($mSDSConsistencyGuidValue)
$results += $adgroup
}
Write-Host "Exporting group to output file"
$results | Export-Csv "$outputCsv" -NoTypeInformation
Anschließend verwenden Sie die generierte CSV-Ausgabedatei, um das Attribut mS-DS-ConsistencyGuid
für das Zielobjekt in der Gesamtstruktur F2 zu stempeln:
<#
DESCRIPTION
============
This script will take DN of a group as input and the CSV file that was generated by the Import-Group script.
It copies either the objectGUID or the mS-DS-ConsistencyGuid value from the CSV file to the given object.
#>
Param(
[ValidateNotNullOrEmpty()]
[string]
$dn,
[ValidateNotNullOrEmpty()]
[string]
$inputCsv
)
$group = Get-ADGroup -Filter "DistinguishedName -eq '$dn'" -ErrorAction Stop
if ($group -eq $null)
{
Write-Error "Group not found"
}
$csvFile = Import-Csv -Path $inputCsv -ErrorAction Stop
$msDSConsistencyGuid = $csvFile.'mS-DS-ConsistencyGuid'
$objectGuid = [GUID] $csvFile.'objectGUID'
$targetGuid = $msDSConsistencyGuid
if ($msDSConsistencyGuid -eq "N/A")
{
$targetGuid = $objectGuid
}
Set-ADGroup -Identity $dn -Replace @{'mS-DS-ConsistencyGuid'=$targetGuid} -ErrorAction Stop
Nächste Schritte
Erfahren Sie mehr zum Integrieren lokaler Identitäten in Microsoft Entra ID.