MAPI Virtual Directory Bug in Exchange 2016 CU2

Wednesday, June 29, 2016
I discovered a bug in Exchange 2016 CU2 where if you change the MAPI virtual directory URLs using the Exchange Admin Center (EAC), it clears all forms of authentication from the MAPI virtual directory. This will cause all Outlook clients to constantly prompt for credentials because there are no ways for Outlook to authenticate.

All authentication methods are disabled

The default IISAuthenticationMethods for the MAPI virtual directory are NTLM, Negotiate, and OAUTH.

Steps to reproduce the issue:
  • Double-click the MAPI virtual directory from the Exchange Admin Center to confirm that authentication is set to NTLM and Negotiate. Note that OAUTH is not shown as an authentication method in EAC. Click Cancel to close the dialog box.
  • Double-click the MAPI virtual directory and change the internal and/or external URL and click Save.
    • Observing the command console, the cmdlet executed is: Set-MapiVirtualDirectory -ExternalUrl 'https://mail.contoso.com/mapi' -IISAuthenticationMethods @() -Identity 'fe29d135-6f9c-4191-a68e-b028d94bd7ff'
  • If you examine the authentication settings before you click Save, the authentication settings will be written as NTLM and Negotiate (missing OAUTH).
    • Observing the command console, the cmdlet executed is: Set-MapiVirtualDirectory -ExternalUrl 'https://mail.contoso.com/mapi' -IISAuthenticationMethods @(Ntlm,Negotiate) -Identity 'fe29d135-6f9c-4191-a68e-b028d94bd7ff'

This bug affects both Exchange 2013 and Exchange 2016 MAPI virtual directories configured using the Exchange 2016 CU2 EAC. Note that the MAPI virtual directory was not exposed in the EAC until Exchange 2016 RTM, so you won't see it in the Exchange 2013 EAC.

If you change the URLs via the Exchange Management Shell (without using the -IISAuthenticationMethods parameter) the URLs are updated without affecting the authentication methods.

To set the authentication methods for all MAPI virtual directories back to their defaults, run the following cmdlet from EMS:
Get-MapiVirtualDirectory | Set-MapiVirtualDirectory -IISAuthenticationMethods @(Ntlm,Negotiate,OAuth)
All MAPI virtual directories set back to default authentication methods

I reported this bug on Connect and Microsoft confirmed this is an issue with Exchange Server 2016 CU2.

Read more ...

How to Quickly Determine Exchange Server Versions

Tuesday, June 28, 2016
It's fairly easy to determine the version of Exchange Server running on a server using the Exchange Management Shell. The following cmdlet will display the Exchange version for each server in the organization, according to Active Directory:
Get-ExchangeServer | fl name,AdminDisplayVersion
The output will look something like this:



The AdminDisplayVersion value tells you the Exchange version using the following ww.xx.yyyy.zzz format:

MajorVersion | ServicePack | CumulativeUpdate/UpdateRollup | MinorVersion

For example, 14.3.0123.004 is Exchange 2010 Service Pack 3, 15.0.1178.004 is Exchange Server 2013 CU13, and 15.1.0466.034 is Exchange Server 2016 CU2. You can refer to Exchange Server Updates: build numbers and release dates to determine the exact version of Exchange is running. You can also run the Get-ExchangeServerBuildNumbers cmdlet in Exchange 2013 or Exchange 2016. This cmdlet scrapes the same webpage and displays the Product Names, Release Dates, and Build Numbers for every version of Exchange Server going as far back as Exchange Server 4.0 Standard Edition, released on June 11, 1996. Worth memorizing if you want to win one of Tony Redmond's famous Exchange trivia contests. :)

Note that Exchange 2013 CU4 was released as "Exchange 2013 Service Pack 1", but the ServicePack build number did not really increment until Exchange 2016 to 15.1, further demonstrating that Exchange 2016 is really just an incremental upgrade to Exchange 2013.

But what if you don't have easy access to EMS, or you want to check the version of the Exchange Server your mailbox is hosted on in Exchange Online for some reason?

If your on-prem Exchange 2013/2016 organization is using MAPI over HTTP (and you really should be) you can use the following URL to check which version of Exchange is running on the server hosting your mailbox:
https://<serverFQDN>/mapi/emsmdb/
For Office 365 use https://outlook.office.com/mapi/emsmdb/

The output will show the server version number, as shown below.



The cool thing about this method is that even works externally as long as Outlook Anywhere is published to the Internet. Keep in mind that the version returned is for the server hosting the mailbox being accessed, not the front-end client access proxy server. You can tell which front-end CAS your hitting by observing the Cafe server value.

Note that this method won't work if you haven't configured MAPI/HTTP or for mailboxes hosted on Exchange 2010 or earlier because they don't support MAPI over HTTP.

Read more ...

Exchange 2016 CU2 and Exchange 2013 CU13 now supports .NET Framework 4.6.1

Tuesday, June 21, 2016
Prior to Exchange 2016 CU2 and Exchange 2013 CU13, .NET Framework 4.6.1 was not supported with Exchange server. It still isn't supported for Exchange 2010 and most likely will never be, so you'll still need to block it as per the steps in my previous article.

The EHLO Blog post explaining support for .NET Framework 4.6.1 and all the other new Cumulative Update goodness can be read in the article, Released: June 2016 Quarterly Exchange Updates.

If you previously blocked .NET Framework 4.6.1 installation via the registry you'll need to remove that block by removing the "BlockNetFramework461" DWORD value from the registry in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\WU.

The recommended order of operations for installation is:

  • Install Exchange Server 2016 CU2 or Exchange Server 2013 CU13 on your Exchange server. Restart.
  • Remove the block for .NET Framework 4.6.1 from Windows Update (see key above).
  • Download and install .NET Framework 4.6.1 from Windows Update. Restart.
    • Note: The Exchange assemblies will recompile when the server starts back up. This will take several minutes and Exchange performance will suck during this time. I recommend downloading and running the NET Framework optimization speed up script from the .NET Blog. to make this process run faster.
  • Download and install the appropriate post-release fixes for the .NET Framework:
  • Restart and run the NET Framework optimization speed up script again. 
  • Personally, I would restart again just to make sure everything starts up correctly.
Read more ...

Intel NUCs - Another Take on EXPTA Home Lab Servers. Builds and Parts Lists.

Friday, June 3, 2016

Own a blistering fast two-node Hyper-V lab cluster for under $1,680!

Today, I'm doing another take on my well-know home Hyper-V lab server series. My latest Gen7 builds are single-server builds with 64GB-128GB ranging from $920-$1,915 per server. That gives you super-high density in a single small, but powerful, server. In this article I'll show you how to create a two-node Hyper-V cluster using Intel NUC servers so you can learn how to use Hyper-V replication and provide true high availability and fail-over.

The Intel NUC (Next Unit of Computing) is a Mini PC with the power of a desktop, packing powerful productivity in a tiny 4x4 form factor. Small enough to fit in your hand, each NUC is silent and stackable. They can sit on a bookshelf, or be mounted to a wall with the VESA bracket or directly on the back of a monitor.

I've always thought these NUCs would make great Hyper-V clusters, but until just recently they were under powered and could only hold a maximum of 16GB RAM. Now there are two brand new Intel 32GB models that make this a really exciting Hyper-V lab possibility:
  • Intel NUC Kit NUC6i5SYH - Features a 6th generation dual core Intel Core i5-6260U with Intel Iris 540 graphics; Up to 32GB DDR4 RAM; Up to one M.2 and one 2.5" internal drives
  • Intel NUC Kit NUC6i7KYK - Features a 6th Generation quad core Intel Core i7-6770HQ with Intel Iris Pro 580 graphics; Up to 32GB DDR4 RAM; Up to two M.2 internal SSD drives
Both NUCs use the same storage format -- a 256GB M.2 SSD for the OS, and a 512GB SSD to run high performance VMs. With disk deduplication enabled, you can host many VMs on each node. When configured as a Hyper-V cluster, you can enable true high availability and enable new scenarios, like Hyper-V Live Migrations and Hyper-V Replication.

I also recommend using a portable 1TB USB3 external hard drive that you can share out for storing ISOs, software applications, and base images (see below). Each NUC has 2x USB 3.0 and 2x USB 2.0 ports for fast I/O performance, dual-band wireless-AC networking, 1GB NIC, Bluetooth, and built-in audio.

All you need to get started is buy the parts listed below and plug them in. They work pretty much straight of the box - no real assembly required. You'll only need to plug in the RAM and drives.

As usual, I link to Amazon for components and prices. Amazon does a very good job of maintaining stock, has an excellent return policy, and most of these items are eligible for free two-day shipping via Amazon Prime. If you don't have Prime, you can sign up for a free Amazon Prime trial here and cancel after you order the equipment if you want. Please note that it's normal for Amazon prices to fluctuate (usually down) over time.


NUC i5 Build #1 -- Intel Core i5 Dual-Core, 32GB RAM, SSD for $837 each
Component Description
 
Intel NUC Kit NUC6i5SYH (BOXNUC6I5SYH) Silver/Black
This is a 6th generation Intel Core i5-6260U dual core processor with Intel Iris graphics 540 (1.9GHz up to 2.8 GHz Turbo, 4MB Cache, 15W TDP). Supports 1x M.2 Type M SSD and 1x 2.5" SSD. 1x full-size HDMI 1.4b and 1x Mini DisplayPort 1.2 ports. 7.1 surround audio via HDMI and Mini DisplayPort. Headphone and mic jacks. 2x USB 3.0, 2x USB 2.0, and SDXC slot with UHS-I support. Dimensions: 115mm x 111mm x 48mm (roughly 4.5" by 4.5" x 1.8" - super tiny!). 19V, 65W wall-mount multi-country AC-DC power adapter (IEC types A/C/G/I). 3 year limited warranty.
 
CRUCIAL TECHNOLOGY 32GB Kit (16GBx2) DDR4 2133 MT/s (CT2K16G4SFD8213)
1.2V quad channel 2133MHz DDR 400 SODIMM memory with low CL15 latency. Great RAM at a great price. Each package contains 2x 16GB SODIMMs (32GB total). Lifetime warranty.
 
Samsung 950 PRO Series - 256GB PCIe NVMe - M.2 Internal SSD (MZ-V5P256BW)
The next-generation Samsung 950 PRO delivers uncompromising power and performance. Next Generation M.2 SSD Based on NVMe Protocol (PCIe, Gen. 3, x4). Ultra-fast Sequential Read/Write Performance: Up to 2,200MB/s and 900MB/s Respectively. Random Read/Write IOPS Performance : Up to 270K and 85K Respectively. Ultimate Performance, Reliability, & Efficient Power Management Powered by Samsung V-NAND Technology. 5 year limited warranty.
 
Samsung 850 EVO 500GB 2.5-Inch SATA III Internal SSD (MZ-75E500B/AM)
500GB SATA III 6Gb/s SSD used for active VMs (the VMs I normally have running, like a Domain Controller, Exchange servers, Skype/Lync servers, etc.). Enabling Windows Server 2012R2 disk deduplication provides even more storage capacity! Delivers up to 98K IOPS 4KB random read / 90K IOPS 4KB random write speed. Mwahaha!! 3 year limited warranty.

Obviously, you'll need two of these NUCs if you want to cluster them and you can always choose to buy one now and cluster them later.
I always update the BIOS from the Internet before installing the OS. Once you install the OS, install and/or upgrade the drivers (especially the NIC) from the manufacturers' websites. Then install the Hyper-V role and you're off to the races!
You can host quite a few VMs on this system. As an example, my Gen6 32GB server runs Windows Server 2012 R2 with the Exchange 2013 Edge Transport role and the Hyper-V host server role. This server has been running 24x7 for over a year with the following virtual machines:
  • 1x Domain Controller (2GB dynamic RAM)
  • 2x Exchange 2016 servers in a DAG (4-6GB each)
  • 1x Exchange 2013 server (4GB)
  • 1x Exchange 2010 server (4GB)
  • 1x Lync 2013 server (4GB)
  • 1x Application server (2GB)
I run these VMs off the 500GB SSD with Windows Server 2012 R2 disk deduplication enabled for Virtual Desktop Infrastructure (VDI). This allows me to put 669GB of data on this 500GB drive and I still have 145GB free space left! See Windows Server 2012 Deduplication is Amazing! for information about configuring this.


Now if you're looking for the ultimate in NUC performance check out this Intel i7 quad-core NUC:

NUC i7 Build #2 -- Intel i7 Quad-Core, 32GB RAM, 2x M.2 SSD for $1,316 each
Component Description
 
Intel NUC Kit NUC6i7KYK Mini PC (BOXNUC6I7KYK1)
This is a 6th generation Intel Core i7-6770HQ quad core processor with Intel Iris graphics 580 (2.6GHz up to 3.5 GHz Turbo, 6MB Cache, 45W TDP). Supports 2x M.2 Type M SSDs. 1x full-size HDMI 2.0 and 1x Mini DisplayPort 1.2, Thunderbolt 3 ports. 7.1 surround audio via HDMI and Mini DisplayPort. Headphone and mic jacks. 2x USB 3.0, 2x USB 2.0, and SDXC slot with UHS-I support. Dimensions: 211mm x 116mm x 28mm (roughly 8.3" by 4.5" x 1" - the size of a small paperback book!). 19V, 120W wall-mount AC-DC power adapter. 3 year limited warranty.
 
CRUCIAL TECHNOLOGY 32GB Kit (16GBx2) DDR4 2133 MT/s (CT2K16G4SFD8213)
1.2V quad channel 2133MHz DDR 400 SODIMM memory with low CL15 latency. Great RAM at a great price. Each package contains 2x 16GB SODIMMs (32GB total). Lifetime warranty.
 
Samsung 950 PRO Series - 256GB PCIe NVMe - M.2 Internal SSD (MZ-V5P256BW)
256GB for OS. The next-generation Samsung 950 PRO delivers uncompromising power and performance. Next Generation M.2 SSD Based on NVMe Protocol (PCIe, Gen. 3, x4). Ultra-fast Sequential Read/Write Performance: Up to 2,200MB/s and 900MB/s Respectively. Random Read/Write IOPS Performance : Up to 270K and 85K Respectively. Ultimate Performance, Reliability, & Efficient Power Management Powered by Samsung V-NAND Technology. 5 year limited warranty.
 
Samsung 950 PRO Series - 512GB PCIe NVMe - M.2 Internal SSD (MZ-V5P512BW)
512GB for VMs. The next-generation Samsung 950 PRO delivers uncompromising power and performance. Next Generation M.2 SSD Based on NVMe Protocol (PCIe, Gen. 3, x4). Ultra-fast Sequential Read/Write Performance: Up to 2,500MB/s and 1,500MB/s Respectively. Random Read/Write IOPS Performance : Up to 300K and 110K Respectively. Ultimate Performance, Reliability, & Efficient Power Management Powered by Samsung V-NAND Technology. 5 year limited warranty.

This NUC just SCREAMS performance! If it was available with 64GB of RAM this would be my go-to build, hands down. Maybe next year. :)

I also recommend the following to complete your NUC Hyper-V lab builds:

NUC Server Build Recommended and Optional Components
Component Description
 
*Highly Recommended*
Western Digital 1TB Black My Passport Ultra Portable External Hard Drive - USB 3.0 - (WDBGPU0010BBK-NESN)
Secure portable USB 3.0 storage with optional 256-bit AES hardware encryption. Available up to 3TB. Pre-formatted with NTFS. No power supply required. Use this to store software installs, ISOs, golden masters of your VM images, etc. 3-year limited warranty.
 
Samsung 850 Pro 1 TB 2.5-Inch SATA III Internal SSD (MZ-7KE1T0BW)
Upgrade your 500GB SATA III 6Gb/s SSD used for active VMs to the 850 Pro 1TB SSD. Delivers up to 90K IOPS 4KB random read / 100K IOPS 4KB random write speed. 10 year limited warranty.
VicTsing Gold-Plated HDMI to VGA Converter Adapter for PC, Laptop, DVD, Desktop (VS1-VC38BVT-VD)
Ultra-mini HDMI to VGA converter converts video from HDMI to any monitor or projector with a VGA port. Useful if you have an old-school KVM that doesn't support HDMI or DisplayPort.
 
Cable Matters Mini DisplayPort (Thunderbolt™ 2 Port Compatible) to HDMI/DVI/VGA Male to Female 3-in-1 Adapter in Black - Supporting 4K Resolution via HDMI
Lightweight and portable adapter for connecting a Mini DisplayPort (Mini DP or mDP)/Thunderbolt 2 port compatible computer to an HDTV, monitor, or projector with HDMI/DVI/VGA; A separate HDMI/DVI/VGA cable is required. Transmits both audio and video from computer or tablet to HD display via HDMI; Supports video resolutions up to 4K via HDMI or 1920x1200 and 1080p (Full HD) via VGA/DVI and flawless audio pass-thru for uncompressed digital 7.1, 5.1 or 2 channels.

I hope these NUC builds give you the confidence to build your own Hyper-V home cluster. I'm interested to hear your experiences in the comments section below. Happy building!
Read more ...