Install Office Online Server 2016

In Exchange 2013 you could use the Office Web Apps server in combination with Exchange server to view attachments online, without having to download these attachments first to the local workstation. Exchange 2016 is the successor of Exchange 2013, Office Online Server (OOS) 2016 is the successor of Office Web Apps 2013.

For an optimal user experience in Outlook on the Web you want an Outlook Online Server to view attachments online. Instead of downloading the attachment to your client workstation (not ideal when working on a non-trusted workstation) you can view it in your browser, and your browser will show something like this:

image

So how does this work?

Continue reading Install Office Online Server 2016

412 Cookies are disabled

This blogpost is more a note to self, but sigh, I hate it when it does this…. show the 412 Cookies are Disabled error message when trying to open the Exchange Admin Center (EAC) in Exchange Online:

image

I’m not sure if this issue shows up every time, but at least it shows up when you want to configure an Exchange Hybrid Configuration and you select Hybrid in the On-Premises EAC and select Sign In to Office 365.

To solve this, select the Tools menu in Internet Explorer, select Internet Options and click the Privacy tab.

Lower the slider just one click to Low and click Apply or OK.

image

Now when you refresh the page in Internet Explorer it should continue with the Hybrid Configuration page:

image

SuspendWhenReadyToComplete when using a migration batch in Office 365

Currently I’m working with a customer in a hybrid Exchange 2010 environment. There are multiple offices around the US, and one office in California will close soon. Therefore, all Mailboxes need to be moved to Office 365. The customer created multiple migration batches, and all batches are set using the -SuspendWhenReadyToComplete option. So, when a Mailbox migration in this batch reaches 95% the move will stop, and both Mailboxes will be kept in sync.

So, I started a Remote PowerShell session to Exchange Online (completing an individual move request as part of a batch is not possible in the Exchange Admin Console) and executed the following command:

Get-MoveRequest -Identity John@contoso.com | Resume-MoveRequest -Confirm:$false

While no error message was generated, the move requests were not finished. After some head scratching I realized that the -SuspendWhenReadyToComplete option is set on the migration batch, and that the move requests ‘inherit’ this setting. So, when resuming the move request it will automatically suspend again when hitting 95% (which is a matter of seconds).

So, I executed the following commands:

Get-MoveRequest -Identity John@contoso.com | Set-MoveRequest -SuspendWhenReadyToComplete:$false
Get-MoveRequest -Identity John@contoso.com | Resume-MoveRequest -Confirm:$false

Unfortunately, nothing happened and the move request stayed in the ‘synced’ state and was not willing to finalize. And of course no errors were logged.

At one point I realized I read something in the New-MoveRequest page on TechNet, where it says at the SuspendWhenReadyToComplete option:

“The SuspendWhenReadyToComplete switch specifies whether to suspend the move request before it reaches the status of CompletionInProgress. Instead of this switch, we recommend that you use the CompleteAfter parameter.”

This time I executed the following commands:

$Date = Get-Date
Get-MoveRequest -Identity John@contoso.com | Set-MoveRequest -CompleteAfter $Date
Get-MoveRequest -Identity John@contoso.com | Resume-MoveRequest -Confirm:$false

And this time the individual move requests in the migration batch were successfully finalized.

Exchange 2013 CU14 Content Indexing failed

There have been reports about Exchange 2013 CU14 where Content Indexing failed. I’ve heard about CI failing for some Mailbox databases, Mailbox databases containing Public Folder Mailboxes, but also reports about Exchange 2013 Cu14 servers where CI fails for all Mailbox databases.

In the Event Viewer you can find error messages like:

Watson report about to be sent for process id: 28160, with parameters: E12IIS, c-RTL-AMD64, 15.00.1236.003, M.E.Search.Service, M.E.Data.Directory, M.E.D.D.ScopeSet.GetOrgWideDefaultScopeSet, System.ArgumentNullException, 301, 15.00.1236.000.
ErrorReportingEnabled: False

You can find an extended thread on the Microsoft forums as well: Exchnage 2013 CU 14 Database Indexing failed.

The issue is confirmed by Microsoft and Microsoft is working on a fix for this. At this moment it is unknown whether Microsoft will release an Interim Update (IU) or that it will be made available in CU15.

For now my recommendation would be to NOT INSTALL EXCHANGE 2013 CU14 at all.

Update October 27. If you unfortunately run into this issue after installing Exchange 2013 CU14 there’s no other solution then to install Exchange 2013 CU13 and move all your Mailboxes to this server. I cannot call this a fix or workaround, it’s an ugly fallback scenario.

ps. I’ve heard rumors that this issue also appears in Exchange 2016 CU3 but I cannot confirm if this is the case. If you are planning to deploy Exchange 2016 CU3 I would recommend to thoroughly test CU3 before putting it into production.

Resolve-DnsName PowerShell command

Every now and then you find these small little things that turn out to be very useful. The Resolve-DnsName cmdlet in PowerShell is such a brilliant thing, and it is a nice replacement for NSLOOKUP. Since it is a PowerShell cmdlet you can easily use it in scripts. It looks like this command was introduced in Windows Server 2012 R2, but I found out only a couple of days ago.

As an Exchange consultant I can use the Resolve-DnsName for retrieving my MX records, or my DMARC record:

image

Using the Get-Help Resolve-DnsName command you can get more information, if you need some examples on how to use it you can use the -Examples option, or the -Detailed and -Full options.

image

Very useful for an Exchange admin, and it can be used in PowerShell scripts.