Migrera grupper från en skog till en annan för Microsoft Entra Anslut
Den här artikeln beskriver hur du migrerar grupper från en skog till en annan så att de migrerade gruppobjekten matchar de befintliga objekten i molnet.
Förutsättningar
- Microsoft Entra Anslut version 1.5.18.0 eller senare
- Källankarattribut inställt på
mS-DS-ConsistencyGuid
Migrera grupper
Från och med version 1.5.18.0 stöder Microsoft Entra Anslut användning av mS-DS-ConsistencyGuid
attributet för grupper. Om du väljer mS-DS-ConsistencyGuid
som källankareattribut och värdet fylls i i Active Directory använder Microsoft Entra Anslut värdet mS-DS-ConsistencyGuid
för som immutableId
. Annars återgår den till att använda objectGUID
. Observera dock att Microsoft Entra Anslut inte skriver tillbaka värdet till mS-DS-ConsistencyGuid
attributet i Active Directory.
När ett gruppobjekt flyttas från en skog (till exempel F1) till en annan skog (t.ex. F2) måste du kopiera antingen mS-DS-ConsistencyGuid
värdet (om det finns) eller objectGUID
värdet från objektet i skog F1 till attributet för mS-DS-ConsistencyGuid
objektet i F2.
Använd följande skript som en guide för att lära dig hur du migrerar en enskild grupp från en skog till en annan. Du kan också använda dessa skript som en guide för migrering av flera grupper. Skripten använder skogsnamnet F1 för källskogen och F2 för målskogen.
Först hämtar objectGUID
vi gruppobjektet och mS-DS-ConsistencyGuid
i skog F1. Dessa attribut exporteras till en CSV-fil.
<#
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
Sedan använder vi csv-filen med genererade utdata för att stämpla mS-DS-ConsistencyGuid
attributet på målobjektet i skog F2:
<#
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ästa steg
Läs mer om att integrera dina lokala identiteter med Microsoft Entra-ID.