Thursday, October 6, 2016

Meetings appear in the calendar as Tentative but the user didn't receive the requests in the inbox or meeting responses from others don't appear in the inbox

We have had several calls recently. Majority of them are Mac Outlook 2016 users (we are running Exchange 2016). We found out solution 1 of the MS KB https://support.microsoft.com/en-us/kb/2966790 fixed the issues

 Users experience one or both the following symptoms in Outlook:
  • The user doesn't receive meeting requests in their inbox. However, the meetings appear in the user's calendar as Tentative.
  • When the user creates a meeting request, the user doesn't see meeting responses from attendees. However, tracking information for the meeting is updated in the user's calendar.
In this scenario, the user does not have a delegate set up.
CAUSE
This issue occurs if the meeting requests were processed incorrectly in the user's mailbox and they get delivered to the user's Deleted Items folder instead of the Inbox folder or the meeting requests were processed incorrectly as if a delegate was set up. 

This can occur if the Receive folder for the IPM.SCHEDULE.MEETING message class was changed to the /Schedule folder or if the PR_RULE_MSG_PROVIDER property of messages that have as message class of IPM.Rule.Version2.Message is set to Schedule+ EMS Interface.
SOLUTION
To resolve this issue, start by following the steps in Solution 1. Depending on the scenario, you may have to use the steps in Solution 2. You will not know which solution applies to the user until you start troubleshooting by using the steps in Solution 1. 

Note The exact steps will vary based on the version of the MFCMAPI tool that you're using. Use caution when you modify mailboxes by using MFCMAPI. Using this tool incorrectly can cause permanent damage to a mailbox.

Solution 1

  1. Download MFCMAPI from http://mfcmapi.codeplex.com/.
  2. Start MFCMAPI.
  3. On the Session menu, click Logon.
  4. Select the user's online mode Outlook profile, and then click OK.

    Note If the user doesn't have an online mode profile, create a profile. Or, on the Tools menu, click Options, and then make sure that both the Use the MBD_ONLINE flag when calling OpenMsgStore check box and the Use the MAPI_NO_CACHE flag when calling OpenEntry check box are selected.
  5. In the list, double-click the user's primary mailbox.
  6. In the new window that appears, on the MDB menu, point to Display, and then click Receive folder table.
  7. In the window, look for IPM.SCHEDULE.MEETING. Then, do one of the following:
    • If IPM.SCHEDULE.MEETING is not present, go to Solution 2. 
    • If IPM.SCHEDULE.MEETING is present, go to step 8 of this procedure.
  8. Expand the Root container.
  9. Right-click Schedule, click Advanced, and then click Set Receive Folder.
  10. Enter IPM.SCHEDULE.MEETING in the box.
  11. Click Delete Association, and then click OK.
  12. Repeat step 6 and 7 to make sure that the IPM.SCHEDULE.MEETING association is removed from the list.
  13. Test to see whether the user can receive meeting responses and meeting requests in their inbox.

Solution 2

  1. Download MFCMAPI from http://mfcmapi.codeplex.com/.
  2. Start MFCMAPI.
  3. On the Session menu, click Logon.
  4. Select the user's online mode Outlook profile, and then click OK.

    Note If the user doesn't have an online mode profile, create a profile. Or, on the Tools menu, click Options, and then make sure that both the Use the MBD_ONLINE flag when calling OpenMsgStore check box and the Use the MAPI_NO_CACHE flag when calling OpenEntry check box are selected.
  5. In the list, double-click the user's primary mailbox.
  6. Expand the Root container, and then expand Top of Information Store.
  7. Right-click Inbox, and then click Open Associated Contents Table.
  8. In the upper part of the window, scroll to locate the Message Class column.
  9. Click Message Class to sort the Message Class column.
  10. Look for all messages that have a message class of IPM.Rule.Version2.Message.
  11. Click each message that has a message class of IPM.Rule.Version2.Message, and then in the lower part of the window, look for a property that's called PR_RULE_MSG_PROVIDER.
  12. Check whether the PR_RULE_MSG_PROVIDER property has a value of Schedule+ EMS Interface.
  13. In the upper part of the window, delete messages whose PR_RULE_MSG_PROVIDER property have a value of Schedule+ EMS Interface.
  14. Test to see whether the user can receive meeting responses and meeting requests in their inbox.

Thursday, May 5, 2016


Create a DAG with Exchange 2013/2016 – Troubleshooting

Once you tried to create a DAG (database Availability Group) with Microsoft Exchange Server 2013 or Exchange 2016, you may get many errors when you tried to add DAG member. It happens to me since I tried to use no Exchange server as witness server and forgot to add Exchange Trusted system group to local Administrators group once I tried to create an Exchange 2016 DAG in the LAB

So you’ve installed two or more Exchange 2016 servers with the Mailbox role and you decide to create the DAG with those two servers. So you create a DAG with a name of LABDAG-16…so good so far, no errors

Now you decide to add the first member to your DAG. Here are the errors you may encounter:



First Issue:  ACCESS DENIED

A server-side database availability group administrative operation failed. Error The operation failed. CreateCluster errors may result from incorrectly configured static addresses. Error: An error occurred while attempting a cluster operation. Error: Cluster API ‘”CreateCluster() failed with 0×5. Error: Access is denied”‘ failed.. [Server: MBX1.domain.int]

Cause: the ECP wizard tried to add the first mailbox server to the DAG. During this process the wizard create a computer object in Active Directory (the CNO). This object doesn’t have the good rights. Exchange Trusted Subsystem had special permissions assigned and not “Full Control” on CNO (LABDAG-16).


Resolution: assign “Full Control” to Exchange Trusted Subsystem on the CNO of the DAG from Security Tab.



Second Issue: DNS Host Name

An Active Manager operation failed with a transient error. Please retry the operation. Error: The fully qualified domain name for node '' could not be found.

Cause: if you go in the property of the CNO, in the tab ‘general’, you will see the field “DNS name” empty. The ECP cannot find this information, that’s why you have this message.



Resolution: go ADUC, expand to Computers OU, in the property of the CNO (LABDAG-16), in the tab ‘attribute Editor’ tab and search for the “dNSHostName” attribute. Enter the FQDN of the CNO (LABDAG-16.DOMAIN.COM, for my case) and apply.

Third Issue: CNO not disable


A computer account named ' LABDAG-16' already exists and is enabled. The account must be disabled in order to be used by the database availability group.

Cause: the CNO is enable. To operate the ECP need to have the CNO disable. The ECP will enable the CNO itself.
Resolution: GO in Active Directory and disable the CNO
(LABDAG-16, for my case), and try it again.

How to Speed up mailbox migration to Exchange 2016

Moving mailboxes from 2010 to Exchange 2016 or Exchange 2016 can often go very slowly, even when the network and server resources are fast and abundant! 
The Exchange Mailbox Replication Service (MRS) has extensive resource throttling enabled by default in order to prevent mailbox moves from choking out the rest of the users.  Because of this you may see mailboxes with a status of RelinquishedWlmStall and if you look at the details of the Get-MoveRequestStatistics report you will see mailboxes have a lot of time sitting idle under the TotalStalledDueToWriteThrottle counter.

Microsoft tech support suggests making changes to the “MSExchangeMailboxReplication.exe.config” file located at “C:\Program Files\Microsoft\Exchange Server\V15\Bin”.  The values to look at, along with their default settings are:
MaxActiveMovesPerSourceMDB=”20″
MaxActiveMovesPerTargetMDB=”20″
MaxActiveMovesPerSourceServer=”100″
MaxActiveMovesPerTargetServer=”100″
MaxTotalRequestsPerMRS=”100″
ExportBufferSizeKB=”512″
We typically like to set these values so that about 10 mailboxes can be moved simultaneously.  The ExportBufferSizeKB we’ve used in the past is “10240”.  The Exchange Mailbox Replication Service should be restarted after these changes.
The other suggestion Microsoft has made is to disable content indexing on the target database so that the search index scanner isn’t overwhelmed by all the new messages needing to be indexed.  You’ll want to set it back once the migration is complete.
Set-MailboxDatabase “DB1” -IndexEnabled:$False
In our experience however, these first two suggestions do NOT have tremendous impact on the overall speed.  The following two options have proven to be the most effective for us.
Use the “-priority emergency” parameter on the mailbox moves.  This will give the move the highest priority in the MRS queue.  For example:
New-MoveRequest -Identity “user@domain.com” -TargetDatabase “DB1” -Priority emergency
If the priority flag and the MRS config editing doesn’t make the moves fast enough for you, then disable MRS throttling altogether!  To do this, change the “MRS” REG_DWORD key from 1 to 0 under this registry path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MSExchange ResourceHealth
Then restart the Exchange Mailbox Replication service.  Now your mailboxes will move without any throttling policy.  Once the mailbox migration is complete change the value back to 1 to re-enable MRS resource monitoring.


How to: Move Catalog Data in Exchange 2010


When you’ve moved an mailbox database, the old catalog data will stay on the old partition. This prevents deleting the specific partition. When you try to delete those files, you receive this error.


Error description:

The Catalog data folder stays in place after a database move path action. The folder couldn’t be cleaned up because it is in use by the Microsoft Exchange Search Indexing service


Solution:

First we have to temporarily disable the indexing on the particular mailbox database. Then we stop the indexing service of Exchange so we can delete the remaining files. The last step is to enable the indexing again.

Actions:
You can follow the next steps.

- Open the Exchange Management Shell and run the following command:

     Set-MailboxDatabase -Identity YourDBName -IndexEnabled $false

-Before moving / cleaning the catalog files, stop the service Microsoft Exchange Search Indexer
- Move the catalog files to the new database location or clean them up.
- Start the service Microsoft Exchange Search Indexer
- Open the Exchange Management Shell and run the following command:

Set-MailboxDatabase -Identity YourDBName  -IndexEnabled $true

Friday, March 18, 2016

How to get-MailboxDatabase size quickly

get-MailboxDatabase us-* -Status |select ServerName, Name, DatabaseSize > c:\usmbxDBsize.txt

This command will provide us a list of the mailbox DBs their names starting with "US-"

How to block spoofing email from Exchange 2013/2016 or Office 365

1. Sign in to Exchange Admin Center http://outlook.office365.com/ecp with an admin account.
2. Navigate to mail flow>rules and click the add icon to create a new rule.
3. Create a rule like this (don’t forget to click more options):
 
With this rule, emails from outside your organization with your domain to your organization will be blocked.