Thursday, November 27, 2014

Exchange 2013 and Exchange 2010 mixed environment throws error message "The arbitration mailbox 'SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}' for the organization '' is located on a server that doesn't have Exchange 2013 installed. The arbitration mailbox must be moved to an Exchange 2013 server before you can enable auditing."

Issue: While enabling auditing or trying to access audit info following warning message would appear:

The arbitration mailbox 'SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}' for the organization '' is
located on a server that doesn't have Exchange 2013  installed. The arbitration mailbox must be moved to an Exchange
2013 server before you can enable auditing.

Cause: As per Microsoft article http://technet.microsoft.com/en-us/library/dn249849(v=exchg.150).aspx , SystemMailbox mentioned above should be moved to  Exchange 2013 database once Exchange 2013 is introduced into the environment.

Resolution: Move 'SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}' mailbox from Exchange 2010 based mailbox DB to Exchange 2013 DB.

Steps:

1. Find out location of arbitration databases using following exchange powershell cmdlet:

Get-Mailbox -Arbitration | fl Name, Displayname, ServerName, Database, AdminDisplayVersion

It would print information similar to the following

Name                : SystemMailbox{1f05a927-c4a9-4cc7-80bd-a557eb562135}
DisplayName         : Microsoft Exchange Approval Assistant
ServerName          : exchange
Database            : Mailbox Database 0147642087
AdminDisplayVersion : Version 14.3 (Build 123.4)

Name                : SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}
DisplayName         : Microsoft Exchange
ServerName          : exchange
Database            : Mailbox Database 0147642087
AdminDisplayVersion : Version 14.3 (Build 123.4)

Name                : FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042
DisplayName         : Microsoft Exchange Approval Assistant
ServerName          : exchange
Database            : Mailbox Database 0147642087
AdminDisplayVersion : Version 14.3 (Build 123.4)

Name                : SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}
DisplayName         : Microsoft Exchange
ServerName          : exchange2013
Database            : Mailbox Database 0562670298
AdminDisplayVersion : Version 15.0 (Build 995.29)

Name                : Migration.8f3e7716-2011-43e4-96b1-aba62d229136
DisplayName         : Microsoft Exchange Migration
ServerName          : exchange2013
Database            : Mailbox Database 0562670298
AdminDisplayVersion : Version 15.0 (Build 995.29)

2. Either use information from above to get database names where version is 15.0 or above or use following exchange powershell cmdlet to print information about all databases in your environment:

Get-MailboxDatabase -IncludePreExchange2013 | fl Name, Server, AdminDisplayVersion

It would print information similar to the following:

Name                : Mailbox Database 0147642087
Server              : EXCHANGE
AdminDisplayVersion : Version 14.3 (Build 123.4)

Name                : Mailbox Database 0562670298
Server              : EXCHANGE2013
AdminDisplayVersion : Version 15.0 (Build 995.29)

3. Now move SystemMailbox in question using EAC  (under migration) or using following shell cmdlet (modify  with DB name identified above for exchange 2013)

Get-Mailbox -Arbitration -Identity "SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}" | New-MoveRequest -TargetDatabase

Reference: http://technet.microsoft.com/en-us/library/dn249849(v=exchg.150).aspx



Wednesday, November 26, 2014

Microsoft Exchange Server 2013 upgrade to SP1 or RU5 or RU6 will fail with error message " The Windows component RSAT-Clustering-CmdInterface isn't installed on this computer and needs to be installed before Exchange Setup can begin."

Issue: While trying to upgrade Microsoft Exchange Server 2013 RTM or releases below SP1/RU5/RU6 that is installed on Windows 2012 Server to either SP1 or RU5 or RU6   error message "The Windows component RSAT-Clustering-CmdInterface isn't installed on this computer and needs to be installed before Exchange Setup can begin." may appear on the screen.

Following is the screenshot while performing silent upgrade


If you will check ExchangeSetup.log file located usually under C:\ExchangeSetupLogs\ folder you will find entries similar to the following:

[11/25/2014 05:04:26.0209] [1] Failed [Rule:RsatClusteringCmdInterfaceInstalled] [Message:The Windows component RSAT-Clustering-CmdInterface isn't installed on this computer and needs to be installed before Exchange Setup can begin.]


[11/25/2014 05:04:26.0490] [1] [REQUIRED] The Windows component RSAT-Clustering-CmdInterface isn't installed on this computer and needs to be installed before Exchange Setup can begin.

[11/25/2014 05:04:26.0490] [1] Help URL: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.RsatClusteringCmdInterfaceInstalled.aspx

The link mentioned above as of today while I am writing this note is not working.

Following is the screenshot from the log file in question:




Solution: Install the required module using the following Windows PowerShell command whiand restart setup.exe program to upgrade.

Install-WindowsFeature RSAT-Clustering-CmdInterface

Following is the screenshot (ignore warning about automatic updates since I like to control updates on my servers)



Note: For more information about this module please refer Microsoft documentation on "Failover Clustering module"







Monday, November 24, 2014

How to find list of attributes in PAS (partial attribute set)

Purpose: Sometimes we need to find out what attributes are there in the PAS list used by the Active Directory environment. Sometimes just to make sure there isn't an attribute that you need to exist on all Global Catalog servers for a product or query to work. 


Steps: Following PowerShell command can be run on Domain Controller in your environment to get Display Name of attributes in PAS.

Get-ADObject -SearchBase "cn=Schema,cn=Configuration,dc=YourDomain,dc=com" -LDAPFilter "(isMemberOfPartialAttributeSet=TRUE)" -Properties lDAPDisplayName | Select lDAPDisplayName

Example : 

Get-ADObject -SearchBase "cn=Schema,cn=Configuration,dc=katwal,dc=local" -LDAPFilter "(isMemberOfPartialAttributeSet=TRUE)" -Properties lDAPDisplayName | Select lDAPDisplayName
Following PowerShell can be executed on the Domain Controller to get list of attributes