Category Archives: Exchange

Exchange 2013 move mailbox staus : StalledDueToCI

Tried to move a mailbox from Exchange 2010 to Exchange 2013, but the job would take forever. Status for the job was “StalledDueToCI” ( Get-MoveRequest | Get-MoveRequestStatistics | ft mailboxidentity,status ). I suspected this had something to do with ContentIndexing. And infact it does. Tried to reset Search index for the database containing the failed mailbox.

To reset Exchange search index for a database:

1.Stop Exchange search services:

2.Delete the search folder. Usually a folder inside the folder containing the database.

3.Start Exchange search service.

4. Check Index crawler status to see when it has finished: Get-MailboxDatabaseCopyStatus -Server <servername>| FL Name,*Index*

This worked for some short time. But it would fall back to failed.

After some time searching the Internet found some people claiming that this is a bug and that you would have to create a group i Active Directory named ContentSubmitters. After Checking Exchange Setup Validation I did not find this group mentioned. 

I do not like to do anything whitout knowing why so I tried to find a Microsoft  article describing this issue. And there it is :

Turned out there are 2 solutions to the problem.

1. Create the Active Directory group.


2. Disable Exchange 2013 from using/checking the group existense.

List members of dynamic groups show incorrect members.

If you use PowerShell to list members of dynamic distribution Groups in Exchange 2013 you would probably see more entries than expected. The PowerShell commands

$dgr=Get-DynamicDistributionGroup “GroupNAme”
Get-Recipient -RecipientPreviewFilter $dgr.RecipientFilter

does not take in to consideration OU filtering. If you look at $dgr.RecipientFiler it only contains the other attributes.

I do not know if this is a bug or by design.

Replacement for TMG reverse proxy.

Are you looking for a replacement for TMG now that its end is nearing. You could buy a thirdparty reverseproxy from Sophos og some appliance. The simplest solution is probably to install a Windows server 2012(R2) and add ARR module to IIS.

To install this module you would use the
Microsoft Web Platform Installer

All information you will need are at the IIS web site :

Missed Call notification from Lync missing in users mailbox.

A new install of Lync and Exchange. Enabled enterprise voice and Unified Messaging. Useres never get missed call notifications in their mailbox. On the exchange server there where several entries in the eventviewer complaining about smtp and voice mail files.


Solution to this is to verify that the receive connector that exchange itself uses is enabled With “Exchange Server authentication”. Most common issue is that som admin has created a relay connector and defined a IP subnet in the “network” tab, and this IP network contains the IP address of the exchange server. You can verify witch connector that is used by Exchange by examining the smtp log file.


Also verify that the CA trust list is not to large as i pointed out in my Lync post :


Exchange 2013/ecp shows Exchange 2010/ecp

When you install Exchange 2013 into a Exchange 2010 organization and try to access https://exchange2013cas/ecp  – Exchange server will show Exchange 2010 ecp. To access the Exchange 2013 ecp you will have to specify your Exchange version in the URL.



Several external url’s missing from Exchange autodiscover.

Had a issue where “externalewsurl” and “externaloaburl” was missing from Exchange autodiscover. All urls was configured on the Exchange server and all other information was available through autodiscover. In the end I found out that the Outlook provider for Outlook anywhere was missing. Create New EXPR provider and set external wildcard certificate as CertPrincipalName.

Permanently delete disconnected mailboxes in Exchange 2010

This could be usefull when moving users and you would like to free up some space.

# Permanently delete disconnected mailboxes.

List disconnected:
Get-MailboxStatistics -Server MAILSERVER | ?{$_.DisconnectDate -ne $null} |ft Displayname,Identity,Disconnectreason

Remove by using mailbox database and mailbox identity.
remove-storemailbox -Database MAILBOXDATABASE -Identity “8be4d91d-6380-4dcd-b5a4-d003f4ec3f14” -MailboxState Disabled

Exchange 2013 ecp iis error

After installing Exchange 2013 I got this “Server Error in ‘/ecp’ Application” when entering “Exchange Admin Center” web page.

“Could not load type ‘Microsoft.Exchange.Managment.Security.AdfsFederationAuthModule'”

Solution: Exchange 2013 did not install the “Windows Identity Foundation 3.5” automatically. So all there is to it, add this feature.


Exchange 2012 Management Shell shortcut missing.

Make sure the required files are present in exchange bin folder:

(These can be copied from another Exchange or from install media – Version at the same servicepack level.)

  • – CommonConnectFunctions.ps1
  • – CommonConnectFunctions.strings.psd1
  • – Connect-ExchangeServer-help.xml
  • – ConnectFunctions.ps1
  • – ConnectFunctions.strings.psd1
  • – RemoteExchange.ps1
  • – RemoteExchange.strings.psd1

Create a New shortcut on desktop or somewhere else:


   C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command “. ‘C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1’; Connect-ExchangeServer -auto”

Start in : <blank>

Name : Exchange Management Shell

Change the icon : Paste it into the Browse text Box and press enter. Select Icon.




Exchange Powershell Max Quota exceeded.

When doing some exchange powershell you would probably get this error or somthing like it sooner or later:

Connecting to remote server failed with the following error message : The WS-Management service cannot process the request. This user is allowed a max
imum number of 18 concurrent shells, which has been exceeded. Close existing shells or raise the quota for this user. For more information, see the about_Remote_Trouble
shooting Help topic.
    + CategoryInfo          : OpenError: (System.Manageme….RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
    + FullyQualifiedErrorId : PSSessionOpenFailed

Workaround for this is to recycle the MSExchangePowerShellAppPool Application Pool

Unable to create exchange test user using “new-TestCasConnectivityUser.ps1”

[PS] C:\Program Files\Microsoft\Exchange Server\V14\Scripts>.\new-TestCasConnectivityUser.ps1
Please enter a temporary secure password for creating test users. For security purposes, the password will be changed r
egularly and automatically by the system.
Enter password: **********************************
Create test user on: Server1.test.local
Click CTRL+Break to quit or click Enter to continue.:
CreateTestUser : Mailbox could not be created. Verify that OU ( Users ) exists and that password meets complexity requi
At C:\Program Files\Microsoft\Exchange Server\V14\Scripts\new-TestCasConnectivityUser.ps1:267 char:31
+       $result = CreateTestUser <<<<  $exchangeServer $mailboxServer $securePassword $OrganizationalUnit $UMDialPlan $
UMExtension $Prompt
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,CreateTestUser

This error is because you have several OU’s named “Users”. Edit the scrip to use a spesific OU, i.e “CN=Users,DC=test,DC=local”