Public Folder Hierarchy and Client Access

Ex2013 LogoWhen investigating performance issues of a multi-node, multi-role Exchange 2013 server deployment, I found the CPU utilization of a single Exchange 2013 server constantly above the load of the rest.

When checking the Processor Utilization % for all Exchange servers using Performance Monitor, the daily trend image looked like this:


As you can clearly see, one single server is constantly experiencing more load than the other servers. It is also above the 80% mark, causing all sorts of potential side-effects if Managed Availability would kick in.

When checking the processes on that server, the major CPU load was generated by the Microsoft.Exchange.RPCClientAccess.service as well as the related w3svc# process. The load balancer performed a near even distribution of client connections over these servers. You can use the Exchange Performance Health Checker script with the LoadBalancingReport switch to verify this.

Next, we checked if there was an overactive mailbox on that particular server. For that purpose, we ran the following cmdlet in the Exchange Management Shell, which showed us the Public Folder mailbox was very active:

Get-StoreUsageStatistics –Server <ExchangeServer> | ? {$_.DigestCategory –eq ‘timeInServer’} | Sort TimeOnServer –Descending


Note: More on tracking overactive mailboxes using Get-StoreUsageStatistics in this excellent write-up by Andrew HigginBotham.

Another clue was provided through the PublicFolders Healthset, which was picked up by System Center Operations Manager as well:

The PublicFolders Health Set has detected a problem with PublicFolderMailbox.ConnectionCount at 10-7-2016 06:12:22. 0 failures were found. The Health Manager is reporting that The total number of hierarchy connections for public folder mailbox PFMailbox1 has reached 2001. Consider creating a new public folder mailbox for load balancing hierarchy accesses.

Apparently, there were more than 2,000 connections being made to the PFMailbox1 Public Folder mailbox. This was odd, as there were multiple Public Folder mailboxes created with hierarchy. Users are expected to be automatically distributed over these mailboxes, falling within the 2,000 concurrent logons limit as mentioned here. Note that this limit applies to public folder mailboxes serving hierarchy as well; even if clients don’t access Public Folders, they still will connect to these Public Folder mailboxes in order to obtain hierarchy information.

Next thing we checked was to which default Public Folder mailbox mailboxes were configured to connect. To accomplish this we can inspect the mailbox property DefaultPublicFolderMailbox:

Get-Mailbox –ResultSize Unlimited | Group-Object DefaultPublicFolderMailbox –NoElement

Count Name
----- ----

Apparently all mailboxes were automatically set to connect to a single Public Folder mailbox. Then maybe something was preventing the other Public Folders from serving hierarchy:

Get-Mailbox –PublicFolder | Select Name,*Hierarchy*

Name       IsExcludedFromServingHierarchy IsHierarchyReady
----       ------------------------------ ----------------
PFMailbox1 False                          True
PFMailbox2 False                          False
PFMailbox3 False                          False
PFMailbox4 False                          False

IsExcludedFromServingHierarchy was False for all 4 servers, which indicates they are not blocked from serving hierarchy. However, the hierarchy was not ‘ready’ for 3 of them. This could be due to the hierarchy being out of date or not being created at all.

The output of (Get-PublicFolderMailboxDiagnostics PFMailbox2 -IncludeHierarchyInfo).SyncInfo indeed indicated there were problems synchronizing contents from the PFMailbox1 mailbox. We then ran the following cmdlet to trigger updating synchronizing the hierarchy again:

Update-PublicFolderMailbox –InvokeSynchronizer –Identity PFMailbox2


The Get-Mailbox –Identity PFMailbox2 –PublicFolder | Select Name,*Hierarchy* now showed IsHierarchyReady was True. We ran the same cmdlet for the other two Public Folder mailboxes as well.

After a while, we verified the effect on the assignment of DefaultPublicFolderMailbox on the mailboxes:

Get-Mailbox –ResultSize Unlimited | Group DefaultPublicFolderMailbox –NoElement

Count Name
----- ----

Public folder assignments were now (more or less) equally distributed over the 4 Public Folder mailboxes, and life was good.

We also verified Public Folder access distribution by querying the Exchange RpcClientAccess log files. An excellent tool to aid in this task is LogParser with LogParser Studio. We configured LogParser Studio to query log files at ‘<Installation folder>\Logging\RPC Client Access’ on the Exchange servers. The query used, grouped all entries per date, operation (in this case we are only interested in PublicLogon), and part of the field ‘operation-specific’; more exactly, the legacyDN part which tells which (Public Folder) mailbox was accessed:

SELECT EXTRACT_PREFIX([#Fields: date-time], 0, ‘T’) As Date, Count (*) as Total, [Operation],
EXTRACT_PREFIX(EXTRACT_SUFFIX([operation-specific], 0, ‘cn=’), 0, ‘ in database ‘) as PFMailbox
WHERE [operation]=’PublicLogon’
AND [failures] IS NULL
GROUP BY Date, [Operation], PFMailbox

The output showed all Public Folder mailboxes were now accessed by clients, and logons to the Public Folder mailboxes were now (more or less) equally distributed:


The UC Architects Podcast Ep58

iTunes-Podcast-logo[1]Episode 58 of The UC Architects podcast is now available. This episode is hosted by Pat Richard, who is joined by Steve Goodman, John Cook and Tom Arbuthnot. Editing was done by Andrew Price.

Topics discussed in this episode are:

  • Microsoft Press Lets Editorial Staff Go
  • Microsoft acquires LinkedIn
  • Using the Office 365 Hybrid Configuration Wizard (Six part series)
  • HCW Improvement: The Minimal Hybrid Configuration option
  • Preview of Certificate-Based Authentication (CBA) for Exchange Online
  • FindTime for Outlook – Doodle for Business
  • Virtual academies, odd questions, and MCSE recertification
  • Microsoft Launches New Office 365 Network Online Community; 88,000-User Yammer Network to Close
  • Centralised Skype for Business Event Log Viewer
  • Lync, OCS, Skype for Business Persistent Chat requires port 8011. Missing from Documentation
  • Call Flow Manager 1.3
  • Best Practice Upgrade to Skype for Business 2015 SBA
  • Configure Toll-free Numbers for Dial-In Conferencing in Office365 (NextHop!)
  • Device Updates with Skype for Business Online
  • Skype for Business Mac Preview adds contacts, presence and IM
  • Microsoft announces Skype Meetings, a new free group collaboration tool
  • Offline IM is now in Skype4B CU3
  • Skype for Business June 2016 CU (3) gives video based Screensharing
  • New “Busy Options” Be sure to run Update-CsAdminRole after installing
  • June 7, 2016, update for Skype for Business 2016 (KB3115087)
  • Skype for Business EdgeInternal Certificate Automatic Renewal sample
  • Skype for Business 2015 Resource Kit tools released
  • bounSky 2015
  • Office Online Server now available
  • Skype for Business App SDK preview is now available for download
  • Skype for Business Hybrid Handbook, Version 2.0 (Josh Blalock)
  • Polycom VVX Alternate Ringtone Bundle (Unofficial)
  • Microsoft Ignite
  • UC Day UK (Oct24)
  • UC Birmingham User Group (Aug 9-10)
  • Unity Connect (Nov16-18)

You can download the podcast here or you can subscribe to the podcasts using iTunes, Zune or use the RSS feed.

The UC Architects is a community podcast by people with a passion for Unified Communications; our main focus is on Exchange, Skype for Business or related subjects.

Exchange Server Role Requirements Calculator 7.9

Exchange 2010 Mailbox Role Sizing Calculator 16.4The Exchange team published an update for the Exchange Server Role Requirements Calculator, the tool to aid you in properly sizing your Exchange Server 2013 or Exchange Server 2016 deployment. The new version number is 7.9, and it contains mainly bug fixes.

Functionality changes and bug fixes since version 7.8:

  • Added support for 1.8TB disk capacity
  • Added color formatting for when memory exceeds the maximum recommended value
  • Fixed calcNumDBCopyInSDC formula to take into account proper number of lagged copies
  • Fixed calcActDBPDCWorst formula to take into account non-HA deployments
  • Fixed an issue where ReplayLagManager calculated field did not take into account the user disabling JBOD
  • Fixed version mismatch and added Add-PartitionAccessPath in Diskpart.ps1 script
  • Fixed issue with export CreateDAG.ps1 script where it defined Alternate Witness in single datacenter deployments
  • Fixed diskpart.ps1 script to sleep 10s after creating partition but prior to formatting to minimize error condition
  • Fixed RetainDeletedItemsUntilBackup to be set to $false for NDP deployments

You can download the calculator here. For more information, please consult the list of changes here or Read Me here.

The UC Architects Podcast Ep57

iTunes-Podcast-logo[1]Episode 57 of The UC Architects podcast is now available. This episode is hosted by Pat Richard, who is joined by Steve Goodman and Tom Arbuthnot. Editing was done by Andrew Price.

Topics discussed in this episode are:

  • Microsoft is rolling back the mailbox anchoring change for remote PowerShell that was introduced in 2013 CU11
  • Exchange 2013 and 2016 Exmon tool is now available
  • A friendly reminder that WMF (PowerShell) 5.0 is currently not supported with any version of #MSExchange
  • Exchange says no to .NET Framework 4.6.1
  • Hybrid Shared Mailbox access is now supported
  • Announcing the new Office 365 admin center
  • Office 365 Reporting web service and Windows PowerShell cmdlets
  • Office 365 Hybrid Configuration wizard for Exchange 2010
  • Bulk provisioning Office 365 licenses and services script
  • Mitel Networks (MITL) to Acquire Polycom (PLCM) in ~$1.96B Deal
  • Lync 2010 transitioning from mainstream to extended support
  • Skype for Business Cloud Connector Edition Released
  • Thomas Poet’s Office Cloud Connector Edition
  • Cloud Connector Edition Skype for Business Online Planning and Migration Guide
  • Microsofts Free StatsMan Released for Skype for Business and Lync
  • Configure OAuth between Skype for Business Server and Exchange Online
  • Microsoft’s Skype now works without plug-ins with Windows 10’s Edge browser
  • Skype for Business Hybrid–Additional Office 365 Domain
  • Announcing content viewing for Skype for Business on Android and updates to iOS
  • Skype for Business SDN Interface 2.4 Released with PowerShell Provisioning
  • Skype for Business Client Update Video Webcast: Announce Offline Messaging!
  • Skype for Business Server 2015, Capacity Calculator
  • CMS Changes in Skype for Business 2015
  • Quick Tip: SLA Errors – Just Ignore Them
  • Technical diagrams for Skype for Business Server 2015
  • Microsoft to eliminate Skype Managed Accounts feature by March’s end (Regular Skype, not Skype4B)
  • Displaying Network and Building Information in Call Quality Dashboard (CQD) Online
  • Lync 2013 Client Update Feb 2016 (KB3114732) 15.0.4797.1000.
  • Lync Server 2013 CU
  • Skype for Business Server 2015 CU2 (March)
  • Pat’s Get-CsUpdateVersion script
  • .NET Framework 4.6.1 and Skype for Business/Lync Server Compatibility
  • StatusKey for Skype for Business
  • Lync 2013 / Skype for Business Call Pickup Group Manager Version 2
  • UC Birmingham User Group  (5/11)
  • UC Day mailing list for more information about a dedicated UC and cloud conference happening on 24th October in the UK
  • IPExpoManchester (5/19)

You can download the podcast here or you can subscribe to the podcasts using iTunes, Zune or use the RSS feed.

The UC Architects is a community podcast by people with a passion for Unified Communications; our main focus is on Exchange, Skype for Business or related subjects.

Exchange 2016 & Office Online Server

pptxiconUpdate (May 9th): Office Online Server is now also available through MSDN here.

Update (May 4th): Office Online Server became available today. OOS is available on VLSC, language packs are on MSDN as well (perhaps a clue OOS will be available later on MSDN as well). Document modification option comes with additional licensing requirements, consult the release article for more information.

On April 26th, I gave a session on Exchange 2016 and Office Online Server – or OOS. Creating the session contents proved to hold some challenges. After agreeing on the session around the January timeframe, when OOS was still in Technical Preview, OOS got pulled a few weeks ago without notice. It was expected it would become Generally Available (GA) shortly after the release of SharePoint 2016, but that didn’t happen. To make matters more interesting, OOS was moved to Volume Licensing Service Center only, where its predecessor was freely available on the Microsoft download center. Currently, the status of OOS is that it is GA, and available on the VLSC site. The session and demo were based on the Technical Preview.

Back to the event, which was hosted by the always friendly and hospitable people from the Belgian E-Communications Community. At the office of Microsoft in Zaventem, Belgium, sessions were presented by 8 Microsoft MVP’s, Microsoft and sponsors, divided in 2 tracks: one Exchange-oriented track, and one track with Skype for Business related topics. Around a total of 60 people turned up in person for the event, and sessions were also  streamed live through Skype Meeting Broadcast. Excellent usage of available technology.

(picture by Michael van Horenbeeck)

After the opening keynote, Tony Redmond kicked off talking about Office 365 Groups, followed by fellow countryman Dave Stork talking about using Tools to deploy and manage Exchange. After the break, it was time for my session on Exchange 2016 and Office Online Server. Unfortunately, in the category 1st world problems, lack of an HDMI connector – required for presenting as well as streaming – on my laptop prevented me from doing the demo, and the remaining time was filled by a improvised Ask the Experts session on Exchange and Office 365, in which I was joined by the other Dutch MVP’s present. After that, Michael van Horenbeeck talked in his session about Advanced Identity & Authentication scenarios for Office 365. Jaap Wesselius closed the Exchange track with a session on the Do’s and Don’ts when using Exchange 2010 for Hybrid deployments.

The links above lead to the session recordings; a complete session overview including links to the recordings for the Skype for Business related sessions can be found here. My slidedeck – with caps of the demo – can be downloaded here. A page with links to all the slidedecks and recordings can be found here.

iOS 9.3 fixes Multiple Response issue

iPhone 6 iOSUpdate 5/31/16: The glitch has been addressed in iOS 9.3.1.

Note: Be advised that iOS 9.3 contains a glitch which might prevent users from opening links from applications like Safari or other browsers, Mail or Outlook. The glitch causes the link not to work or the app to hang. Apple is aware of the issue and a fix is in the works. It is reported that, as a temporary workaround, disabling Javascript support in Settings > Safari > Advanced makes links work again in Safari.

Apple released iOS 9.3 today, which contains lots of enhancements and fixes. One of these fixes solves an issue with the Calendar app (for those still not using the Outlook app), where it would send multiple responses for an invite.

The release notes of iOS 9.3 mention:

Resolves an issue for some Exchange users that caused Calendar to send multiple responses to the same invitation

The fix supposedly solves issue 1.15 from the “Current issues with Exchange ActiveSync and 3rd-party device” overview (KB2563324), “Meeting organizer receives multiple responses from attendee. The related KB article, KB3108212, also contains instructions on how to identify users experiencing this problem. Note that the problem has also been addressed server-side in Cumulative Update 1 for Exchange 2016.

It’s almost a law that, for every bug that is fixed, new ones are introduced. So, some organizations may therefor want to test and accept this iOS update before giving it the green light for their Exchange environment. To block a specific version of iOS from Exchange, consult the instructions here.

Exchange Updates – March 2016

Ex2013 LogoToday, the Exchange Team released one big wave of Exchange updates for Exchange 2016 down to Exchange 2007.

Changes in contained in these updates:

  • Exchange 2016 CU1 is an uncompressed ISO file. If bandwidth is scarce where you will be deploying, be sure to download this 6GB file upfront.
  • Mailbox Anchoring, introduced with the previous CU for Exchange 2013 and Exchange 2016, is reverted.
  • Exchange 2010 supports stand-alone Exchange 2010 Hybrid wizard.
  • All updates will introduce updated OWA/Ootw S/MIME control.

For a list of fixes in these updates, see below.

Exchange 2016 Cumulative Update 1 15.1.396.30 KB3134844 Download UML
Exchange 2013 Cumulative Update 12 KB3108023 Download UML
Exchange 2010 Service Pack 3 Rollup 13 KB3141339 Download
Exchange 2007 Service Pack 3 Rollup 19 8.3.459.0 KB3141352 Download

Exchange 2016 CU1 fixes:

  • KB 3139730 Edge Transport service crashes when you view the properties of a poison message in Exchange Server 2016
  • KB 3135689 A custom SAP ODI URI is removed by ActiveSync from an email message in an Exchange Server environment
  • KB 3135688 Preserves the web.config file for Outlook Web App when you apply a cumulative update in Exchange Server 2016
  • KB 3135601 Cyrillic characters are displayed as question marks when you run the “Export-PublicFolderStatistics.ps1” script in an Exchange Server 2016 environment
  • KB 3124242 Mailbox quota is not validated during migration to Exchange Server 2013 or Exchange Server 2016

Exchange 2013 CU12 fixes:

  • KB 3143710 “Failed Search or Export” error occurs when an eDiscovery search in the Exchange Admin Center finishes
  • KB 3138644 Messages are stuck in the Submission queue until NDRs are returned or the server is restarted
  • KB 3137585 OAuth authentication fails in a proxy scenario between Exchange Server 2013 hybrid on-premises and Office 365
  • KB 3137581 An eDiscovery search of all mailboxes or some Distribution Groups fails when you use the Exchange Administration Center
  • KB 3137390 “DeviceId cannot contain hyphens” warning occurs when you use the Exchange Management Shell or the Exchange Administration Center to remove the associations in Exchange Server
  • KB 3137384 Error occurs when you remove an ActiveSync device in the Exchange Management Shell or from the Exchange Administration Center
  • KB 3137383 CafeLocalProbe fails if the Health Mailbox UPN doesn’t match its Active Directory domain name
  • KB 3137380 Both read receipts and Non-read receipts are generated when an email is read through IMAP or POP in Exchange Server 2013
  • KB 3137377 MSExchange FrontEnd Transport service crashes when email messages are processed that contain a null “X-OriginatorOrg” message header
  • KB 3136694 Calendar items are not synced correctly when you use Exchange ActiveSync on a mobile device
  • KB 3136404 Searching by Furigana in Outlook’s address book is unsuccessful in an Exchange Server 2013 environment
  • KB 3135689 A custom SAP ODI URI is removed by ActiveSync from an email message in an Exchange Server environment
  • KB 3135334 Cannot set Title in Exchange Admin Center (ECP) if it contains more than 64 characters
  • KB 3135269 Event ID 4999 with MSExchangerepl.exe and MSExchangeDagMgmt.exe crash in Exchange Server 2013 environment
  • KB 3135018 Cannot remove devices when the DeviceType property includes a forward slash
  • KB 3134952 EdgeTransport.exe crashes when you view details of messages in the poison message queue
  • KB 3134918 An IRM-protected message sent to an external contact isn’t returned in a search or discovery results when journaling is implemented in an Exchange Server 2013 environment
  • KB 3134894 The “Search-Mailbox” cmdlet together with the “Attachment” property keyword lists all items that contain the query string of “attachment”
  • KB 3128706 HttpProxy overloads a downlevel Client Access Server in an Exchange Server 2013 co-existence environment
  • KB 3124248 Managed Availability responders fail because of invalid WindowsService names in an Exchange Server 2013 environment
  • KB 3124242 Mailbox quota is not validated during migration to Exchange Server 2013 or Exchange Server 2016
  • KB 3124064 Event ID 1009 is logged and no Health Manager alerts on failed content indexes during migration in Exchange Server 2013
  • KB 3118902 Resource Booking Assistant doesn’t update the subject of a recurring meeting in Exchange Server 2013
  • KB 3109539 Exchange Management Shell doesn’t return the correct number of Exchange Server 2013 Enterprise CALs license
  • KB 3108415 Logon for POP3 client disconnects randomly in an Exchange Server 2013 environment
  • KB 3106236 The “Export-PublicFolderStatistics.ps1” cmdlet exports Russian (Cyrillic) characters as question marks
  • KB 3098561 “Error executing child request for /owa/auth/errorFE.aspx” when you browse to /ECP in Exchange Server 2013


  • Exchange 2016 CU1 includes schema changes, and Exchange 2013 CU12 may introduce RBAC changes in your environment. When applicable, make sure you run PrepareSchema /PrepareAD before deploying. To verify this step has been performed, consult the Exchange schema overview.
  • If you have deployed KB3097966 on your Exchange server running on Windows Server 2012 R2, you may want to manually recompile the .NET assemblies before upgrading Exchange to significantly speed up the process. To accomplish this, run the following on every Exchange server on Windows Server 2012 R2:
    “%windir%\Microsoft.NET\Framework64\v4.0.30319\ngen.exe update”
    Don’t get upset by the messy output and any error messages; if the result of this command shown in the output is ‘0’ you’re good to go.
  • Be advised .NET Framework 4.6.1 is still not supported; make sure you don’t install this .NET update on your Exchange servers.
  • The Windows Management Framework (WMF)/ PowerShell version 5 is not supported. Don’t install this on your Exchange servers.
  • When using Exchange hybrid deployments or Exchange Online Archiving (EOA), you are required to stay current.
  • If you want to speed up the update process for systems without internet access, you can follow the procedure described here to disable publisher’s certificate revocation checking.
  • Cumulative Updates can be installed directly, i.e. no need to install RTM prior to installing Cumulative Updates.
  • Once installed, you can’t uninstall a Cumulative Update nor any of the installed Exchange server roles.
  • The order of upgrading servers with Cumulative Updates is irrelevant.
  • Rollups are cumulative per service pack level, meaning you can apply the latest Rollup for Service Pack X to a Service Pack X installation.

Finally, as always for any Hotfix, Rollup, Service Pack or Cumulative Update, I’d recommend to thoroughly test this in a test and acceptance environment first, prior to implementing it in production. When you lack such facilities, hold out a week or two and monitor the comments on the original article or TechNet forum for any issues.


The UC Architects Podcast Ep56

iTunes-Podcast-logo[1]Episode 56 of The UC Architects podcast is now available. This episode is hosted by Pat Richard, who is joined by John Cook and Tom Arbuthnot. Editing was done by Andrew Price.

Some of the topics discussed in this episode are:

  • Exchange Unified Messaging Voicemails not being received in mailbox
  • VMWare vSphere Exchange 2016 Best Practices Guide
  • Cloud PBX / E5 Dec Launch
  • Wildcard certs and Lync/SfB
  • Nexthop is back
  • RT100 dead
  • Developing for Skype for Business in 30 days
  • Group Call Pickup can be configured via PowerShell instead of SEFAUtil
  • Add Skype Consumer or Skype for Business Server Audio Test Service Bot to a Cloud PBX User
  • Exchange UM Toll Fraud Risk, Don’t Weaken Your PIN Settings
  • Understanding Skype for Business Server and Online PSTN Conference ID Configuration
  • HDX RealTime Optimization Pack 2.0 for Skype for Business on Citrix XenApp and
  • XenDesktop VDI
  • UCBug 10 Feb
  • Microsoft UC User Group London 3rd March Polycom EEC London
  • UCExpo London, 19th – 20th April
  • Cloud PBX
  • Unified Communications Day 2016 – October 24th

You can download the podcast here or you can subscribe to the podcasts using iTunes, Zune or use the RSS feed.

The UC Architects is a community podcast by people with a passion for Unified Communications; our main focus is on Exchange, Skype for Business or related subjects.

HTTP Proxy TargetBackEnd limits

powershellLast Update: February 4th, 2016

When deploying Exchange 2013 or Exchange 2016 in co-existence with a legacy version of Exchange, there comes a point where all traffic is routed through Exchange 2013/2016. Traffic for mailboxes hosted on legacy Exchange versions will be proxied by Exchange 2013/2016 to the back end.

This proxy process has some built-in limits for certain protocols, which you could encounter. Symptoms of these limits are Event 2022’s being logged in the Application log by the MSExchange Front End HTTP Proxy service:


Per Exchange 2013 CU7, this message should be considered a notice, despite the confusing event description. No connections are being blocked. However, the events create noise in your logs, which can be prevented by raising these limits. To accomplish this, you need to dive in to the web.config of the applicable HTTP Proxy protocols:

  • $ExInstall\FrontEnd\HttpProxy\sync\web.config (for ActiveSync, EAS)
  • $ExInstall\FrontEnd\HttpProxy\rpc\web.config (for OA, RPC/http)

In those files, create or adjust the entry in the <appsettings> configuration node, where <value> is the limit you want to configure (default is 150):

<add key=”HttpProxy.ConcurrencyGuards.TargetBackendLimit” value=”<value>” />

After adjusting these values, recycle the relevant application pools, e.g. MSExchangeSyncAppPool and MSExchangeRPCProxyAppPool.

The above steps need to be performed on all Exchange 2013/2016 Client Access Servers.

To automate this process of tedious editing in web.config files, I have created a small script which lets you alter these values for EAS and RPC against the local server or remotely. The script, Configure-HTTPProxyTargetBackEnd.ps1, has the following parameters:

  • Server to specify server to configure. When omitted, will configure local server.
  • AllServers to process all discoverable Exchange Client Access servers
  • TargetBackEnd specifies Target Backend limit (default 150).
  • NoRecycle to prevent recycling the MSExchangeSyncAppPool and MSExchangeRPCProxyAppPool

For example, to configure the local server with a limit of 2000 for Exchange Active-Sync and RPC access, use:

.\Configure-HTTPProxyTargetBackEnd.ps1 -TargetBackEnd 2000


Note that the script will create a backup copy of the web.config files before editing, using the current timestamp.

You can download the script from the TechNet Gallery here.

Feedback is welcomed through the comments. If you got scripting suggestions or questions, do not hesitate using the contact form.

See TechNet Gallery page.

Outlook for iOS adds Contacts support

imageA short notice on an update received today for Outlook for iOS 2.09. This update adds the much requested feature of integrating Outlook for iOS with the (native) Contacts in iOS:

“Your Office 365 and Exchange Contacts can now be saved to the iOS Contacts app. This will allow you to easily see the name of a contact when you receive a call or text message from them. Head to your Advanced Settings to turn on this feature.”

This does away with the requirement of resorting to setups like having the iOS Mail app sync with your Office 365 or Exchange On-Premises account, just to sync those contacts with your device. To disable syncing contacts through the Mail app, go to Settings > Mail, Contacts, Calendars and click the account you wish to disable syncing contacts for. Then, disable syncing its Contacts by toggling its switch:


You will get a warning contacts synced through this contact will be removed from Contacts, but since we are going to use Outlook for this, you can proceed.

Next, open up the updated new Outlook app, and go to Settings. Click the account from which you want to sync contacts to your device, and select Advanced Settings. In there, you will find a new switch, Save Contacts to Device. Behind it is the number of contacts available on this account:


Toggle the switch to start syncing contacts directly from your Office 365 or Exchange On-Premises account to Contacts, giving the Outlook app permissions to access your Contacts when requested. After this, you’re ready to go.

Note that all synced contacts will contain a line in the Notes field, stating:

Exported from Microsoft Outlook (Do not delete) [outlook:..:..]

This is to indicate this is a synced contact, and you must not edit or remove it using the device, rather remove it from the originating source as it might get recreated or overwritten during synchronization.

Finally, the sync is one-way, so although you can edit properties on your phone through the Contacts app, they won’t be synced back to the originating source. Also, when editing properties through Contacts, those edits are not propagated to the People view in the Outlook app, as those are the contacts from your Office 365 / Exchange On-Premises accounts. This can be confusing, but having to set up an e-mail account just once with a one-way sync seems more efficient and less confusing to me than having to configure the Mail app only to get your contacts on your phone.