Exchange 2010 database create free space (white space)


Every mailbox database in Exchange 2010 has white space. It’s free space which can be used before .edb file will grow.

Sometimes we need to create free space in database right now if we want to avoid of growing of .edb file.

To get free space in mailbox database we can do the following:

  • move few mailboxes from mailbox database to other mailbox database
  • purge disabled mailboxes
  • purge soft-deleted mailboxes


Exchange 2010 check AvailableNewMailboxSpace (white space) in database:

We can check available white space for new mailboxes in mailbox databases using powershell like below:

Get-MailboxDatabase -server MBX1 | select Name, DatabaseSize, AvailableNewMailboxSpace

or if we want to check only one mailbox database:

Get-MailboxDatabase DB01 | select Name, DatabaseSize, AvailableNewMailboxSpace


If we want to see all disabled mailboxes (disabled today) in database we have to wait for scheduled Cleanup Agent or we can run it from powershell:

Get-MailboxDatabase -server MBX1 | Clean-MailboxDatabase

When we run above command, all mailboxes disabled today, will be marked as disabled and we can find them in Disconnected Mailboxes.


Exchange 2010 list disabled mailboxes:

We can get informations about disabled mailboxes to know how much space we will get when we purge disabled or soft-deleted mailboxes.

To list all disabled mailboxes in all mailbox databases in server MBX1 run:

Continue reading

Print Friendly

Exchange 2010 SP1 Mailbox Folder Permission


Sometimes in Microsoft Exchange environment we need to add user permission to other user mailbox.

We can add Full Access permission to mailbox like below:

Add-MailboxPermissions -Identity Mailbox1 -User JSmith -AccessRights FullAccess -InheritanceType all


But what if we don’t want to add permissions to all folders in mailbox but only to a one mailbox folder.

With Microsoft Exchange 2010 SP1 we can add permission to specified folder for user or Security Group, (Add-MailboxFolderPermission) we can remove (Remove-MailboxFolderPermission) and also we can change this permissions (Set-MailboxFolderPermission).

To add Reviewer permissions to User1 on Inbox folder of mailbox “John Smith” we can use:

Add-MailboxFolderPermission -identity\Inbox -User User1 -AccessRights ReadItems


Now we can check permissions to John Smith Inbox folder like below:

Get-MailboxFolderPermission -Identity\Inbox


We can change permissions for User1 to mailbox Inbox folder using Set-MailboxFolderPermission from Reviewer to FolderVisible:

Set-MailboxFolderPermission -Identity\Inbox -User User1 -AccessRights FolderVisible

Continue reading

Print Friendly

Exchange recipients limit

In fact, this information is easily available on technet, but sometimes it is useful to organize and put them in one place.

Exchange 2010 and Exchange 2007  recipients limit

There is an important change compared to Exchange 2003 – Distribution group are treated as one recipient.

We can restrict recipients limit at the following levels:

  • Organization
  • Transport server
  • Receive Connector
  • Mailbox


Recipient limit  at the organization level, we can check this PowerShell command:

Get-TransportConfig | fl MaxRecipientEnvelopeLimit

or in EMC

Organization Configuration | Hub Transport | Global Settings | Transport Settings tab | Transport Settings Properties

Transport Settings

Continue reading

Print Friendly

Exchange 2010 get information about mailbox size

Information about the amount of space that occupies a particular mailbox, we can easily preview the Exchange Management Console.

Unfortunately, if we want to get more information about the mailboxes, or mailboxes that meet that special condition, the realization of such a task in the EMC will be very time consuming.

In such a case comes to us from the console using the Exchange Management Shell (EMS) in which the PowerShell commands, we can get a lot of interesting information on the mailboxes located on Microsoft Exchange.

Display all information about the mailbox:

Get-MailboxStatistics | FL

Continue reading

Print Friendly

Exchange 2010 Powershell how to count mailboxes

We often encounter the need to determine how many mailboxes in a given time is in different databases or around the Microsoft Exchange Server.

Such information can be easily obtained by using the Exchange Management Shell cmdlets for Exchange 2010.

Examples of use:

Determination of the number of all mailboxes in an Exchange Organization


(Get-Mailbox -ResultSize unlimited).count

ResultSize option we use if our Exchange environment has more than 1000 mailboxes

Number of mailboxes in different databases:

Get-Mailbox -ResultSize unlimited | Group-Object -Property:Database | Select-Object Name,Count

Continue reading

Print Friendly

Resume-MailboxDatabaseCopy for all databases on server

Sometimes (for example, after a small disk array failure ;)) you need to resume failed and suspended database copy. We can do that with this  command: resume-mailboxdatabasecopy .

But what if there is a lot of databases ?

In this case we can use this command to resume replication for all databases on specific server:

get-mailboxdatabasecopystatus -server “server_name” | resume-mailboxdatabasecopy

Also for suspending replication we can use this command:

get-mailboxdatabasecopystatus -server “server_name” | suspend-mailboxdatabasecopy

Print Friendly

Search-Mailbox search and remove emails

Each administrator of the Microsoft Exchange Server had certainly met or will meet with a situation where you have to find a specific email in the mailboxes, and sometimes even remove it.

In Microsoft Exchange 2010 to search mailboxes, we can successfully use the Search-Mailbox command.

But first make sure that we can run the command Mailbox-Search and
If you try to run the New-MailboxImportRequest and reveive the message:

 “The term ‘New-MailboxImportRequest’ is not recognized as the name of a cmdlet”


This means that we do not have appropriate access rights.

Giving the appropriate permissions:

In Active Directory, create a universal security group such ExchangeImportExport_Allowed

Continue reading

Print Friendly

Exchange 2010 PowerShell script count items in mailbox folder

As is known, together with new versions of Microsoft Exchange are changing also limits the number of elements in a single folder mailbox.

For each version of Exchange, Microsoft recommends not to exceed the following values of the number of items in the folder:

Exchange 200/2003        5 000
Exchange 2007               20 000
Exchange 2010             100 000

Number of items contained in folders determines the performance of the server and connections to the mailbox, can also cause problems with the use of mail clients.

Continue reading

Print Friendly

Microsoft Exchange 2013 New PowerShell cmdlets

List of new PowerShell commands (cmdlets), released with Microsoft Exchange 2013 we published in our post on Exchange Blog here:
Exchange 2013 Powershell

You can now find in internet a detailed list of new commands and a description of their use.
This list is shown below:

Continue reading

Print Friendly

Exchange 2013 Powershell EMS

In Microsoft Exchange 2013 Preview, PowerShell still plays an important role.
In new edition PowerShell for Exchange 2013 is based on PowerShell v3 and Management Framework 3.0 and in addition it has been enhanced with new cmdlets.
Even in Microsoft Exchange 2010 PowerShell allow administrators to perform many complicated things that were not available in the graphics console EMC. That allows us to create scripts to facilitate the daily administrative work.

By using PowerShell version 3.0 the new Exchange server support gained by using the commands on the functionality and simplicity.
For version 2.0 to search a box for a particular look like this:

 Get-Mailbox | Where {$_.Name –like “*smith*”}

now in PowerShell version 3.0 it looks:

Get-Mailbox | where name –like “*smith*”


Continue reading

Print Friendly