Posts Tagged ‘Office 365’

Set-CsFeatures.ps1 – Now With Support for Skype for Business Server 2019 and Windows Server 2019!

September 17th, 2018 7 comments


I’m happy to reach another major milestone for the Set-CsFeatures.ps1 script today, after many weeks of work. This PowerShell script, which installs prerequisites and post installation configuration and tools for Lync Server and Skype for Business Server, now adds support for a few new things. This includes a new version of Skype for Business Server, as well as another operating system. The major changes are listed below. See the full list of changes in the changelog (link at the bottom of this article). Having said all of that, let’s look at all the exciting stuff…

Support for Skype for Business 2019

The script will now install the prerequisites for Skype for Business Server 2019 roles, including front-end, mediation, and edge. “But Pat”, you say – “Skype for Business 2019 isn’t even out yet”. This is true. This script adds the support so that you can hit the ground running when the RTM version is released. If you’re already playing with the Preview version in your lab, this will work there as well. Since Skype for Business Server 2019 has more features related to Office 365, including Skype for Business hybrid and online, and Microsoft Teams, rest assured that I’ll be adding more options and features to support and utilize those.

Support for Windows Server 2019

Now supported by this script are the prerequisites for Windows Server 2019 when installing Skype for Business Server 2019. What what what? That’s right, I support a not-yet released version of Skype for Business on a not-yet released operating system. Crazy? Yep. But some individuals and organizations are already working with this combination, and I wanted to provide a solution that makes life easier for them. Rest assured that as the SfB 2019 and WS2019 solutions evolve, so will this script. Version 5.0 of this script was tested against build 17744.r5 of Windows Server 2019.

Optimized code

As I’ve said before, I don’t consider myself a developer. I’m merely a coder that manages to make things work. As my skills increase, I always try to revisit existing scripts and enhance them with better ways of accomplishing tasks. Some of that is from methods available in newer versions of PowerShell, and some are just in the discovery of better avenues of approach to tasks. There are a LOT of changes in the script to reflect that. If I had to guess, I’d say at least 1000 lines of code have been touched just in the past few weeks.

Skype for Business 2019 Control Panel. Click to view full size.

Enhanced logging

While I realize most people probably never look at the resulting log files generated from this script, they can be key in knowing what’s happened on a server as well as being able to review for troubleshooting in the event of an issue. I think I’ve built and provisioned more servers in my lab to test changes in logging than anything else. There is also the built-in ‘tail’ function that allows you to watch the log file in real-time to see what’s going on ‘under the hood’.

Set-CsFeatures.ps1 log file. Click to view full size.

Latest updates for key components

There are updates for some components that have been released recently. This includes the latest cumulative update for Office Online Server, and an update for Windows Server 2012 R2 that replaces a previously required hotfix for Skype for Business Server 2015.

Feature requests

Sometimes, someone suggests a feature or alternative option to something. This version is no different, incorporating some ideas presented by the community. A few are “why didn’t I think of that” type features. An example is popping up a folder browse dialog box if the script can’t find the Windows source files, instead of just throwing an error. Please continue to send feature requests!


Yeah, bugs happen. As much as I test, some people still find things, although most are just minor things like typos, or features that work differently than what someone expected or wanted. And some are ones I notice that haven’t been reported by anyone else. These pop up either in my lab testing or when I’m working on an unrelated part of the code and just notice it.

More than 8500 lines of PowerShell code mean that the script is fairly complex. Perfect? Hell no. As I mentioned above, I’m a coder. I will say that I ferociously attack known/reported issues and feature requests, and strive to make this tool as best as it can be. While I can’t test every possible combination of environments, I think I’ve accounted for a lot of possibilities.

I sincerely appreciate when people notify me of issues. Seriously. There is an option, 96, in the script that shows you how to report a bug, including what log file to send me. That really helps me address problems quicker.


Future additions currently under consideration include at least the following:

  1. Automatically add Windows Defender exceptions (auto discovery). This feature will discover an existing Skype for Business Server 2015/2019 installation, and automatically add the required anti-virus exceptions required for Windows Defender for a healthy operating Skype for Business deployment. Since both Windows Server 2016 and 2019 include Defender components, it makes sense to include this. These exceptions are based on the official exclusion list provided by Microsoft.
  2. Debugging tools, resource kit, etc. If/when these are added for Skype for Business Server 2019, the script will be updated to support the automated installation of them.
  3. Visual C++ 2017

So, with all of this newfound goodness baked into the script, where can one download this pot of gold? Head over to the home page for the script to grab this, or any version of it. The script fully supports using Get-Help for related information. All versions including this new v5.0, are signed with my Digicert code-signing certificate to verify authenticity. Digicert really makes it easy to use certificates, and they have stellar support, too. Also, any recent version of this script will notify you of an updated version when you run it (assuming it’s run on an Internet connected machine).

The changelog for the script shows all of the changes for each new version. Any bug fixes, feature additions & updates are reflected here.


I’ve never been one to really solicit donations for my work. My offerings are created because *I* need to solve a problem, and once I do, it makes sense to offer the results of my work to the public. I mean, let’s face it: I can’t be the only one with that particular issue, right? Quite often, to my surprise, I’m asked why I don’t have a “donate” button so people can donate a few bucks. I’ve never really put much thought into it. But those inquiries are coming more often now, so I’m yielding to them. If you’d like to donate, you can send a few bucks via PayPal at Money collected from that will go to the costs of my website (hosting and domain names), as well as to my home lab.

UC Inside Track: Episode 4: Call Queues, User Groups, client updates, and Career Path with special guest Josh Blalock

January 22nd, 2018 No comments

The podcast steamrolled ahead with another great discussion. Fellow MVP Josh Blalock stopped by and we had a great chat about several topics. In this episode, we look at the following:

  1. What are Call Queues and their new features in Skype for Business Online
  2. Updated training materials in
  3. Skype for Business client updates and differences between MSI and CSR versions of clients
  4. Career path options for UC professionals

Episode 4:

UC Inside Track is available directly via the link above, via RSS, iTunes, TuneIn, Google Music Play, and Podcast Addict.

UC Inside Track: Episode 2: Skype for Business vs Teams, and Assessing Your Network with special guess Tom Arbuthnot

December 13th, 2017 No comments

In this episode, my special guest Tom Arbuthnot and I look at Skype for Business updates, new tools from Microsoft, and Teams, and more. This includes:

– What to expect in Teams vs what’s already in Skype for Business
– Updated Network Assessment Tools
– .NET 4.7 support for Skype for Business
– CCE 2.1
– Skype for Business and Teams feature comparisons table and Teams roadmap
– Automating your workflows using Connectors in Microsoft Teams

Episode 2:

UC Inside Track is available directly via the link above, via RSS, iTunes, and now, TuneIn.

New Podcast: UC Inside Track Takes a Look at Microsoft UC Stack – First episode with special guest Jonathan McKinney

November 22nd, 2017 No comments

Earlier this year, the podcast I had been involved in since its inception, The UC Architects, ended its five-year run. It was a lot of fun, but the format was difficult to maintain. So, I’ve started a new podcast dealing with the Microsoft Unified Communications (UC) stack, with just a single guest on each episode. Guests will be tech luminaries such as fellow MVPs, MCMs/MCSMs, and/or Microsoft staff. The podcast is designed to deliver regular insight into the Microsoft UC market as an easy-to-consume audio file. Each episode will be in a shorter format than the UCA was, making it easier to listen to while driving to work or doing other tasks. We’ll tackle fewer topics, but each in further depth.

Listeners can listen to the podcasts in any of the following ways:
– Subscribe to the UC Inside Track podcast series on iTunes or via your favorite RSS client.
– Listen on TuneIn.
– Listen to the podcast directly via the link below.

In the first podcast, I’m joined by Jonathan McKinney (@ucomsgeek), MVP and MCM, to discuss the recently released Skype for Business to Teams capabilities roadmap. Both Jonathan and I are on the Microsoft Elite Teams for both Skype for Business and Microsoft Teams, and have collaborated for many years. The exchange is lively and informative. The recording was made available to download from iTunes on Friday, November 17.

Episode 1:

Look for more episodes at least monthly. In episode 2, I’ll be joined by fellow MVP and MCM Tom Arbuthnot (@tomarbuthnot).

One-Liner: Get Your Office 365 Tenant ID

November 8th, 2017 No comments

Office 365 logoThere are occasions that you’ll need your Office 365 tenant ID. The tenant ID is just a GUID assigned to your tenant. You can look it up in the Office 365 admin portal by peeking under Admin>Admin Centers>Azure AD>Azure Active Directory>Properties, and you’ll see the tenant ID in the ‘Directory ID’ field. That’s quite a few clicks, AND you have to log in to the Office 365 portal. Over time, there have been other places in the Office 365 portal where you can find it as well. All of them requiring a handful of clicks.

If you’re logged into your tenant via the SkypeOnlineConnector PowerShell module, you can use the following to get your tenant ID:

Get-CsTenant | Select-Object DisplayName, TenantID

Note, if you’re not logged in via the SkypeOnlineConnector, you can run the following first after installing the SkypeOnlineConnector:

Import-Module -Name SkypeOnlineConnector
$session = New-CsOnlineSession -Credential $(Get-Credential)
Import-PSSession -Session $session

Just like the portal method, this requires you to be logged in. There’s a similar method if you’re connected to Microsoft Azure Active Directory Module for Windows PowerShell using Get-MsolPartnerContract, but with the same limitations. You get the idea. But sometimes you just need the tenant ID without having to login to anything. Well, a PowerShell one-liner to the rescue! Just change the ‘’ to your Office 365 domain name in the line below and run it in PowerShell:

(Invoke-WebRequest -Uri '' | ConvertFrom-Json).authorization_endpoint.Split('/')[3]

If you look at that one-liner, you see that we’re merely invoking a web request to a specific URI, converting the Json format that it returns, and then grabbing a bit of the resulting Uri.

If you want it to be a little more flexible, we can adjust the code to prompt for a domain name, in case you want to use it in various scripts, as well as suppress the verbose output:

(Invoke-WebRequest -Uri "$(Read-Host -Prompt 'enter domain name')/.well-known/openid-configuration" -Verbose:$false | ConvertFrom-Json).authorization_endpoint.Split('/')[3]

Of course, us consultant types can turn that into a function and toss it into our PowerShell profiles so that it’s always available. This method works with either your default or your primary vanity domain name. I don’t have a tenant with multiple domain names to test with, but I surmise that it works the same.

While I had this post in draft, my buddy Tony Redmond (@12knocksinna) tweeted a link to an article that shows you how to retrieve the tenant ID using a web browser. From a web browser, you can also get the information by going to the same URL as determined above:

In the results, look for a line that begins with ‘authorization_endpoint’ (usually the first line), and you’ll see your tenant ID GUID in the URL on that line.

As you can see, there are multiple ways to get the tenant ID. Some require PowerShell, some don’t. Some require you to login, some don’t.


February 2012 Technical Rollup: Unified Communications

February 6th, 2012 No comments



OpsVault – Operate and Optimize IT

Microsoft Premier Support UK – Site Home – TechNet Blogs

Antigen & Forefront


Hosted Messaging Collaboration


Lync, Office Communication Server & LiveMeeting

NextHop – Site Home – TechNet Blogs




Antigen & Forefront



  1. Microsoft Exchange Server 2010 Install Guide Templates You can use these templates as a starting point for formally documenting your organization’s server build procedures for servers that will have Microsoft Exchange Server 2010 server roles installed on them.
  2. Migrating Exchange from HMC 4.5 to Exchange Server 2010 SP2 This file contains a white paper and PowerShell scripts to provide the recommended and supported migration path from HMC 4.5 to Microsoft Exchange Server 2010 SP2. The steps in this guide may also be helpful when migrating from non-HMC environments that have configured some form of multi-tenancy.

Hosted Messaging Collaboration


Lync, Office Communication Server & LiveMeeting

  1. Microsoft Office 365 Service Descriptions and Service Level Agreements for Dedicated Subscription Plans Microsoft Office 365 for enterprises provides powerful cloud-based solutions for e-mail, collaboration, instant messaging and web conferencing. The Office 365 dedicated plans deliver these services from a highly reliable network of Microsoft data centers on servers systems dedicated to individual customer-enabling customers to use the latest productivity applications while reducing IT overhead.
  2. Unified Communications Phones and Peripherals Datasheets These datasheets list the phones and peripheral devices that are qualified to display the “Optimized for Microsoft Lync” logo.
  3. Microsoft Lync Server 2010 Multitenant Pack for Partner Hosting Deployment Guide Microsoft Lync Server 2010 Multitenant Pack for Partner Hosting Deployment Guide. The Microsoft Lync Server 2010 Multitenant Pack for Partner Hosting is an extension of Microsoft Lync Server 2010 software that is designed to allow service providers and system integrators to customize a Lync Server 2010 deployment and offer it as a service to their customers. This guide describes how to deploy and configure a basic architecture.
  4. Live Meeting-To-Lync Transition Resources Resources included in this download package are designed to support your organization’s Live Meeting Service to Lync (Server or Online) transition planning. This download will be updated with additional resources as available.


  1. Microsoft Office for Mac 2011: Training Tutorials and Videos The Office for Mac 2011 training downloads include Portable Document Format (.pdf) and PowerPoint (.pptx) versions of all Office 2011 tutorials and videos. To access the same training online, visit
  2. Microsoft Exchange and Microsoft Outlook Standards Documentation The Microsoft Exchange and Microsoft Outlook standards documentation describes how Exchange and Outlook support industry messaging standards and Requests for Comments (RFCs) documents about iCalendar, Internet Message Access Protocol – Version 4 (IMAP4), and Post Office Protocol – Version 3 (POP3).




Antigen & Forefront



  1. Update Rollup 6 for Exchange Server 2007 Service Pack 3 (KB2608656)
  2. Microsoft Online Services Migration Tools (64 bit) Use this tool to support migration of Microsoft Exchange to Microsoft Online Services.
  3. Microsoft Online Services Migration Tools (32 bit) Use this tool to support migration of Microsoft Exchange to Microsoft Online Services.
  4. Microsoft Exchange PST Capture Microsoft Exchange PST Capture is used to discover and import .pst files into Exchange Server or Exchange Online

Hosted Messaging Collaboration


Lync, Office Communication Server & LiveMeeting

  1. Lync 2010 Hotfix KB 2670498 (64 bit)
  2. Lync 2010 Hotfix KB 2670498 (32 bit)
  3. VHD Test Drive – Lync Server 2010 VHD (Dev) This download comes as a pre-configured set of VHD’s. This download enables you to fully evaluate the Microsoft Lync 2010 and Microsoft Exchange 2010 developer platform including the Microsoft Lync 2010 SDK, the Exchange Web Services Managed API 1.1 as well as the Microsoft Lync Server 2010 SDK and the Microsoft Unified Communications Managed API 3.0.
  4. Microsoft Office Communications Server 2007 R2 Hotfix KB 968802
  5. Microsoft Office Communications Server 2007 R2 Group Chat Hotfix KB 2647090
  6. Microsoft Office Communicator 2007 R2 Hotfix KB 2647093


  1. Microsoft Outlook Social Connector Provider for Facebook Connect your Facebook account to the Outlook Social Connector and stay up to the minute with the people in your network by accessing everything from e-mail threads to status updates in one single, centralized view.
  2. Microsoft Dynamics CRM 2011 for Microsoft Office Outlook (Outlook Client) Install Microsoft Dynamics CRM for Outlook, also known as the CRM 2011 Outlook client. Microsoft Dynamics CRM for Outlook enables access to your Microsoft Dynamics CRM data through Outlook.
  3. Update for Microsoft Office Outlook 2003 Junk Email Filter (KB2597098) This update provides the Junk E-mail Filter in Microsoft Office Outlook 2003 with a more current definition of which e-mail messages should be considered junk e-mail.



  1. Exchange 2010 Microsoft Certified Masters (MCM) Training & Certification Overview 15 February 2012 09:00 Time zone: (GMT-08:00) Pacific Time (US & Canada) Communication drives business. Whether onsite or in the cloud, Microsoft Exchange Server 2010 is a critical infrastructure to ensure availability and security of an organization’s email, calendar, and contacts. Microsoft Certified Masters (MCMs) who are certified on Exchange Server 2010 are specialists in the design, migration, implementation, and optimization of the mail experience across multiple devices-which in turn helps lower messaging costs and helps ensure availability and security. All Microsoft Certified Masters on Exchange Server 2010 become an immediate part of an exclusive community of experts that includes fellow graduates and members of the Exchange Server product group as well as valuable resources to which they can contribute and from which they can draw the collective knowledge of that community at any time. At this event, MCM Program Management will provide a detailed overview for potential candidates and their sponsors.

New KBs

Antigen & Forefront


Microsoft Forefront Online Protection for Exchange

  1. How to troubleshoot Higher Risk Delivery Pool email delivery issues in Forefront Online Protection for Exchange


Microsoft Exchange Server 2003 Enterprise Edition

  1. Event 1005 or 1013 is logged when you try to start an HTTP resource in an Exchange Server 2003 cluster

Microsoft Exchange Server 2003 Service Pack 2

  1. The Information Store service does not start as expected in Exchange Server 2003 SP2

Microsoft Exchange Server 2003 Standard Edition

  1. How to troubleshoot public folder replication problems in Exchange 2000 Server and in Exchange Server 2003
  2. Stop error code 0x000000D1 when Windows Server 2003 is under a heavy network load

Microsoft Exchange Server 2007 Enterprise Edition

  1. A SCOM 2007 SP1 server does not send out alerts when certain issues occur in an Exchange Server 2007 organization
  2. A meeting reminder is set unexpectedly when you send an email message to an Exchange Server user

Microsoft Exchange Server 2007 Service Pack 3

  1. The week numbers displayed in OWA do not match the week numbers displayed in Outlook for English users and French users in an Exchange Server 2007 environment
  2. “0x80041606” error message when you perform a prefix search by using Outlook in online mode in an Exchange Server 2007 environment
  3. An arrow icon does not appear after you change the email message subject by using OWA in an Exchange Server 2007 SP3 environment
  4. A “System.ArgumentOutOfRangeException” exception occurs when you click the “Scheduling Assistant” tab in Exchange Server 2007 OWA
  5. Users in a source forest cannot view the free/busy information of mailboxes in a target forest when the cross-forest Availability service is configured between two Exchange Server 2007 forests
  6. Applications or services that depend on the Remote Registry service may stop working in an Exchange Server 2007 environment
  7. The Microsoft Exchange Information Store service may crash after you run the Test-ExchangeSearch cmdlet in an Exchange Server 2007 environment
  8. A journaling report remains in the submission queue when an email message is delivered successfully in an Exchange Server 2007 environment
  9. The PidLidClipEnd property of a recurring meeting request has an incorrect value in an Exchange Server 2007 environment
  10. An Outlook Anywhere client loses connection when a GC server restarts in an Exchange Server 2007 environment
  11. Journal reports are expired or lost when the Microsoft Exchange Transport service is restarted in an Exchange Server 2007 environment
  12. Certain changes to address lists may not be updated in an Exchange Server 2007 environment
  13. The Exchange IMAP4 service may stop responding on an Exchange Server 2007 Client Access server when users access mailboxes that are hosted on Exchange Server 2003 servers
  14. The update tracking information option does not work in an Exchange Server 2007 environment
  15. The reseed process is unsuccessful on the SCR passive node when the circular logging feature is enabled in an Exchange Server 2007 environment
  16. An Exchange Server 2007 Client Access server responds slowly or stops responding when users try to synchronize Exchange ActiveSync devices with their mailboxes
  17. The “PidLidClipEnd” property of a no ending recurring meeting request is set to an incorrect value in an Exchange Server 2007 environment
  18. The Microsoft Exchange Information Store service may stop responding on an Exchange Server 2007 server
  19. The scroll bar does not work in OWA when there are more than 22 all-day event calendar items in an Exchange Server 2007 user’s calendar

Microsoft Exchange Server 2010 Coexistence

  1. How to extend the Active Directory schema for the Hierarchical Address Book (HAB) on an Exchange Server 2010 server

Microsoft Exchange Server 2010 Enterprise

  1. The Seniority Index feature in the Hierarchical Address Book does not work as expected in Exchange Server 2010

Microsoft Exchange Server 2010 Standard

  1. Exchange Server 2010 databases grow very large when the Calendar Snapshot feature is enabled
  2. Error message when you try to install Exchange Server 2010 SP2: “AuthorizationManager check failed”

Lync, Office Communication Server & LiveMeeting

Microsoft Office Communications Server 2007 R2 Group Chat client

  1. Description of the update for the Office Communications Server 2007 R2 Group Chat client: January, 2012
  2. The “Send an Instant Message” menu does not start Office Communicator on a terminal server in an Office Communications Server 2007 R2, Group Chat client

Microsoft Office Communications Server 2007 R2 Group Chat server

  1. Description of the cumulative update for Office Communications Server 2007 R2 Group Chat server: January, 2012
  2. The Channel service stops when a user signs in to a Group Chat client in Office Communications Server 2007 R2 Group Chat

Microsoft Office Communications Server 2007 R2 Standard Edition

  1. Description of the cumulative update for Office Communications Server 2007 R2, Unified Communications Managed API 2.0 Core Redist 64-bit: January, 2012

Microsoft Office Communicator 2007 R2

  1. Description of the cumulative update package for Communicator 2007 R2: January 2012
  2. The file name and icon do not display when you send files in Office Communicator 2007 R2


Microsoft Office Outlook 2003

  1. Description of the Outlook 2003 Junk Email Filter update: January 10, 2012
  2. Search Folders created in Outlook do not appear in Outlook Web Access

Microsoft Outlook 2010

  1. Outlook 2010: How to troubleshoot crashes in Outlook
  2. An email message is stuck in the Microsoft Outlook 2010 Outbox.
  3. “Unsupported folder class” error when Outlook starts

Exchange Server 2010 SP1 Is Now Available

August 31st, 2010 No comments

Microsoft has released Service Pack 1 (SP1) for Exchange Server 2010. See the Release Notes for Exchange 2010 SP1 for more information, including a list of known issues.

The 522MB download is just like RTM – a full install package. Existing installations can be upgraded, as new installs can be completed with the Service Pack integrated.

What’s New in Exchange 2010 SP1 has a comprehensive list of the changes and enhancements, including:

New Deployment Functionality

  1. During an Exchange 2010 SP1 installation, you can now select a new option to install the required Windows roles and features for each selected Exchange 2010 SP1 server role. For more information, see New Deployment Functionality in Exchange 2010 SP1.

Client Access Server Role Improvements

  1. Federation Certificates
  2. Exchange ActiveSync
  3. SMS Sync
  4. Server-Side Information Rights Management Support
  5. Outlook Web App Improvements
  6. Reset Virtual Directory
  7. Client Throttling Policies

Improvements in Transport Functionality

  1. MailTips access control over organizational relationships
  2. Enhanced monitoring and troubleshooting features for MailTips
  3. Enhanced monitoring and troubleshooting features for message tracking
  4. Message throttling enhancements
  5. Shadow redundancy promotion
  6. SMTP failover and load balancing improvements
  7. Support for extended protection on SMTP connections
  8. Send connector changes to reduce NDRs over well-defined connections

Permissions Functionality

  1. Database scope support
  2. Active Directory split permissions
  3. Improved user interface

Exchange Store and Mailbox Database Functionality

  1. With the New-MailboxRepairRequest cmdlet, you can detect and repair mailbox and database corruption issues.
  2. Store limits were increased for administrative access.
  3. The Database Log Growth Troubleshooter (Troubleshoot-DatabaseSpace.ps1) is a new script that allows you to control excessive log growth of mailbox databases.
  4. Public Folders client permissions support was added to the Exchange Management Console (EMC).

Mailbox and Recipients Functionality

  1. Calendar Repair Assistant supports more scenarios than were available in Exchange 2010 RTM.
  2. Mailbox Assistants are now all throttle-based (changed from time-based in Exchange 2010 RTM).
  3. Internet calendar publishing allows users in your Exchange organization to share their Outlook calendars with a broad Internet audience.
  4. Importing and exporting .pst files now uses the Mailbox Replication service and doesn’t require Outlook.
  5. Hierarchical address book support allows you to create and configure your address lists and offline address books in a hierarchical view.
  6. Distribution group naming policies allow you to configure string text that will be appended or prepended to a distribution group’s name when it’s created.
  7. Soft-delete of mailboxes after move completion.

High Availability and Site Resilience Functionality

  1. Continuous replication – block mode
  2. Active mailbox database redistribution
  3. Enhanced datacenter activation coordination mode support
  4. New and enhanced management and monitoring scripts
  5. Exchange Management Console user interface enhancements
  6. Improvements in failover performance

Messaging Policy and Compliance Functionality

  1. Provision personal archive on a different mailbox database
  2. Import historical mailbox data to personal archive
  3. Delegate access to personal archive
  4. New retention policy user interface
  5. Support for creating retention policy tags for Calendar and Tasks default folders
  6. Opt-in personal tags
  7. Multi-Mailbox Search preview
  8. Annotations in Multi-Mailbox Search
  9. Multi-Mailbox Search data de-duplication
  10. WebReady Document Viewing of IRM-protected messages in Outlook Web App
  11. IRM in Exchange ActiveSync for protocol-level IRM
  12. IRM logging
  13. Mailbox audit logging

Unified Messaging Server Role Improvements

  1. UM reporting
  2. UM management in the Exchange Control Panel
  3. Cross-Forest UM-enabled mailbox migration
  4. Outlook Voice Access improvements
  5. Caller Name Display support
  6. Test-ExchangeUMCallFlow cmdlet
  7. New UM Dial Plan wizard
  8. Office Communications Server “14” Support
  9. Secondary UM dial plan support
  10. UM language packs added
  11. Call answering rules improvements
  12. Unified Communications Managed API/speech platform improvements
  13. UM auto attendant update

Audit Logging Improvements

  1. Improvements in administrator audit logging
  2. New mailbox audit logging

Support for Coexistence with Exchange Online

  1. Migration of UM-enabled mailboxes
  2. IRM support for coexistence
  3. Remote Mailboxes
  4. Transport

Support for Multi-Tenancy

Upgrade from Exchange 2010 RTM to Exchange 2010 SP1 includes details you should know before upgrading, as well as how to upgrade including upgrading DAG members.

Equally important is Exchange 2010 Prerequisites, which details which hotfixes you need to install before doing a clean install of Exchange 2010 SP1, or when upgrading an RTM installation. Be prepared, as several of the 2008 R2 hotfixes require a reboot.

Download the Service Pack here.