Search This Blog

Wednesday, October 16, 2019

Office 365–Hybrid / Migration Issues

Had to look into issues of an existing Office 365 Hybrid environment.
The environment had been setup for some time… They had initially made a test migration for some users.. but this had then been rolled back due to various issues (including free\busy).
Below I am going to document the problem areas and what I did to resolve. Hopefully this will help some people. Mileage may vary depending on your setup..
Background: Hybrid environment, with most users still on prem except for a few remote users.

Free\Busy

This was not working between on-prem and cloud users… Various articles were consulted, and everything was in place, but it was just not working. Stumbled across someone who said that re-running the Hybrid Config Wizard fixed their issues..
Note: It is recommended that the rerunning of the Hybrid Config Wizard is done after any config change to the current config.. new connectors/domains..
Notes: At the time of writing getting hold of the Hybrid Config Wizard still requires you to use Internet Explorer… Other browsers just don’t work.
Running the hybrid wizard you will need a local on-prem domain admin account and a office365 account that is an admin.
Re-running the wizard for us, not changing anything, fixed our issues.
Related Articles
Send As / Send on behalf of / Full Access

Full Access

This should just work if set in the Office 365 gui

Send On-behalf of

On-Premise User to Send on behalf of Cloud user
  • On local Exchange Server
  • Set-RemoteMailbox <cloud user> –GrantSendonBehalfTo <on-prem user>
  • On Exchange Online (Office 365)
  • Set-MailUser <cloud user> –GrantSendOnBehalfTo <on-prem user> 

Send As

On-Premise User to Send As Cloud user
  • On local Exchange Server
  • Get-remotemailbox -Identity <cloud user> | Add-ADPermission -User <on-prem user> -ExtendedRights Send-As
  • On Exchange Online (Office 365)
  • $UserCredential = Get-Credential
  • $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
  • Import-PSSession $Session -DisableNameChecking
  • Get-mailbox -Identity <cloud user> | Add-RecipientPermission -Trustee <on-prem user> -AccessRights SendAs
Cloud user to send as On-Premise User
  • On local Exchange Server
  • Get-mailbox -Identity <on-prem user> | Add-ADPermission -User <cloud user> -ExtendedRights Send-As
  • On Exchange Online (Office 365)
  • $UserCredential = Get-Credential
  • $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
  • Import-PSSession $SessionDisableNameChecking
  • Add-RecipientPermission -Identity <on-prem user> -Trustee <cloud user> -AccessRights SendAs
Related Articles

Voting Buttons / Out of Office
On local Exchange Server
  • Set-RemoteDomain "contoso.mail.onmicrosoft.com" -TNEFEnabled $true -AllowedOOFType "InternalLegacy"
On Exchange Online (Office 365)
  • Run the following PowerShell command in Exchange Online, wait 30 minutes, and then test again.
  • Set-RemoteDomain "default" -TNEFEnabled $true -AllowedOOFType "InternalLegacy"
Related Articles
Calendar Delegation (Access)
 
Set-OrganizationConfig -ACLableSyncedObjectEnabled $True
for previously moved mailboxes... single (for testing)..
Get-AdUser <cloud user1 AD account> | Set-AdObject -Replace @{msExchRecipientDisplayType=-1073741818}
Get-AdUser <cloud user2 AD account> | Set-AdObject -Replace @{msExchRecipientDisplayType=-1073741818}
for previously moved mailboxes... multiple users.. (this was run, after testing single accounts above).
Get-RemoteMailbox | ForEach { Get-AdUser -Identity $_.Guid | Set-ADObject -Replace @{msExchRecipientDisplayType=-1073741818}}
Verify
Get-RemoteMailbox | ForEach { Get-AdUser -Identity $_.Guid -Properties msExchRecipientDisplayType | Format-Table -AutoSize msExchRecipientDisplayType,DistinguishedName}
Prior to this update all remote mailboxes were set to -2147483642
msExchRecipientDisplayType DistinguishedName
-------------------------- -----------------
-2147483642 CN=xxxx,OU=xxx,OU=Users,OU=xxxxx,OU=xxxxx,DC=xxxxx

Related Articles
Public Folders….
No issues with these but there are many different directions to take with… So I put down my generic thoughts… No Rhyme or reason….
Get-PublicFolderStatistics | Sort-object itemcount -desc | FT
Get-PublicFolderStatistics | Sort-object -property itemcount -desc | FT
Get-PublicFolder -recurse | Select-object -property name,identity | Sort-object -property Identity

Get-PublicFolder -recurse | Select-Object -property name,identity,foldersize | Sort-object -property foldersize -desc | FT -autosize

List all objects in public folders with dates
Get-PublicFolder -Recurse | Get-PublicFolderItemStatistics | Select-Object -property PublicFold
erName,CreationTime,LastModificationTime,Subject | Export-Csv -path C:\Temp\publicfolderdetails.csv -NoTypeInformation
Public Folders in Office365 cannot be Contacts or Tasks.
Use Shared Mailboxes, not using Office 365 groups as we cannot assign security groups, and would have to enter all members manually!!!! Apparently this is coming....
Shared Mailbox, has limit of 50GB before licence needed.
Tested exporting contacts from a public folder into a shared mailbox.
Shared Mailboxes….
Online Shared Mailbox has to be created in On-Premise and then migrated over to Office365. If the Shared Mailbox is created directly in Office365, it can send email externally but not receive external email.

Share/Bookmark