<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Dave's ramblings on Exchange and other stuff</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/davmcg/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/davmcg/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:25:22 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Cross Forest Availability: What’s Trust(s) Got To Do With It?</title>
      <link>https://docs.microsoft.com/archive/blogs/davmcg/cross-forest-availability-whats-trusts-got-to-do-with-it</link>
      <pubDate>Tue, 24 Sep 2013 19:25:22 GMT</pubDate>
      <dc:creator><![CDATA[Davide McGarr [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/davmcg/2013/09/24/cross-forest-availability-whats-trusts-got-to-do-with-it/</guid>
      <description><![CDATA[Recently I was dispatched on an engagement to a customer running Exchange Server 2010 where they...]]></description>
      <content:encoded><![CDATA[<p>Recently I was dispatched on an engagement to a customer running Exchange Server 2010 where they were having a hard time implementing Cross-Forest Availability (refered to as CFA in this article) between themselves and another organization they had acquired. The customer had already gone through the process of replicating contacts between the orgs using Identity Management software, so we were just left with figuring out the Exchange portion.</p>  <p>Looking back to our “<a href="https://technet.microsoft.com/en-us/library/bb125182(v=exchg.141).aspx">Configure the Availability Service for Cross-Forest Topologies</a>”, the setup of Cross Forest Availability only has a few moving parts.</p>  <p>The first is to make sure that AutoDiscover is working properly as AutoDiscover is used to lookup where to send the availability requests for the user during a free/busy lookup.</p>  <p>Next in the list is to decide how you want to share free busy and whether or not you want to setup a Trust between forests. You can setup Cross Forest Availability in an untrusted environment, but this customer had chosen to set up a Trust between the two forests.</p>  <p>The customer I was visiting had setup two trusts between the Forests. The first was a two-way, Transitive Forest Trust and the other was a two-way External Trust.</p>  <p>The next item would be to add an AD Permission to each CAS to setup token serialization that will be used so that the CAS can pass credentials back and forth during lookups – that’s done with this command:</p>  <table cellspacing="0" cellpadding="2" width="586" border="1"><tbody>     <tr>       <td valign="top" width="584">Get-ClientAccessServer | Add-ADPermission -Accessrights Extendedright -Extendedrights &quot;ms-Exch-EPI-Token-Serialization&quot; -User &quot;&lt;Remote Forest Domain&gt;\Client Access servers&quot;          <br />          <br />A note here is that there is not a “Client Access Servers” group by default. You can either create a group and add the Client Access Servers into a new Security Group and use that, or you can use the “Exchange Servers” group as is. You do not need, and should not, remove any of the other servers out of the “Exchange Servers” group to make this functional.</td>     </tr>   </tbody></table>  <p>Our final task is to create an availability address space. This is a simple Exchange Management Shell one-liner to tell the client access servers to go get availability for anyone with that specific email address via https at the location specified in the command. To create the Availability Address Space, use the command below.</p>  <table cellspacing="0" cellpadding="2" width="587" border="1"><tbody>     <tr>       <td valign="top" width="585">Add-AvailabilityAddressSpace -Forestname &lt;Target_Forest&gt; -AccessMethod PerUserFB -UseServiceAccount:$true</td>     </tr>   </tbody></table>  <p>The customer I was at had already had all of this in place. They had created their Trusts, they had granted the AD Permission, and they had created the Availability Address Space as well as creating contact entries in their forest for the users in the target forest. No dice on the availability.</p>  <p>Troubleshooting steps included verifying all of the items in place, and we found there were several trusts in place. As mentioned earlier, there was a 2-way Forest Trust and an External Trust. During this engagement, I came to find out that an external trust will not work with Cross Forest Availability. Based on how other AD related features work, my explanation is that the External Trust will be used first since it’s technically a lower level, or more restrictive. When Exchange goes to communicate via the trust and pass credentials, it will pass those credentials via the Trust and if an External Trust is in place, it will try to use the External Trust, and will then fail miserably. This was validated via turning up diagnostic logging on MSExchange Availability to Expert level. During the availability request when the External Trust was in place, below is the error that was recorded.</p>  <table cellspacing="0" cellpadding="2" width="589" border="1"><tbody>     <tr>       <td valign="top" width="587">         <p>Log Name:&#160;&#160;&#160;&#160;&#160; Application            <br />Source:&#160;&#160;&#160;&#160;&#160;&#160;&#160; MSExchange Availability             <br />Date:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 7/24/2013 10:51:31 AM             <br />Event ID:&#160;&#160;&#160;&#160;&#160; 4002             <br />Task Category: Availability Service             <br />Level:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Error             <br />Keywords:&#160;&#160;&#160;&#160;&#160; Classic             <br />User:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; N/A             <br />Computer:&#160;&#160;&#160;&#160;&#160; SERVER01.domain.company.org</p>          <p>Description:</p>          <p>Process 7608[w3wp.exe:/LM/W3SVC/1/ROOT/owa-1-130181594999947019]: Proxy request CrossForest from Requester:S-1-5-21-3283536547-2396439389-1474086371-392179 to <a href="https://owa.company-2.org/ews/exchange.asmx">https://owa.company-2.org/ews/exchange.asmx</a> failed. Caller SIDs: S-1-5-21-3283536547-2396439389-1474086371-392179. The exception returned is Microsoft.Exchange.InfoWorker.Common.Availability.ProxyWebRequestProcessingException: System.Web.Services.Protocols.SoapException: <strong><font color="#ff0000">The authenticated user doesn't have sufficient privileges to issue this request.</font></strong>             <br />&#160;&#160; at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)             <br />&#160;&#160; at System.Web.Services.Protocols.SoapHttpClientProtocol.EndInvoke(IAsyncResult asyncResult)             <br />&#160;&#160; at Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.Service.EndGetUserAvailability(IAsyncResult asyncResult)             <br />&#160;&#160; at Microsoft.Exchange.InfoWorker.Common.Availability.ProxyWebRequest.CompleteRequest(). The request information is ProxyWebRequest type = CrossForest, url = <a href="https://owa.company-2.org/ews/exchange.asmx">https://owa.company-2.org/ews/exchange.asmx</a></p>          <p>Mailbox list = &lt;Test User&gt;SMTP:testuser@company-2.org, Parameters: windowStart = 6/30/2013 12:00:00 AM, windowEnd = 8/11/2013 12:00:00 AM, MergedFBInterval = 30, RequestedView = MergedOnly</p>          <p>.. Make sure that Active Directory site/forest containing the user mailbox has at least one local Exchange 2007 server running Exchange Availability service. Turn up logging for MSExchange Availability service and test basic network connectivity.</p>       </td>     </tr>   </tbody></table>  <p>Once we removed the external trust that was in place, the availability service started working as expected and the customer was receiving availability information from the remote forest just fine at that point.</p>  <p>So, the moral of the story here is to never, ever, ever (like, ever!) use External Trusts while working with Cross Forest Availability.</p>  <p>Special thanks to the following folks to assistance in understanding various pieces of information to write this:    <br />Rob McGinnis, Jeff Dykstra, Bill Ziemer, Chad Solarz, and Dan Smith</p>]]></content:encoded>
    </item>
    <item>
      <title>Exchange Server 2010 and Antivirus exclusions</title>
      <link>https://docs.microsoft.com/archive/blogs/davmcg/exchange-server-2010-and-antivirus-exclusions</link>
      <pubDate>Sat, 04 Feb 2012 06:57:43 GMT</pubDate>
      <dc:creator><![CDATA[Davide McGarr [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/davmcg/2012/02/04/exchange-server-2010-and-antivirus-exclusions/</guid>
      <description><![CDATA[By now, everyone is painfully aware of the problems you can have without setting proper Antivirus...]]></description>
      <content:encoded><![CDATA[<p>   <br />By now, everyone is painfully aware of the problems you can have without setting proper Antivirus exclusions for an Exchange server.&#160; Thankfully, antivirus (and Exchange Server) products have come a long ways since the days of when I had a shirt that said “<a href="https://support.microsoft.com/kb/298924">Friends don’t let friends scan the M: drive</a>”, but excluding the files, file types, and processes are still necessary.</p>  <p>I recently performed an engagement for a customer where we stood up an Exchange Server 2010 server in a lab environment and installed <a href="https://www.microsoft.com/en-us/server-cloud/forefront/endpoint-protection.aspx">Forefront Endpoint Protection 2010</a> on the server.&#160; After installing FEP, we then needed to configured the antivirus exclusions per TechNet guidance.&#160; In doing so, it was a little tedious as the TechNet guidance is great at listing each exclusion necessary, but not great at listing them in an easy way that can be cut and paste.</p>  <p>For current versions of Microsoft Exchange server, you can find the proper antivirus exclusions at these locations on TechNet:</p>  <p><a href="https://support.microsoft.com/default.aspx?scid=kb;en-us;823166">Exchange Server 2003</a></p>  <p><a href="https://technet.microsoft.com/en-us/library/bb332342(EXCHG.80).aspx">Exchange Server 2007</a></p>  <p><a href="https://technet.microsoft.com/en-us/library/bb332342.aspx">Exchange Server 2010</a></p>  <p>While having these links is AWESOME for helping engineers to configure the product, it’s a little time consuming to go through and setup these exclusions as they are listed from the TechNet articles.&#160; The intention of this blog is to make life easier for the administrator configuring antivirus exclusions for Exchange Server, so what I have done below is take the Antivirus exclusions for Exchange Server 2010 and put them into a friendly manner for cut and paste.</p>  <p>One quick note about the exclusions is that I have also included the processes and executables as well.&#160; I can’t stress how important it is to exclude the processes when setting up your antivirus exclusions for Exchange.&#160; If you have not done so, or do not plan to exclude Exchange related processes, I would ask that you reconsider as it is extremely beneficial for the health of the system.&#160; You do not want file system antivirus to scan in memory processes because it can and will quarantine certain items.</p>  <p>I am not going to list any file paths below because the various TechNet articles above list those file paths very well, and also provide a means to discover those file paths easily via the Exchange Management Shell / PowerShell or other means.&#160; <strong>Do not overlook adding the file paths to your list of exclusions!</strong>&#160; I am only going to list the individual files and extensions below in the cut and paste friendly manner for those running Exchange Server 2010.</p>  <h4>Processes to be Excluded:</h4>  <p>Cdb.exe    <br />Microsoft.Exchange.Search.Exsearch.exe     <br />Cidaemon.exe     <br />Microsoft.Exchange.Servicehost.exe     <br />Clussvc.exe     <br />MSExchangeADTopologyService.exe     <br />Dsamain.exe     <br />MSExchangeFDS.exe     <br />EdgeCredentialSvc.exe     <br />MSExchangeMailboxAssistants.exe     <br />EdgeTransport.exe     <br />MSExchangeMailboxReplication.exe     <br />ExFBA.exe     <br />MSExchangeMailSubmission.exe     <br />GalGrammarGenerator.exe     <br />MSExchangeRepl.exe     <br />Inetinfo.exe     <br />MSExchangeTransport.exe     <br />Mad.exe     <br />MSExchangeTransportLogSearch.exe     <br />Microsoft.Exchange.AddressBook.Service.exe     <br />MSExchangeThrottling.exe     <br />Microsoft.Exchange.AntispamUpdateSvc.exe     <br />Msftefd.exe     <br />Microsoft.Exchange.ContentFilter.Wrapper.exe     <br />Msftesql.exe     <br />Microsoft.Exchange.EdgeSyncSvc.exe     <br />OleConverter.exe     <br />Microsoft.Exchange.Imap4.exe     <br />Powershell.exe     <br />Microsoft.Exchange.Imap4service.exe     <br />SESWorker.exe     <br />Microsoft.Exchange.Infoworker.Assistants.exe     <br />SpeechService.exe     <br />Microsoft.Exchange.Monitoring.exe     <br />Store.exe     <br />Microsoft.Exchange.Pop3.exe     <br />TranscodingService.exe     <br />Microsoft.Exchange.Pop3service.exe     <br />UmService.exe     <br />Microsoft.Exchange.ProtectedServiceHost.exe     <br />UmWorkerProcess.exe     <br />Microsoft.Exchange.RPCClientAccess.Service.exe     <br />W3wp.exe     <br /></p>  <h4>If you are also running Forefront Security for Exchange, you should also exclude the following processes:</h4>  <div id="codeSnippetWrapper" class="csharpcode-wrapper">   <p>Adonavsvc.exe      <br />FscStatsServ.exe       <br />FscController.exe       <br />FscTransportScanner.exe       <br />FscDiag.exe       <br />FscUtility.exe       <br />FscExec.exe       <br />FsEmailPickup.exe       <br />FscImc.exe       <br />FssaClient.exe       <br />FscManualScanner.exe       <br />GetEngineFiles.exe       <br />FscMonitor.exe       <br />PerfmonitorSetup.exe       <br />FscRealtimeScanner.exe       <br />ScanEngineTest.exe       <br />FscStarter.exe       <br />SemSetup.exe</p>    <h4>File name/type related exclusions:</h4> </div>  <div id="codeSnippetWrapper" class="csharpcode-wrapper">   <p>.config     <br />.dia      <br />.wsb      <br />.chk      <br />.jrs      <br />.log      <br />.edb      <br />.jsl      <br />.que      <br />.lzx      <br />.ci      <br />.wid      <br />.001      <br />.dir      <br />.000      <br />.002      <br />.cfg      <br />.grxml      <br />.dsc      <br />.bin      <br />.xml      <br />.avc      <br />.dt      <br />.lst      <br />.cab      <br />.fdb      <br />.mdb      <br />.fdm      <br />.ppl      <br />.ide      <br />.set      <br />.da1      <br />.key      <br />.v3d      <br />.dat      <br />.klb      <br />.vdb      <br />.def      <br />.kli      <br />.vdm</p>    <p>Hopefully anyone who needs to configure their Antivirus software manually will find this beneficial.&#160; If you are using Forefront Endpoint Protection on the server, you can apply custom policy templates for Group Policy to your Exchange Servers to configure FEP to exclude files for Exchange as well as a wide variety of other applications.&#160; You can download information on the policy templates <a href="https://www.microsoft.com/download/en/details.aspx?id=13088">here</a>.</p> </div>  <p>And one last note – for all those companies out there that don’t run file level Antivirus on your Exchange Servers, please reconsider!&#160; I dread the day that a virus will come along and ruin your day, and a whole lot of PFE’s days as well.</p>]]></content:encoded>
    </item>
    <item>
      <title>About me</title>
      <link>https://docs.microsoft.com/archive/blogs/davmcg/about-me</link>
      <pubDate>Thu, 22 Dec 2011 13:03:00 GMT</pubDate>
      <dc:creator><![CDATA[Davide McGarr [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/davmcg/2011/12/22/about-me/</guid>
      <description><![CDATA[My name is Davide McGarr and I am a Microsoft Premier Field Engineer.&nbsp; I have been in this role...]]></description>
      <content:encoded><![CDATA[<p>My name is Davide McGarr and I am a Microsoft Premier Field Engineer.&nbsp; I have been in this role since July of 2005 and have been supporting Exchange all the way back to Exchange 5.0.&nbsp; I have my Microsoft Certified Master (MCM) certification in both Exchange Server 2007 and Exchange Server 2010.</p>
<p>As&nbsp;a PFE, I provide both reactive assistance to Microsoft Premier customers for CritSits and other reactive based assistance.&nbsp; I also provide Proactive Assistance to our customers in the form of Exchange Risk Assessments (ExRAP), Workshop related training (Admin &amp; Operations, High Availability, Disaster Recovery, etc&hellip;) and other proactive assistance which can include deployment and documentation review, assistance with deployment issues and other custom proactive assistance that our customers require.</p>
<p>I also dabble in other technologies outside of Exchange (but mostly related to Exchange), including TMG and ISA, Forefront Endpoint Protection, Forefront Protection for Exchange, BPOS &amp; Office 365, and Hyper-V.</p>
<p>In my free time, I enjoy General Aviation where I am a private pilot.&nbsp; I also enjoy&nbsp; PC and Xbox gaming and playing the guitar.&nbsp; I have also gotten into personal fitness relatively recently where I have completed P90X and I now run regularly.</p>]]></content:encoded>
    </item>
  </channel>
</rss>