John Yassa's Blog

Home » 2013

Yearly Archives: 2013

Released: Exchange 2013 Server Role Requirements Calculator Update v6.1

What’s new with Exchange 2013 Server Role Requirements Calculator V6.1

Version 6.1

  • Fixed operator mistake in calcNumActiveDBsSF formula
  • Fixed missed validation scenario where the calculator could recommend a copy count that could not be deployed on the custom disk architecture
  • Optimized remaining servers formula
  • Fixed an issue where single datacenter, multiple databases per volume architecture with lagged copies didn’t calculate the correct number of
  • Fixed VirtCPUFactor reference
  • Various comment changes
  • Improved cell highlights for insufficient disk capacity on storage design tab
  • Added additional storage capacities – 1.2TB, 6TB and 8TB
  • Fixed database count validation logic to take into consideration dedicated lagged copy servers

For download:

Additions to this Web site have been blocked – SharePoint 2010 Site Collection

Have you ever come across the error message “Additions to this website have been blocked” when you are trying to make any changes to a Web Site in SharePoint 2010?


In Central Admin => Application Management => Site Collections => Configure Quotas and Locks and make sure Lock status is set to “Not Locked” for the web application having the error.

Move a Mailbox Database Using Database Portability (Exchange 2013)

Database portability is a feature that enables a Microsoft Exchange Server 2013 mailbox database to be moved to or mounted on any other Mailbox server in the same organization running Exchange 2013 that has databases with the same database schema version. Mailbox databases from previous versions of Exchange can’t be moved to a Mailbox server running Exchange 2013. By using database portability, reliability is improved by removing several error-prone, manual steps from the recovery processes. In addition, database portability reduces the overall recovery times for various failure scenarios.

What do you need to know before begin:

1- Estimated time to complete: 5 minutes, plus the time it takes to restore the data, move the database files, and wait for Active Directory replication to complete

2- You need to be assigned permissions before you can perform this procedure or procedures. To see what permissions you need, see the “Mailbox recovery” entry in the Recipients Permissions topic.

3- You can’t use the EAC to move user mailboxes to a recovered or dial tone database using database portability.


Using Power Shell to move user mailboxes to a recovered Database using Database Portability

1- Verify that the database is in a clean shutdown state. If the database isn’t in a clean shutdown state, perform a soft recovery.
To commit all uncommitted log files to the database, from a command prompt, run the following command.

ESEUTIL /R <Enn> /L Log Path              Example: Eseutil /R E00 /Ld:\exchsrvr\logfiles

2- Create a database on the new server, as shown in this example. The paths used in this example are for illustration purposes only.

New-MailboxDatabase -Name DB1 -Server MBX1 -EdbFilePath C:\Databases\DB1\DB1.edb -LogFolderPath C:\Databases\DB1

3- Set the This database can be over written by restore attribute using the following syntax.

Set-MailboxDatabase <Database Name> -AllowFileRestore $true

 4- Move the database files (.edb file, log files, and Exchange Search catalog) to the appropriate location. The database files need to be present and in the correct location for recovery operations to succeed.
5- Mount the database using the following syntax.
Mount-Database <Database Name>

6- After the database is mounted, modify the user account settings with the Set-Mailbox cmdlet so that the account points to the mailbox on the new mailbox server. To move all of the users from the old database to the new database, use the following syntax.
Get-Mailbox -Database <SourceDatabase> |where {$_.ObjectClass -NotMatch '(SystemAttendantMailbox|ExOleDbSystemMailbox)'}| Set-Mailbox -Database <TargetDatabase>
7- Trigger delivery of any messages remaining in queues using the following syntax.
Get-Queue Queue Name | Retry-Queue -Resubmit $true

To verify that you’ve successfully moved a mailbox, do the following:

  • Open the mailbox using Outlook Web App.
  • Open the mailbox using Microsoft Outlook.


Released: Update Rollup 3 For Exchange 2010 Service Pack 3

The Exchange team is announcing today the availability of Update Rollup 3 for Exchange Server 2010 Service Pack 3. Update Rollup 3 is the latest rollup of customer fixes available for Exchange Server 2010. The release contains fixes for customer reported issues and previously released security bulletins. Update Rollup 3 is not considered a security release as it contains no new previously unreleased security bulletins. A complete list of issues resolved in Exchange Server 2010 Service Pack 3 Update Rollup 3 may be found in KB2891587.

Note: The KB article may not be fully available at the time of publishing this post.

Download URL :



Exchange server 2013 Service Pack 1 will be in early 2014

The Exchange Team Blog announced that service pack 1 for the Exchange Server 2013 will be available in early 2014.

Probably this mean Q1 of 2014.

SP1 for Exchange Server 2013 will include below improvements:

  • Windows Server 2012 R2 Support  First answering one the most common questions since the release of Windows Server 2012 R2. Exchange 2013 SP1 will add Windows Server 2012 R2 as a supported operating system for Exchange Server 2013 with SP1. Let your planning begin.
  • S/MIME support for OWA – Support for S/MIME in OWA will be brought back in SP1. With SP1 customers will have S/MIME support across Outlook, Exchange ActiveSync clients, and OWA.
  • Edge Transport Server Role – The Edge Transport server role for Exchange Server 2013 will be available with SP1.
  • Fixes and Improvements – Of course, SP1 will include fixes and improvements in areas you’ve helped us identity. SP1 is the first service pack issued in the new Exchange Server cumulative update release model – thus SP1 is essentially CU4. The installation of SP1 will follow the same process as the prior Exchange 2013 CUreleases. SP1 will include all fixes included in previously released cumulative updates for Exchange 2013.

SP1 will require to update Active Directory schema.

Active Directory Schema updates for Exchange are additive and always backwards compatible with previous releases and versions

For More Info :

Tool to manage Microsoft Exchange ActiveSync | EASAdmin 1.0 (Beta)

The Exchange ActiveSync Admin (EASAdmin) tool enables administrators to manage the process of remotely erasing lost, stolen, or otherwise compromised mobile devices. The EASAdmin Tool is designed for use with Exchange Server 2010, Exchange 2013, Office 365 (Wave14 and 15).
By using the EASAdmin tool, administrators can perform the following actions on Office 365 and Exchange On-Premise:

  • View a list of all devices that are being used by any enterprise user.
  • Find Inactive Devices.
  • Get No. of devices per user.
  • Block/Allow devices.
  • Select/De-select devices to be remotely erased.
  • View the status of pending remote erase requests for each device.
  • Remove Mobile Devices.
  • Enable,Disable ActiveSync/MAPI/EWS/OWA Exchange features during troubleshooting.
  • Clear Blocked/Allowed Devices.
  • Execute Get-CASMailbox, Get-Mailbox,Get-ActiveSyncDeviceStatistics,Get-MailboxFolderStatistics,Get-ActiveSyncDeviceClass,Get-ActiveSyncDeviceAccessRule,Get-ActiveSyncOrganizationSettings,Get-ActiveSyncMailboxPolicy.
  • Parse IIS log and get reports to troubleshoot ActiveSync related Issue and manage the device/user from report output.


For More Info and download the tool visit the below URL!


Adding Domain/Sender to White list in Exchange 2010

When you need to White list Sender/Domain to Exchange 2010, you have to use power shell as this is not available from GUI

To view what currently is in the White List for senders, fire open the Exchange Management Power shell:
1- for white list individual e-mail address:

2- for white listed domains

Now how to add an individual e-mail address or domain:
1- To whitelist a domain e.g. you’d do the this:

$WhiteDomain = (Get-ContentFilterConfig).BypassedSenderDomains


Set-ContentFilterConfig -BypassedSenderDomains $WhiteDomain

2- To White list a sender e.g. you’d do this:

$WhiteSender = (Get-ContentFilterConfig).BypassedSenders


Set-ContentFilterConfig -BypassedSenders $WhiteSender

Now you can re run the first 2 commands and check their results to confirm your adding success

The policy for ‘RTCUniversalServerAdmins’ user or group is not valid,when deploying Monitoring Lync Reports

When deploying Lync 2010 Monitoring Server Reports, i have faced the below error

The policy for ‘RTCUniversalServerAdmins’ user or group is not valid. The role assignment is either empty, specifies a user or group name that is already used in an existing role assignment for the current item, or specifies duplicate roles for the same user or group. —> Microsoft.ReportingServices.Diagnostics.Utilities.InvalidPolicyDefinitionException: The policy for ‘RTCUniversalServerAdmins’ user or group is not valid. The role assignment is either empty, specifies a user or group name that is already used in an existing role assignment for the current item, or specifies duplicate roles for the same user or group.



The Log didn’t show anything that is helpful

So here what i have done to solve this issue:

1- Press the finish button in the attached screen

2- Open the URL of the Reports sites, you can get it from the SQL Server Reporting Configuration Manager as below


3- After browsing to the URL navigate to Lync ServerReports > Reports_Content you will see both of the data sources listed (CDRDB and QMSDB).  If you click on CDRDB you will get the properties for the data source: as below:

4- Verify that in the Connection string: field the SQL server name and instance is correct.  In the example above, the connection string is pointing to the local SQL server that has SQL Reporting Services installed.  Change (local) to the correct SQL server and instance, enter the password for the account that you selected to connect to the Monitoring Server databases and click on Apply.

5- Now go back one step and click on QMSDB as below and repeat the same steps as step 4:

6- After that i was able normally to browse the Lync Monitoring reports without any problem as below

Understanding Database White Space In Exchange 2010 and Exchange 2013

Exchange uses its own database engine, and as such there are times that whitespace or space that has been freed by deleted mailboxes, emails, and other clean up functions, builds up.

Exchange by default does not compress its database, or remove the whitespace.

The whitespace is eventually used by new data, so the mailbox database size does not grow until it has to because it has used the whitespace.

There are a lot of times that I have found that I wanted to know which databases have the most whitespace so I know where to create new users to avoid expanding databases.

You can use the following command to display the Free space in each of the databases. Powershell will give you this data in a field called AvailableNewMailboxSpace:
Get-MailboxDatabase -Status | Sort-Object DatabaseSize -Descending | Format-Table Name, DatabaseSize, AvailableNewMailboxSpace

The result will be as below:

Now you can do defragment for the Databases and all the “AvailableNewMailboxSpace” will be free

How To Find Which Store Worker Process Is Responsible For A Mailbox Database

Microsoft has introduced two new processes as part of the managed store concept:

1- First is the Store Worker Process(Microsoft.Exchange.Store.Worker.Exe) which does the same job that store.exe handled in previous versions. The only difference in 2013 is that a single Store Worker Process is only responsible for one database.

2- The second one is the Store Service Process(Microsoft.Exchange.Store.Service.Exe) & it is the process that controls the different store worker processes. When a database gets dismounted, it is the store service process which terminates the store worker process that was responsible for that database. Similarly, when a database gets mounted, the store service process brings a new store worker process for that database. The store service process is a controller of all the other store worker process

The Question is how to determine which store worker process handled a mailbox database

First I have 4 Mailbox Databases on my server as shown below:



Now , I have a single store service process and four worker processes.



Till now i couldn’t determine which worker process belong to which DB
So all you need is to get the Details Tab in the task manager and you will see the below



Now you know which Store Worker Process and its PID cause high CPU or Memory
Now you can run the below command and the result will show as below
Get-MailboxDatabase -Status | ft name, workerprocessid 



Now that you have the store worker process & the process id from the task manager and database name & process id from the Shell, it is easy to find out which worker process is handling which database.

If you find that one store worker process is hot on CPU or memory, you can find the database behind it this way and take administrative action.

%d bloggers like this: