-->

Friday, December 19, 2014

Exchange 2010 Shared Mailbox Sent Items Going Into Personal Mailbox Sent Items Folder

The default behavior of Sent Items when using Send As or Send on Behalf of a Shared Mailbox, is for those sent messages to go into the Sent Items Folder of a user's personal mailbox. This is a problem for auditing heavily used Shared Mailboxes, because you can't readily see sent messages in the Shared Mailbox. Prior to Exchange 2010 SP2 RU4, you had to modify a registry key to force Outlook to save Sent Items in the Shared Mailbox - this would be quite a task if you have a lot of users and/or Shared Mailboxes. Luckily, Exchange 2010 SP2 RU4 and later, provides two (easier) methods to control this behavior...you are running at least SP2 RU4 right?

The first method uses the Exchange Management Shell (EMS) to set the values on the Shared Mailbox.

Fire up the EMS, and run:

Get-MailboxSentItemsConfiguration "shared mailbox name"

**Note** Change "shared mailbox name" to the mailbox you need to set the values on

The output will be:

SendAsItemsCopiedTo         : Sender
SendOnBehalfOfItemsCopiedTo     : Sender
Identity                                             :
IsValid                                              : True

We need to change SendAsItemsCopiedTo and SendOnBehalfOfItemsCopiedTo since they are set to the default "Sender".

The options are:

Sender: Sent Items using Send As or Send on Behalf (SOBO) are saved only in the personal mailbox of the user.

SenderAndFrom: Sent Items using Send As or SOBO are saved in the personal mailbox AND the Shared Mailbox.

From: Sent Items using Send As or SOBO are saved in only the Shared Mailbox.

Most users that I have worked with prefer SenderAndFrom, so that's what we'll set here.

To set the values, we need to run:

Set-MailboxSentItemsConfiguration "shared mailbox name" -SendAsItemsCopiedTo SenderAndFrom

And then we'll need to run:

Set-MailboxSentItemsConfiguration "shared mailbox name" -SendOnBehalfOfItemsCopiedTo  SenderAndFrom

If you run Get-MailboxSentItemsConfiguration again, you'll see this output:

SendAsItemsCopiedTo                     : SenderAndFrom
SendOnBehalfOfItemsCopiedTo      : SenderAndFrom
Identity                                              :
IsValid                                               : True

**Note** It may take a while for the changes to take effect depending on your replication times.

The next method is for users to set their own Sent Items behavior in OWA.

**Note** This method only works if the user is running Outlook in online mode, not Cached Mode. In my opinion, with wireless hotspots and fast internet speeds there's no reason to run Cached Mode anyway :)

In the upper-right corner of OWA, hit Options, then See All Options:

OWA Options
 
In the Left Pane, hit Settings, then hit the Sent Items tab. Under Sent Items, select the option you prefer in the two drop-down menus.
 
OWA Sent Items Settings

Now your users' Sent Items will go where they're supposed to.

Wednesday, December 3, 2014

Exchange 2010 Group/Team Calendar Causes Outlook to Hang

I recently had an issue when several users would try to open their team calendar(s), it would cause Outlook to hang, with a "Not Responding" error. The problem is, we have a lot of remote users who run Outlook in cached mode, which has to download the entire calendar. Since cache mode needs to be enabled, luckily there's another fix:

In Outlook, go to File > Account Settings > Account Settings

Account Settings
 
Select your account, then click "Change..."
 
Change Account

Click the "More Settings" button

More Settings

Select the Advanced Tab, then Uncheck "Download shared folders"

Uncheck Download shared folders
 
That should help the performance problems, since Outlook will basically run in Online mode for shared folders/calendars.

Sunday, November 2, 2014

Exchange 2010 Setting An Auto-Response For A Distribution Group

We recently had a distribution group was that being used as a "support mailbox" and that particular group was going away. The owners of this group wanted an automated way to tell customers that the group is being deleted, but there's not a very graceful solution for auto-responses on distro groups (at least not an easy server-side setting).

Here's my workaround, using an Out Of Office Rule, which has been pretty successful:

The key to sending an auto-response from a distribution group, is that one user in the group needs to have an OOF (Out Of Office) rule set.

**Note** Don't enable OOF on multiple users, or the sender will get an auto-response from each one.
 
First, create a user mailbox; I created a generic mailbox, with a name that closely matches the current distro group, but with "Being-Moved" appended to the end of the Display Name and Alias...this is because the OOF being sent will be originating from this mailbox and recipients will see the mailbox name.
 
Add that new mailbox to the distro group.
 
Now, we're going to create an OOF Rule that fires off multiple responses even to the same sender (Exchange only sends responses once to each sender):
 
Open Outlook using the profile for the new mailbox you created.
 
Hit the Rules drop-down and select Manage Rules and Alerts.

Hit the New Rule button.

Select Apply rule on messages I receive, then click Next.

Select sent to people or public group.


In the bottom pane, click the link for people or public group and select the distribution group that you're working with, and click Next.

Select have server reply using a specific message.


In the bottom pane, click the a specific message link.

In the New Message that opens, input the desired Subject and Body, then hit Save and Close.

Click Next

Click Next since we don't need any exceptions.

Give the rule a name like "Distro Group OOF", check Turn on this rule then click Finish.

On the Rules and Alerts window, click OK.  
 
Now, open the Exchange Management Console:
 
Right-Click the distribution group and click Properties

Click the Advanced tab

Check send out of office to the originator

Send a few test messages to the distribution group from the same account both internal and external to verify that it fires off multiple auto-responses and you're done!

Wednesday, October 8, 2014

Exchange 2010 Outlook 2013 Error: "Cannot Expand The Folder..." When Using Outlook Anywhere Or Not Connected To VPN

I've seen this problem crop up quite a bit now that most of our users have been upgraded to Outlook 2013. We have quite a few remote users, who generally use VPN's to connect to our network, but they shouldn't have to use a VPN since we run Outlook Anywhere.
The problem is: when running Outlook 2013 in Online Mode, they get a "Cannot open Outlook, or cannot expand folders..." error, during start-up. I believe it has to do with the way Outlook 2013 processes certificates, but I'm not sure what causes it.

Here's a workaround that seems to work pretty well:

Since you probably can't open Outlook, go to Control Panel > Mail > E-mail Accounts

Mail Setup - Control Panel

Select your account, then click “Change...
         

Change Account

Click the “More Settings” button

More Settings

Select the Connection Tab > Click the “Exchange Proxy Settings” button

Connection - Proxy Settings
         
Delete the entry in the box under “Only connect to proxy servers…

Uncheck the box next to “Only connect to proxy servers…

Delete proxy settings

Click OK, OK, Next, and then Finish.

You'll be prompted to close and Restart Outlook, after which, you should be able to connect to Exchange using Outlook Anywhere.


Exchange Extra "Junk" or "Unwanted" Folder Being Added To Outlook

I recently had a user who's Outlook mysteriously created a new folder name "Unwanted" and started filtering all mail into that folder instead of the Inbox. What's also strange, is the Search Folders > Unread Messages didn't reflect the same unread count as the Inbox.

After some routine Outlook diagnosing, I found that the user has a Samsung Galaxy S5, which has it's own SPAM filtering built into the phone. In that SPAM filter, our *@domain.com was listed...along with a bunch of other email addresses that shouldn't have been filtered. 

**Note** This issue/fix applies to several model lines of the Samsung Galaxy

Here's what you need to do to fix it:

1. On the phone, open the E-Mail app
2. Hit the Menu Key > Settings > General Settings
3. Select Spam Addresses and look for any errant email addresses, especially *@yourdomain.com entries, which would filter any messages from your domain.

4. Remove those addresses

Now the user can move the messages out of the Unwanted Folder and delete that folder, and email will stop being filtered improperly.

If your device is connected to a corporate Exchange/Office 365 account, I would disable the SPAM filter on the phone completely, and let Exchange handle the spam filtering; since it seems that the built-in feature is more of a nuisance than helpful.

Friday, September 26, 2014

Exchange 2010 Mailbox Export Error: Header file length is zero

While exporting some monster-sized mailboxes (and I mean 17GB monsters) to PST's, some of them inevitably failed because any time you're moving/exporting huge mailboxes the chances are very high that there will be corrupted items. When I went to retry the exports, PowerShell threw out the error below:

Unable to open PST file '\\ServerShare\PST\username.pst'. Error details: Header file length is zero. If this file is from a previously failed pst export, please delete the file and resume the export.
+ CategoryInfo          : NotSpecified: (0:Int32) [New-MailboxExportRequest], RemotePermanentException
+ FullyQualifiedErrorId : 53882154,Microsoft.Exchange.Management.RecipientTasks.NewMailboxExportRequest


In order to get those exports going again, first, you need to delete the PST files. If you can't delete the files because they are locked by another process, you can either restart the Exchange Replication Service on the CAS server(s) -or- on the server housing the shared drive, go into Computer Manager > Shared Folders > Open Files, right-click them and kill the connection.
After you've deleted the PST files, you'll need to edit your export command or script and add these two switches: -BadItemLimit 10000 and -AcceptLargeDataLoss so it looks like this:

New-MailboxExportRequest -Mailbox "alias" -BadItemLimit 10000 -AcceptLargeDataLoss -FilePath \\ServerShare\PST\alias.pst

**Note** Change "alias" and the -filepath to match your environment

Setting the -BadItemLimit to a high value will allow you to export the mailboxes, even though corrupt items are present, and setting the -AccepLargeDataLoss will tell PowerShell that you are sure you want to proceed even though there might be some corruption.

Now your huge mailbox exports should chug along!

Friday, September 5, 2014

Exchange 2010 Bulk Removing Mailboxes

My ongoing project to clean up Inactive accounts/mailboxes is now at the mailbox removal point. I'll show you how to use PowerShell to import a CSV list of user aliases and remove (delete) those mailboxes in one shot.
Keep in mind, removing a mailbox deletes the mailbox and AD account, which is different from disabling mailboxes, which only removes the Exchange attributes, but leaves the account in AD and leaves the mailbox in the DB until the retention period passes.

First, create a CSV of aliases that you need to remove, with "Name" as the heading of the column, and filename of aliases.csv.

**Note** If you already have a list of display names, you can follow my previous post to create a new CSV with just the aliases.

Next, fire up the EMS (Exchange Management Shell), and run:

Import-Csv c:\aliases.csv | Foreach {Remove-Mailbox –Confirm: $false –Identity $_.Name}

**Note** Change the path of the aliases.csv to wherever you saved it

Easy as that! Check your EMC and those accounts will be gone.

Tuesday, August 26, 2014

Exchange 2010 SP3 RU7 and Exchange 2013 CU6 Have Been Released

MS has released Exchange 2010 SP3 RU7 and Exchange 2013 CU6 (26AUG14).

For Exchange 2010 SP3 RU7:

You can grab it
here, and of course the normal order of install is the same:

1. CAS (with internet-facing first)
2. Hub Transport and Edge Servers
3. Mailbox servers
4. Unified Messaging servers

Here's a list of fixes in 2010 SP3 RU7:
 

  "HTTP 400 - Bad Request" error when you open a shared mailbox in Outlook Web App in an Exchange Server 2010 environment
  Outlook Web App logon times out in an Exchange Server 2010 environment
  Event 4999 is logged when the World Wide Web publishing service crashes after you install Exchange Server 2010 SP3
  Email messages that contain invalid control characters cannot be retrieved by an EWS-based application
  S/MIME option disappears when you use Outlook Web App in Internet Explorer 11 in an Exchange Server 2010 environment
( Email attachments are not visible in Outlook or other MAPI clients in an Exchange Server 2010 environment
  eDiscovery search fails if an on-premises Exchange Server 2010 mailbox has an Exchange Online archive mailbox
  Assistant stops processing new requests when Events in Queue value exceeds 500 in Exchange Server 2010
  S/MIME certificates with EKU Any Purpose (2.5.29.37.0) are not included in OAB in Exchange Server 2010
  Domain controller is overloaded after you change Active Directory configurations in Exchange Server 2010


For Exchange 2013 CU6, grab it
here, and the install order is the reverse of Exchange 2010, but internet-facing servers are still first:

1. Mailbox Servers
2. CAS Servers
3. Edge Servers

Here's a list of fixes in 2013 CU6:
  Duplicate mailbox folders after migration to Exchange Server 2013
  Hybrid Configuration wizard error "Subtask CheckPrereqs execution failed" for Exchange Server 2013
  EMS takes a long time to execute the first command in an Exchange Server 2013 Cumulative Update 5 environment
  RPC Client Access service crashes on an on-premises Mailbox server in an Exchange Server 2013 hybrid environment
  AutodiscoverSelfTestProbe fails when external URL is not set for EWS virtual directory in Exchange Server 2013
  AutodiscoverSelfTestProbe fails when external URL is not set for ECP virtual directory in Exchange Server 2013
  The ServerWideOffline component is set to Inactive after Exchange Server 2013 prerequisite check fails
  "532 5.3.2" NDR when you send an email message to a hidden mailbox in an Exchange Server 2013 environment
  Removed Default or Anonymous permission for Outlook folders cannot be restored in an Exchange Server 2013 environment
  "Topology service cannot find the OWA service" when you perform an eDiscovery search in Exchange Server 2013
 Mail-enabled public folder accepts email messages from unauthorized users in an Exchange Server 2013 environment
  OAB generation arbitration mailbox can be removed or disabled in an Exchange Server 2013 environment
  The Enter key submits duplicate sign-in forms to Outlook Web App in an Exchange Server 2013 environment
  You cannot access the archive mailbox of a delegated user after enabling MAPI over HTTP
  Incorrect voice mail message duration in an Exchange Server 2013 environment
  You cannot add attachments, delete or move many email messages in bulk in Outlook Web App
  MAPI/CDO client cannot connect to Exchange Server 2013
  You cannot disable journaling for protected voice mail in an Exchange Server 2013 environment
  Exchange Server 2010 public folder replication fails in an Exchange Server 2013 environment
  Calendar item body disappears in Outlook online mode in an Exchange Server 2013 environment
  OAB generation fails if FIPS is used in an Exchange Server 2013 environment
  Blank page after you sign in to Exchange Server 2013 EAC (formerly ECP)
  Folder Assistant rule does not work correctly in an Exchange Server 2013 environment
  EAS device cannot sync free/busy status if an item is created by EWS in an Exchange Server 2013 environment
  Message routing latency if IPv6 is enabled in Exchange Server 2013
  "Something went wrong" error in Outlook Web App may show an incorrect date
  Users cannot access mailboxes in OWA or EAS when mailbox database is removed

Saturday, August 23, 2014

Exchange 2010 Bulk Exporting Mailboxes to PST

This week I was working on a project to clean up a ton of inactive accounts/mailboxes in our Exchange organization that were just sitting there talking up gigs upon gigs of disk space. The problem was, there were over 400 of these accounts and management needed PSTs of the mailboxes for ongoing projects.
Luckily, PowerShell makes it fast and easy to export all these mailboxes in one shot.


First, create a CSV of aliases that you need to export, with "Alias" as the heading of the column and a filename of aliases.csv.

**Note** If you already have a list of display names, you can follow my
previous post to generate a new CSV with the aliases.

Then, copy the text below and save it as a .ps1 file (name it whatever you want to call it, preferably something like BulkPSTExport.ps1) and save it in your preferred location.

foreach ($mbx in (Import-Csv C:\aliases.csv)) {
New-MailboxExportRequest -Mailbox $mbx.Alias -FilePath "\\server\share_pst\$($mbx.Alias).pst"
}

**Note** Change the location of the aliases.csv file to where you saved it, and the \\server\share path to your fileserver location.

**Note** You cannot export PST's to a local drive on the Exchange server, it must be a remote location

Fire up the Exchange Management Shell (EMS) and cd to the location that you saved your new .ps1 file, and run:

.\BulkPSTExport.ps1

The PST exports will queue up and they'll then start creating PST's in the location you specified in your script. You can check the status of the exports, but with this many I would just want to see how many are completed. To do that just run:

Get-MailboxExportRequest | where {$_.status -eq "Completed"}

Exchange 2010 Getting a List of Aliases from a List of Display Names

This is a quick post on using PowerShell to export a list of user aliases from a list of display names. While working on a project to clean up a bunch (read: a ton) of inactive mailboxes, I exported a CSV list of mailboxes that were part of a particular OU. This list was for management to go over, so it had to be clear who the actual users were. In order to export these mailboxes to PSTs later, I needed the aliases. So, here's how to quickly get a CSV list of aliases from the original display name list.

Create a CSV with the list of Display Names and with "Name" as the column heading and save it to your desired location, such as C:\displaynames.csv

Then, fire up the Exchange Management Shell, and run:

Import-CSV C:\ExchangeCommands\displaynames.csv | ForEach {Get-Mailbox -Identity "$($_.Name)"} | Select Alias | Export-CSV C:\ExchangeCommands\aliases.csv

Now, you'll have a nice CSV list of aliases that you can import into a command to do what you need, like: bulk PST exports.

Wednesday, July 30, 2014

Exchange 2010 Converting User Mailboxes to Shared Mailboxes In Bulk

While doing an audit of mailboxes in our Exchange environment, I came across a ton of User Mailboxes (well over 100) that had Full Access rights assigned and each mailbox was being shared among several users. This probably occurred during the 2003-2010 migration a while back.
The problem with that is, a User Mailbox is associated with an enabled AD account, which can cause major security headaches. We need to convert those User Mailboxes to Shared Mailboxes (which has a disabled AD account), but we need to do it in bulk since there are a bunch.
A search around the internet only yields how to do a mass conversion in O365, but since this is Exchange on-premise, those won't work. Luckily, PowerShell makes it easy!

First, save a list of the aliases of the mailboxes that you're going to convert, into a .txt file.

Put that .txt file in your desired location like C:\ToBeConverted.txt

Then, fire up the Exchange Management Shell (EMS) and run:

Get-Content C:\ToBeConverted.txt | Set-Mailbox -Type Shared

Now, your "shared" User Mailboxes will all be actual Shared Mailboxes, and your security team will rest easy

Monday, July 21, 2014

Lync Error "Sharing Failed Due To Network Issues"

I recently had a user that was getting a "Sharing Failed Due To Network Issues. Please Try Again" error when they initiated or received a Desktop Sharing session with another user in a remote office. Sharing worked fine with users in other locations, which at first I thought was odd.

The full error from the Reporting Server was:

22; reason="Call failed to establish due to a media connectivity failure when both
endpoints are internal";
CallerMediaDebug="application-sharing:ICEWarn=0x220,LocalSite=Local IP:19781,LocalMR=Media Gateway IP:54566,RemoteSite=Remote Ip:29987,PortRange=1025:65000,LocalMRTCPPort=54566,LocalLocation=2,RemoteLocation=2,FederationType=0


**Note** The IP's have been removed for security of course.

The details for a Diagnostic ID 22 are:

Call failed to establish due to a media connectivity failure when both endpoints are internal

Description: 

The call failed to connect because a media path could not be established between the two internal endpoints. This can be caused by network performance issues affecting the endpoints. Correlation of such failures with individual networks or endpoints can indicate potential deployment issues.

This problem always points to a network configuration issue, whether it's a firewall, ports not being open, etc.
In our case, there was no route between the VPN's that the two users were connected through. So, we created a tunnel and presto; Sharing works!

Thursday, July 10, 2014

Exchange 2010 Bounced Email (Error 550 5.1.1 RESOLVER.ADR.ExRecipNotFound)

I've seen the "5.5.0 5.1.1" issue crop up in every Exchange environment I've worked on. The symptom is: a user tries to send a message to a recipient that has been migrated from a previous version of Exchange and they receive an NDR with the error: IMCEAEX-_O=EXCHANGEITUP_OU=EXCHANGE+20ADMINISTRATIVE+20GROUP+20+28FYDIBOHF23SPDLT+29_CN=RECIPIENTS_CN=TEST+20USER@exchangeitup.com
#550 5.1.1 RESOLVER.ADR.ExRecipNotFound; not found ##
.

Luckily there are a couple easy fixes that will take care of the problem.

On the client side

If there's just a few users who have this problem, you can have them empty their Outlook Auto-complete cache, which is housing the old/outdated email address.

To do this:

In Outlook, go to File > Options > Mail > scroll down to the Send Messages section and then click on the Empty Auto-Complete List button.

**Note** This will empty all Auto-complete entries so they will have to manually find contacts in the GAL, or type the email addresses to rebuild the list.

On the Exchange side

If you have tons of users with the problem, you can add an X500 address to the affected recipient's mailbox, which will allow those users to send even if they have the old/outdated address in their Auto-complete list.

To do this:

We'll need to translate the IMCEAEX error into an X500 address.

First, copy the IMCEAEX address so you get:
_O=EXCHANGEITUP_OU=EXCHANGE+20ADMINISTRATIVE+20GROUP+20+28FYDIBOHF23SPDLT+29_CN=RECIPIENTS_CN=TEST+20USER@EXCHANGEITUP.COM

In the EMC, open up the Properties on the recipient's mailbox, then go to the Email Addresses tab.

Click the Down Arrow next to the Add button, select Custom Address.

In the Email Address field, paste the IMCEAEX address and edit it, following this key:

_ is a /
+20 is a Space
+28 is a (
+29 is a )

The edited address will look like this:
/O=EXCHANGEITUP/OU=EXCHANGE ADMINISTRATIVE GROUP(FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=TEST USER

**Note** You'll need to change "/O=EXCHANGEITUP", "/OU=" and "CN=TEST USER" to reflect your environment, and be sure to remove "@DOMAIN.COM" from the end of the address as it's not needed.

In the Email Type field, type in X500.

Click OK.

You'll see the new X500 address listed in the Email Addresses list.

Now your users should be able to use Outlook Auto-complete to email the old address.

Friday, June 13, 2014

Exchange 2010 Fixing Slow Public Folders With Advanced TCP Settings

I've seen a problem with slow or unresponsive Public Folders tons of times, and just came across it again. A user goes to open the Public Folders list in Outlook and it takes forever to expand the list...if it doesn't error out first. While I think the best way to fix it is to scrap the Public Folders and move to SharePoint, a lot of organizations still heavily use PF's.

By running a few commands, we'll help cure your slow Public Folders...as a side benefit, it will also help mitigate random DAG failovers from spotty connectivity to the Witness Server.

You'll want to run these commands on your CAS/Hub Transport Server(s), Mailbox Server(s), and your DAG Witness Server, and no reboot is required.

Fire up an elevated command prompt and run:

netsh int tcp show global

This command will print out the default Advanced NIC settings:

TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State                     : enabled
Chimney Offload State                           : automatic
NetDMA State                                        : enabled
Direct Cache Acess (DCA)                    : disabled
Receive Window Auto-Tuning Level    : normal
Add-On Congestion Control Provider   : ctcp
ECN Capability                                      : disabled
RFC 1323 Timestamps                           : disabled


We're going to modify (disable) the settings for RSS (Receive-Side Scaling), Chimney Offload, and Receive Window Auto-Tune.

Run the following commands:

netsh interface tcp set global rss=disabled

netsh interface tcp set global chimney=disabled

netsh interface tcp set global autotuninglevel=disabled

After each command, you'll get an "Ok" message, which is telling you that the changes took effect.

Now to disable NetDMA, we'll need to edit the Registry:
Navigate to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters and edit the EnableTCPA entry.

**Note** If the entry doesn't exist, create a new DWORD named EnableTCPA.
Set the value for EnableTCPA to 0, which will disable it.

Now run the original command (netsh int tcp show global), to view the new settings:
 
TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State                     : disabled
Chimney Offload State                           : disabled
NetDMA State                                        : disabled
Direct Cache Acess (DCA)                    : disabled
Receive Window Auto-Tuning Level    : disabled
Add-On Congestion Control Provider    : ctcp
ECN Capability                                       : disabled
RFC 1323 Timestamps                           : disabled


Now your Public Folders should have little or no lag when opening and your DAG should suffer from fewer false failovers.

Thursday, June 5, 2014

Exchange 2010 SP3 RU6 and Exchange 2013 CU5 Have Been Released

MS has released Exchange 2010 SP3 RU6 and Exchange 2013 CU5 (27MAY14).

For Exchange 2010 SP3 RU6:

You can grab it here, and of course the normal order of install is the same:

1. CAS (with internet-facing first)
2. Hub Transport and Edge Servers
3. Mailbox servers
4. Unified Messaging servers

Here's a list of fixes in 2010 SP3 RU6:

       Organizer name and meeting status field can be changed by EAS clients in an Exchange Server 2010 environment
      "A folder with same name already exists" error when you rename an Outlook folder in an Exchange Server 2010 environment
       Event ID 2084 occurs and Exchange server loses connection to the domain controllers in an Exchange Server 2010 environment 
       Event ID 1000 and 7031 when users cannot connect to mailboxes in an Exchange Server 2010 environment
       Cannot move a mailbox after you install Exchange Server 2010 SP3 RU3 (KB2891587)
       EWS cannot identify the attachment in an Exchange Server 2010 environment 
       Retention policy is applied unexpectedly to a folder when Outlook rule moves a copy in Exchange Server 2010
       Get-Message cmdlet does not respect the defined write scope in Exchange Server 2010
       Folder views are not updated when you arrange by categories in Outlook after you apply Exchange Server 2010 Service Pack 3 Update Rollup 3 or Update Rollup 4
       Exchange RPC Client Access service freezes when you open an attached file in Outlook Online mode in Exchange Server 2010
      Cannot connect to Exchange Server 2010 when the RPC Client Access service crashes
      Store.exe crashes if you create a deeply nested subfolder in Outlook

For Exchange 2013 CU5, grab it here

Here's a list of fixes in 2013 CU5:

       Message routing latency if IPv6 is enabled in Exchange Server 2013
       Outlook Web App accessibility improvement for UI appearance in Exchange Server 2013
       You cannot sync contacts or tasks in Microsoft CRM client for Outlook in an Exchange Server 2013 environment
       CRM synchronization fails if the time zone name of a meeting is not set in an Exchange Server 2013 environment
       Slow performance in Outlook Web App when Lync is integrated with Exchange Server 2013
       "Some or all Identity references could not be translated" error when you manage DAG in Exchange Server 2013 SP1 in a disjoint namespace domain 
       IME is disabled in Outlook Web App when you press Tab to move the focus in an email message in Exchange Server 2013
       Exchange ActiveSync proxy does not work from Exchange Server 2013 to Exchange Server 2007
       EWS integration for Lync works incorrectly in an Exchange Server 2013 and 2007 coexistence environment
       Plain-text message body is cleared when writing in Outlook Web App by using Internet Explorer 8 in Exchange Server 2013
       Sender's email address is broken after importing a PST file into an Exchange Server 2013 mailbox
       Users always get the FBA page when they access OWA or ECP in Exchange Server 2013
       "SyncHealth\Hub" folder is created unexpectedly after installing Cumulative Update 2 for Exchange Server 2013
       Cannot open .tif files from email messages by using Windows-based applications in an Exchange Server 2013 environment
       Email messages in the Sent Items folder have the same PR_INTERNET_MESSAGE_ID property in an Exchange Server 2010 environment
       Default apps in Outlook Web App do not work if Exchange is installed in Window Server 2012 R2

Saturday, May 24, 2014

Exchange 2010 Database Issues Due to Back Pressure

I just came across a problem with Public Folder connectivity failing intermittently during production hours; sometimes it was a total dismount of the PF Database. The problem was due to Back Pressure, which is a server resource being overloaded refusing connections.
All kinds of wacky things can happen from Back Pressure, from DB dismounts to messages becoming stuck in the queues.

There are three degrees of back pressure:
- Normal – everything is humming along smoothly
- Medium – Moderately over-utilized; the server begins limiting some connection types. Usually only external mail flow will be rejected.
- High – Severely over-utilized; the server rejects any new connections.
In our case disk utilization was the culprit, because we were above the  default 25% threshold for disk space, which caused the server to drop the Public Folder database. The problem was further exacerbated by the fact that we had no more space to extend the volume any more :(

The resolution was to adjust the Back Pressure threshold, which in my opinion is a little too stringent in the first place, but (disclaimer) you should fix the underlying issue so it doesn't keep happening.

To adjust the thresholds, open: C:\Program Files\Microsoft\Exchange Server\V14\Bin\EdgeTransport.exe.config

**Note** If you installed Exchange in a different location, look in the "bin" folder of your install directory.

In the "EdgeTransport.exe.config" file, modify these values to suit your environment:

PercentageDatabaseDiskSpaceUsedHighThreshold (Default 0)
PercentageDatabaseDiskSpaceUsedMediumThreshold (Default 0)
PercentageDatabaseDiskSpaceUsedNormalThreshold (Default 0)

The formula for disk utilization is:

Free space percentage = (disk size – 500MB) / disk size

The results are expressed as a percentage of the total disk space that is being used. 
By default, the medium level of hard disk drive utilization is 2 percent less than the high level, the normal level is 4 percent less than the high level.
Thus, you need to adjust the thresholds listed above to the amount of disk space that you need for the database(s) to stop dismounted and/or rejecting messages.