Exchange 2013 Mailbox Creation Hangs

Scenario: Mailbox creation hangs in Exchange 2013 in EAC and EMS, although the mailbox will eventually be created. When creating a mailbox in Exchange Management Shell and enabling verbose logging, the following log is displayed after it hangs:

VERBOSE: [19:50:51.165 GMT] New-Mailbox : Unable to generate the e-mail address. Unable to load address module ‘C:Program FilesMicrosoftExchange ServerV15MailboxaddressGWISEAMD64gwxpxgen.dll’ for address type ‘GWISE’. Additional message: ‘The specified module could not be found’.
Resolution: There is a GWISE value still present in the Default Recipient Policy.
1. Open ADSI Edit.
2. Connect to the Configuration Naming Context of a Domain Controller or your domain.
3. Navigate to: Configuration –> CN=Services –> CN=Microsoft Exchange –> CN=<Exchange Name> –> CN=Recipient Policies
4. Right click on CN=Default Policy and select properties.
5. Locate the gatewayProxy attribute and remove the GWISE value.
Note: Other articles suggested looking at the disabledGatewayProxy as well and removing the GWISE value.

Conditions for Log Truncation in Exchange

These are the conditions in which Exchange’s Replication service will truncate the committed log files in Exchange:

Exchange 2010 & 2013
  • The log file must have been successfully backed up, or circular logging must be enabled.
  • The log file must be below the checkpoint (the minimum log file required for recovery) for the database.
  • All other lagged copies must have inspected the log file.
  • All other copies (not lagged copies) must have replayed the log file.
Exchange 2013
Exchange 2013 uses quite a big checkpoint depth (100MB), it’s usual to find a hundred or more transaction logs even when circular logging is enabled and the database is essentially quiescent. It’s far removed from the five or six transaction logs that a standalone database enabled for circular logging might use.

Entering Exchange Product Key in Exchange Powershell

Task: Enter in the Exchange Product Key in Exchange Powershell by using the command below.

Set-ExchangeServer servername ProductKey aaaaa-aaaaa-aaaaa-aaaaa-aaaaa
Even though you can see the new edition on Exchange, the new edition/product key will not be fully activated until the Information Store service is restarted. The new editions functionality will not be there until the service restart. Restart it from Exchange Powershell Below.

Warning for Restarting Information Store Service after Exchange 2013 DB Creation

Scenario: A mailbox database or mailbox database replica was created on a server and you receive the following warning:

WARNING: Please restart the Microsoft Exchange Information Store service on serverservername after adding new mailbox databases. Alternatively, you can restart the server
Reason: The information store service in Exchange 2013 decides how much memory it will allocate for each database during the information store service startup. Therefore if you add databases after this is service is started, the information store does not have a predetermined amount of memory to manage the database.
Note: The database is still functional even if you do not restart the service, but restarting the serice is still recommended.
Note: In earlier versions of Exchange, the information store service tried utilizing as much memory as it could at the information store service startup.

Creating Exchange Databases and creating Database Copies in Exchange Powershell

Task: To create Exchange DB’s and DB Copies, follow the following powershell commands below. Note everything with this highlight will need your adjusting.

Create the DB:
New-MailboxDatabase dbname -Server servername -LogFolderPath C:dbfolderLogs -EDBFilePath C:dbfolderDBdbname.edb 
Mount the DB:
Mount-Database dbname 
Add the DB Copies to other DAG members:
Add-MailboxDatabaseCopy dbname -MailboxServer PassiveServerName -ActivationPreference 2 
Add-MailboxDatabaseCopy dbname -MailboxServer PassiveServerName -ActivationPreference 3 
Add-MailboxDatabaseCopy dbname -MailboxServer PassiveServerName -ActivationPreference 4 

Track message logs for a user

Track message logs for a user
Step 1. Determine user’s mailbox server
 
run the following scripts from Exchange powershell
 
For eg, to check the log for the recipients from sendertest@test.com:
 
Get-MessageTrackingLog -server servname -sender test@test.com | ft recipients,subject
 
To Get log from a certain time/date to a specific time/date. you can also change  eventid from send to deliver or fail etc
 
Get-MessageTrackingLog -server srvname -resultsize unlimited -start “9/29/2013 8:00am” -end “10/1/2013 3:00pm” -EventId “send” -Recipients test2@domain.edu

Your request couldn’t be completed. Please try again in a few minutes

​After launching the Exchange admin console(Exch2013), when you try to access the database, you get this error:
Your request couldn’t be completed. Please try again in a few minutes
resolution:
launch adsiedit, go to Configuration -> Services -> Microsoft Exchange -> Administrative Groups, databases,
Review the databases and delete the new databases added. Try accessing the EAC again