0 votes

We recently migrated some accounts to a new Forest that is part of the same Tenant.

After migration of Shared mailboxes I get GUIDs for delegates.

image.png

The image shows 3 delegates. The top one showed the user account until after I hit the save button. It looks like some sort of GUID but I don't know from where.
Online I didn't find that GUID on the users account.

Newly created users do not appear to have this issue. The migrated users are working after migration as expected.

So far the GUID doesn't appear to match the migrated account.

by (790 points)

1 Answer

0 votes
by (210k points)

Hello,

As you do not see a user with such a GUID online, most probably, the account was deleted in on-premises AD. This is a known behavior. To remedy the issue, just remove the member from the list in the mailbox settings.

0

The account was migrated. Yes the migrated account was removed from the source domain after migration. As mentioned I have removed users from delegation and added them back. After adding it shows the guid thing like above.

0

Hello,

Thank you for specifying. The thing is Adaxes caches some properties of mailboxes that reside in Exchange Online along with the mailbox GUIDs. As the account that is displayed as GUID was migrated from one forest to another, there are two sets of cached properties. Looks like Adaxes is trying to use the old set of cached properties to get the Active Directory account from the forest where it no longer exists. To remedy the issue, please, execute the below script in Windows PowerShell on the computer where Adaxes service is installed. The script clears cached property values for Extending objects (stored in Adaxes backend) if the corresponding account no longer exists in the domain. During the script execution, when prompted, provide credentials of the Adaxes service account (the ones specified during the installation).

[Reflection.Assembly]::LoadWithPartialName("Softerra.Adaxes.Adsi")

# Connect to the Adaxes service
$admNS = New-Object "Softerra.Adaxes.Adsi.AdmNamespace"
$admService = $admNS.GetServiceDirectly("localhost")

# Prompt for credentials
$credential = Get-Credential

# Build search filter
$backendPortNumber = $admService.Backend.PortNumber
$searcher = $admService.OpenObject("Adaxes://localhost:$backendPortNumber/CN=Extending Objects,CN=Adaxes Configuration,CN=Adaxes", $credential.Username, $credential.GetNetworkCredential().Password, 0)
$searcher.SearchFilter = "(&(objectClass=adm-ExtendingObject)(objectClass=adm-User))"
$searcher.PageSize = 500
$searcher.SearchScope = "ADS_SCOPE_ONELEVEL"

try
{
    # Execute search
    $searchIterator = $searcher.ExecuteSearch()
    $updatetedObjectsCount = 0
    while ($True)
    {
        $searchResults = $searchIterator.GetNextPage()
        foreach ($searchResult in $searchResults)
        {
            try
            {
                $guid = [Guid]$searchResult.Properties["cn"].Value
            }
            catch
            {
                continue
            }

            try
            {
                $object = $admService.OpenObject("Adaxes://<GUID=$guid>", $credential.Username, $credential.GetNetworkCredential().Password, 0)
            }
            catch
            {
                $object = $NULL
            }

            # Clear property values
            if ($NULL -eq $object)
            {
                $extendingObject = $admService.OpenObject($searchResult.AdsPath, $credential.Username, $credential.GetNetworkCredential().Password, 0)
                $extendingObject.Put("adm-O365ExchangeObjectId", $NULL)
                $extendingObject.Put("adm-O365ExchangeRecipientType", $NULL)
                $extendingObject.Put("adm-O365ExchangeRecipientTypeDetails", $NULL)
                $extendingObject.Put("adm-O365LastKnownAssociatedTenantId", $NULL)
                $extendingObject.Put("adm-O365ObjectId", $NULL)

                try
                {
                    $extendingObject.SetInfo()
                    $updatetedObjectsCount++
                }
                catch
                {
                    $warning = "An error occurred when updateting extening object $guid`. Error: " + $_.Exception.Message
                    Write-Warning  $warning
                }
            }
        }

        if (($searchResults.Length -eq 0) -and ($searchIterator.IsSearchCompleted))
        {
            break # no more results to return
        }
    }
    Write-Host "Updated objects count" $updatetedObjectsCount
}
finally
{
    # Release resources
    if ($searchIterator) { $searchIterator.Dispose() }
}
0

Thank you

This has resolved the issue.

Related questions

0 votes
1 answer

Hi All, I have an OU ADSynced to Office 365 When I create Shared Mailboxes I basically create the user account sync it to 365 Assign it a license and and set ... only process the below actions if the previous one returned an Operation status of "Completed"

asked Oct 26, 2020 by casey101 (20 points)
0 votes
1 answer

Hi, I'm very new to Adaxes and still getting to grips with it. Is there any way to search or filter within the web interface, users that have an Exchange Online shared mailbox? Thanks

asked Oct 14, 2020 by sysg89 (20 points)
0 votes
0 answers

Hey Guys We have some issues with new meeting rooms that we have created. Previously we used to have on-premise exchange but switched to office365. Before doing ... OU but the interface are different. under exchange properties they are different aswell.

asked Sep 18, 2019 by seanr (70 points)
0 votes
1 answer

The built in functionality to convert exchange online mailboxes to shared does not work for users that are synced from our local AD via Azure AD connect. How can we over ... account to in cloud from synced with AD all our issues with this would be resolved.

asked Jul 31, 2019 by john.morrow (250 points)
0 votes
1 answer

I've got the following script so far using the SDK but running into an error: You cannot call a method on a null-valued expression. At line:1 char:1 + ... .BindToObjectByDN("$object.SearchResult.AdsPath.DN") $Context.Items.Add($item, $columnValues) } } } }

asked May 19 by richarddewis (220 points)
2,599 questions
2,338 answers
6,212 comments
843,683 users