Migrar grupos de uma floresta para outra para o Microsoft Entra Connect
Este artigo descreve como migrar grupos de uma floresta para outra para que os objetos de grupo migrados correspondam aos objetos existentes na nuvem.
Pré-requisitos
- Microsoft Entra Connect versão 1.5.18.0 ou posterior
- Atributo de âncora de origem definido como
mS-DS-ConsistencyGuid
Migrar grupos
A partir da versão 1.5.18.0, o Microsoft Entra Connect suporta o mS-DS-ConsistencyGuid
uso do atributo para grupos. Se você escolher mS-DS-ConsistencyGuid
como o atributo âncora de origem e o valor for preenchido no Ative Directory, o Microsoft Entra Connect usará o valor de mS-DS-ConsistencyGuid
como o immutableId
. Caso contrário, ele volta a usar objectGUID
o . Mas observe que o Microsoft Entra Connect não grava o valor de volta para o mS-DS-ConsistencyGuid
atributo no Ative Directory.
Durante uma movimentação entre florestas, quando um objeto de grupo está se movendo de uma floresta (digamos F1) para outra floresta (digamos F2), você precisa copiar o valor (se estiver presente) ou o objectGUID
valor do objeto na floresta F1 para o mS-DS-ConsistencyGuid
mS-DS-ConsistencyGuid
atributo do objeto em F2.
Use os scripts a seguir como um guia para aprender a migrar um único grupo de uma floresta para outra. Você também pode usar esses scripts como um guia para a migração de vários grupos. Os scripts usam o nome da floresta F1 para a floresta de origem e F2 para a floresta de destino.
Primeiro, obtemos o objectGUID
e mS-DS-ConsistencyGuid
do objeto de grupo na floresta F1. Esses atributos são exportados para um arquivo CSV.
<#
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
Em seguida, usamos o arquivo CSV de saída gerado para carimbar o mS-DS-ConsistencyGuid
atributo no objeto de destino na floresta 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
Próximos passos
Saiba mais sobre como integrar suas identidades locais com o Microsoft Entra ID.