Some people do an excellent job of tracking the details of new software releases. I’m not one of them, but I am very happy to learn of the results of their work. Thus we find that MVP Tom Arbuthnot (a Lync MVP, not Exchange) took the time to analyze the set of PowerShell cmdlets included in Exchange 2013 Preview and has published the list on his blog. In a nutshell, Tom reports that Microsoft has removed 13 cmdlets from Exchange 2013 Preview, mostly associated with “old” public folders (you’ll continue to manage these beasts with Exchange 2010). I also note the loss of Clean-MailboxDatabase, Start-RetentionAutoTagLearning, Test-ExchangeSearch, and Update-FileDistributionService.
Clean-MailboxDatabase is used on Exchange 2007 and Exchange 2010 to scan Active Directory for disconnected mailboxes that are not yet marked as disconnected in a mailbox database. In other words, Exchange has gotten its tiny brain in a knot hasn’t quite marked some mailboxes as being disconnected (not associated with an Active Directory account). The now-dropped cmdlet, which Exchange help notes “Under normal circumstances, it isn’t necessary to run” is deemed to be no longer necessary, possibly as a side-effect of Microsoft rewriting the Store code for Exchange 2013 and fixing any of the issues that potentially cause a disconnect.
Start-RetentionAutoTagLearning is part of an early effort (discontinued in Exchange 2010 SP1) to make retention tagging easier for users by learning from the way that users applied retention tags to items in their mailboxes. The idea was that Exchange could accumulate sufficient data from observing user behaviour to know how to apply retention tags to items as they arrived into mailboxes. It sounded like a great idea (and I wrote about it in August 2010) but proved problematic in practice. Another exercise in artificial intelligence bites the dust.
Test-ExchangeSearch makes sure that the Exchange 2007 or Exchange 2010 content search processes are working correctly and that new items are being indexed as they are added to mailbox databases. Exchange 2013 has dropped the previous search code in favour of using FAST technology and so gain the ability to execute searches across Exchange, SharePoint, and Lync (assuming that you run the correct software versions and have configured everything to support such searches).
Update-FileDistributionService forces Exchange’s File Distribution Service to reset its configuration and poll for new updates for OAB, Group Metrics, and Unified Messaging configuration. I assume that Microsoft has included a new mechanism for this operation into Exchange 2013 or that they’ve made the process automatic and hidden it from users.
Tom reports that Exchange 2013 Preview includes 187 new cmdlets, some of which are now described on TechNet. Some of these are to be expected, such as the set dealing with Site Mailboxes (New-SiteMailbox, Get-SiteMailbox, New-SiteMailboxDiagostics, etc.), to manage apps (the replacements for add-ins) for Outlook and OWA on an organizational basis (New-App, Get-App, etc., or to control Data Loss Prevention (DFP) policies and templates (New-DfpPolicy, Get-DfpPolicy, Import-DpfPolicyTemplate, etc.). Others are more interesting. For example:
- Get-ExchangeServerAccessLicense: replacing the infamous Exchange 2010 script that could never quite count client access licenses (CALs) correctly, this cmdlet returns details of mailboxes that need CALs. Hopefully the code behind the cmdlet is better at counting and recognizing when a mailbox needs an eCAL than the script was. The accompanying Get-ExchangeServerAccessLicenseUser cmdlet returns a set of users (with email addresses) who need a specific license.
- A set of cmdlets (New-MigrationBatch, New-MigrationEndPoint, Get-MigrationUser, etc.) are provided to help with migrations, including cross-forest and hybrid environments. Again, I think that these cmdlets replace some of the PowerShell scripts provided in previous versions of Exchange to provide a more robust infrastructure for migrations. We obviously need more details and experience of how well these cmdlets function in practice to be able to make a better assessment of their usefulness.
- New-PartnerApplication and its accompanying cmdlet set provide a formal interface between Exchange and other applications. The example given is SharePoint, which is logical given the increasing points of connection between the two products (think Site Mailboxes and FAST) and the obvious desirability of being able to leverage Exchange capabilities from other applications and vice versa. Again, this cmdlet set requires more time and investigation to determine its true usefulness.
- Modern public folders and the migration of old (archaic, obsolete, antique, outdated, unwanted, cockroach-like) public folders to the new structure (in mailbox databases) have the support of many new cmdlets. You can anticipate that the Mailbox Replication Service (MRS), one of the true success stories in Exchange 2010, will participate in public folder migration and management given that we have New-PublicFolderMigrationRequest and New-PublicFolderMoveRequest. I anticipate that the former is used to move data from an old to a new public folder whilst the latter moves data between public folder mailboxes.
- Server health and monitoring is a big theme in Exchange 2013 and there’s no surprise to see cmdlets such as Get-ServerHealth show up.
- Remember all the gyrations required to import a user photo into Active Directory so that it could be shown by Outlook and other applications when viewing messages from that user? Well, Set-UserPhoto, Get-UserPhoto, and Remove-UserPhoto should eliminate all the bothersome PowerShell code that we had to use previously.
I’ll leave the rest of the list for you to explore in your own time. No doubt you will find some personal favourite that solves a particular bugbear or perhaps discover a new cmdlet that seems more interesting than the others. In the meantime, the mass of new cmdlets provide something to think about as you try out Exchange 2013 Preview.
Follow Tony @12Knocksinna