¿Por qué ExchangeGuid está en blanco para el usuario en el que utilizamos Enable-RemoteMailbox?

¿Por qué ExchangeGuid está en blanco para el usuario en el que utilizamos Enable-RemoteMailbox?

Tenemos una configuración híbrida y en nuestro script de proceso de creación de usuarios creamos el objeto AD, luego nos conectamos a nuestro Exchange local y lo ejecutamos Enable-RemoteMailbox -Identity $UserName -RemoteRoutingAddress $RemoteRoutingAddresspara habilitar el buzón del usuario en Office 365.

Lo que he notado recientemente es que si lo ejecutamos, regresará como el archivo . Cuando ejecuto mientras estoy conectado a O365, me dará el archivo . Este problema solo ocurre con los buzones de correo que se crearon con . ¿Me falta algo que hace que el servidor Exchange local vea que el buzón tiene un espacio en blanco ?Get-RemoteMailbox -Identity "[email protected]" | FL *ExchangeGuid*00000000-0000-0000-0000-000000000000ExchangeGuidGet-MailboxExchangeGuidEnable-RemoteMailboxExchangeGuid

Escribí el siguiente script para solucionar este problema:

$ProblemMailboxes = Get-RemoteMailbox * | Where-Object {$_.ExchangeGuid -eq "00000000-0000-0000-0000-000000000000"} | Sort-Object Name
foreach($Mailbox in $ProblemMailboxes) {
    $ExchangeGuid = Get-OnlineMailbox -Identity $Mailbox.UserPrincipalName | Select-Object ExchangeGuid -ExpandProperty ExchangeGuid
    Set-RemoteMailbox -Identity $Mailbox.UserPrincipalName -ExchangeGuid $ExchangeGuid
}

Pero prefiero no tener que hacer esto en el futuro y solucionar el problema o los pasos que me faltan cuando creamos el usuario.

Respuesta1

Yo también tengo este problema.

solución alterna.

ahora tengo que ir y conectarme a o365 y hacer un usuario get-mailbox |fl exchangeguid

copiar el GUID

Ir al híbrido local y ejecutar

set-remotemailbox usuario -exchangeguid Pega el GUID

que luego permite al usuario conectarse al buzón local.

También estoy interesado en saber la solución para esto...

suspiro

Respuesta2

Esta situación ocurre si el buzón se creó directamente en Exchange Online ya que el comando Enable-RemoteMailbox no completa este atributo; Además, no está incluido en los atributos de reescritura de Azure AD Connect. MS definitivamente podría mejorar este proceso, pero aún así no lo ha hecho.

He localizado una secuencia de comandos para volver a copiar el Exchangeguid de Exchange Online a On Prem. ¡Funcionó para mí!

https://gallery.technet.microsoft.com/office/Sync-Exchange-Online-646b88ab#content

Tuve un problema al almacenar las credenciales en XML, así que simplemente cambié las 2 variables de credenciales a = Get-Credential en lugar de buscar el archivo XML.

Las 2 líneas que modifiqué fueron:

DE:

$ExchCred = Import-Clixml C:\scripts\creds\ExchScripts.xml 

A:

$ExchCred = Get-Credential

y también

DE:

$cred = Import-Clixml C:\scripts\creds\ExchScripts.xml

A:

$cred = Get-Credential

Obviamente, esto le solicitará credenciales cada vez que ejecute el script, que está bien para un solo uso. Si lo desea como una tarea programada, será mejor que haga funcionar la parte de exportación de credenciales. Además, asegúrese de DESHABILITAR MFA en la cuenta que está utilizando para autenticarse en Exchange Online. Una vez deshabilitado, déjelo reposar durante 15 minutos para garantizar la replicación completa en los servidores de MS. El mío tardó un poco en permitir el acceso, aunque dejó de solicitar MFA de inmediato.

Espero que esto ayude a alguien. Me tomó años encontrar una solución para esto.

Respuesta3

La única forma realmente confiable para que los guids coincidan en un entorno híbrido es crear un buzón de correo local, ejecutar aad connect y luego, cuando se complete la sincronización, mover el buzón a O365. Los GUID rara vez coincidirán cuando se habilita el buzón de correo remoto porque el guid no existe como atributo de AD porque no fue creado por Exchange.

Respuesta4

Este es un problema conocido con ExchangeGuid y ArchiveGuid en buzones híbridos

El siguiente PowerShell encontrará todos los buzones de correo en esta situación y lo resolverá por usted:

# Connect to on-premises Exchange server PowerShell - insert your server's name in relevant place
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://**your on-premises Exchange server**/PowerShell/ -Authentication Kerberos -Credential $UserCredential
Import-PSSession $Session -DisableNameChecking -Prefix EPS # Import all cmdlets with 'EPS' prefix to avoid Exchange Online clash

# Connect to Exchange Online PowerShell
Connect-ExchangeOnline

# Get all hybrid mailboxes with a blank ExchangeGuid or ArchiveGuid
$EPSRemoteMailboxes = Get-EPSRemoteMailbox -Filter "ExchangeGuid -eq '$([GUID]::Empty)'" -ResultSize Unlimited
$EPSArchiveRemoteMailboxes = Get-EPSRemoteMailbox -Archive -Filter "ArchiveGuid -eq '$([GUID]::Empty)'" -ResultSize Unlimited

foreach ($EPSRemoteMailbox in $EPSRemoteMailboxes) {
    $EXOMailbox = Get-Mailbox -Identity $EPSRemoteMailbox.UserPrincipalName 
    $EPSRemoteMailbox | Set-EPSRemoteMailbox -ExchangeGuid $EXOMailbox.ExchangeGuid
}
                
foreach ($EPSArchiveRemoteMailbox in $EPSArchiveRemoteMailboxes) {
    $EXOArchiveMailbox = Get-Mailbox -Identity $EPSArchiveRemoteMailbox.UserPrincipalName
    $EPSArchiveRemoteMailbox | Set-EPSRemoteMailbox -ArchiveGuid $EXOArchiveMailbox.ArchiveGuid
}

https://learn.microsoft.com/en-us/exchange/troubleshoot/move-mailboxes/migrationpermanentexception-when-moving-mailboxes https://learn.microsoft.com/en-us/exchange/troubleshoot/administration/validation-errors-for-mailbox-archive-guid

información relacionada