Partilhar via


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 objectGUIDo . 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.