<?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>Richard's Support Ramblings</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/richardroddy/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/richardroddy/feed.xml</link>
    <description>Things I&amp;#039;ve seen as Microsoft Support Escalation Engineer</description>
    <lastBuildDate>Tue, 24 Jul 2018 21:14:44 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>User not seeing new emails in OWA, but sees them in Outlook</title>
      <link>https://docs.microsoft.com/archive/blogs/richardroddy/user-not-seeing-new-emails-in-owa-but-sees-them-in-outlook</link>
      <pubDate>Tue, 24 Jul 2018 17:12:09 GMT</pubDate>
      <dc:creator><![CDATA[Richard Roddy [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/richardroddy/?p=485</guid>
      <description><![CDATA[This was a case that turned out to be something very simple, but had the user's admin and myself...]]></description>
      <content:encoded><![CDATA[This was a case that turned out to be something very simple, but had the user's admin and myself stumped for a bit.

The symptom was that the user wasn't seeing any new messages when looking at their Inbox in OWA, but Outlook showed the new messages just fine.

The admin had supplied screenshots of what OWA and Outlook were showing for the Inbox.

<span style="color: #000000;font-family: Calibri">Looking at the screenshot over and over I didn't see it initially, but then I finally spotted the issue: the user has a bunch of messages pinned in OWA. Pinned messages show at the top of the view. If we scroll down beyond the pinned items, I bet we see those "missing" items below the pinned items.</span>

<span style="color: #000000;font-family: Calibri">Here is an example from OWA for my test mailbox, where I have pinned a bunch of items. Notice the newest item is from 4/4/2018:</span>

<span style="color: #000000;font-family: Calibri"><a href="https://msdnshared.blob.core.windows.net/media/2018/07/OWA-Inbox-1.jpg"><img width="189" height="300" class="alignnone size-medium wp-image-495" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/07/OWA-Inbox-1-189x300.jpg" /></a> </span>

<span style="color: #000000;font-family: Calibri">Then if I scroll down to where the pins stop I see newer items:</span>

<span style="color: #000000;font-family: Calibri"> <a href="https://msdnshared.blob.core.windows.net/media/2018/07/OWA-Inbox-2.jpg"><img width="220" height="300" class="alignnone size-medium wp-image-505" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/07/OWA-Inbox-2-220x300.jpg" /></a></span>

<span style="color: #000000;font-family: Calibri">So, scroll down beyond the pinned items, and you should see the "missing" items below those.</span>

Once we figured out why the view was as it was, the admin went and explored a bit further with the user and found <span style="margin: 0px;font-family: 'Calibri',sans-serif;font-size: 11pt"><span style="color: #000000">a rule doing it. The user had erroneously clicked it as part of a rule and ended up pinning all high importance emails.</span></span>]]></content:encoded>
    </item>
    <item>
      <title>"Stall" attempting to migrate a specific mailbox from Exchange 2013 to Exchange Online</title>
      <link>https://docs.microsoft.com/archive/blogs/richardroddy/stall-attempting-to-migrate-a-specific-mailbox-from-exchange-2013-to-exchange-online</link>
      <pubDate>Tue, 24 Jul 2018 16:21:52 GMT</pubDate>
      <dc:creator><![CDATA[Richard Roddy [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/richardroddy/?p=475</guid>
      <description><![CDATA[Our symptom here was that the mailbox in question would begin to migrate, but then would stall at...]]></description>
      <content:encoded><![CDATA[Our symptom here was that the mailbox in question would begin to migrate, but then would stall at some point in the process, and would not progress beyond that point.

The customer in question had been able to migrate many other mailboxes to Exchange Online, even while the mailbox in question would not progress beyond the sticking point.

The Move Report for the user was showing the following error:
FailureSide : Source
InnerException : CommunicationException: Server returned an invalid SOAP Fault. Please see InnerException for more details. --&gt; Unexpected end of file. Following elements are not closed: MessageData, InnerException, MailboxReplicationServiceFault, Detail, Fault, Body, Envelope. Line 1, position 65537.

Looking at the output of the Exchange Move Request Statistics (using information from Get-MoveRequestStatistics user@domain.com -IncludeReport -DiagnosticInfo verbose), we were able to see the following:

<span style="color: #000000;font-family: Calibri">The last entry before the failure:</span>
<span style="color: #000000;font-family: Calibri">25/05/2018 14:34:38 [EXCHSERVER] Stage: LoadingMessages. Percent complete: 20.</span>

<span style="color: #000000;font-family: Calibri">And then the failure:
</span><span style="color: #000000;font-family: Calibri">25/05/2018 14:40:40 [EXCHSERVER] Transient error CommunicationErrorTransientException has occurred.

To see if we could get some kind of idea of what was going on with the on-premises server at the time, we took a look at the IIS logs from the server and found the error:
</span>

<span style="color: #000000;font-family: Calibri">2018-05-25 14:40:39 192.168.2.201 POST /EWS/mrsproxy.svc &amp;CorrelationID=&lt;empty&gt;;&amp;ClientId=XXXXXXXXXXXXXXXX&amp;cafeReqId=53ea14e3-cac9-42cb-a82f-a15889e233ae; 443 Domain\SVC_E1_MSXEP 40.100.168.141 - - 500 0 0 61</span>

<span style="color: #000000;font-family: Calibri"> </span><span style="color: #000000;font-family: Calibri">Http 500 is an "Internal Server Error". So, we have some kind of failure occurring on prem with this mailbox, and the info returned is not able to be interpreted properly when the MRS gets it in Exchange Online, so we get the "generic" 'unexpected end of file' error.</span>

We then proceeded to do ExTRA tracing of the MRS component on the On-Prem Exchange server to get a better idea of what was going on there, and what we found was that there was a timeout occurring.

The solution here was to go into the C:\Program Files\Microsoft\Exchange Server\V15\Bin folder, and edit the MSExchangeMailboxReplication.exe.config file.

Open the file in any text editor (notepad or Notepad++ are fine) and find DataImportTimeout. You should find it under the MRSProxyConfiguration section near the end of the file.

We want to change the value from the default of 00:05:00 (5 minutes) to a value in the range to 10-30 minutes (10 minimum). We went with 20 minutes, or "00:20:00" and then saved the change to the file.

After the file is saved, we restarted the Microsoft Exchange Mailbox Replication service so that the change takes effect.

After that, the mailbox was able to be moved successfully.]]></content:encoded>
    </item>
    <item>
      <title>After enabling Out of Office (Automatic) replies, the replies are not being sent out</title>
      <link>https://docs.microsoft.com/archive/blogs/richardroddy/after-enabling-out-of-office-automatic-replies-the-replies-are-not-being-sent-out</link>
      <pubDate>Fri, 06 Apr 2018 09:37:36 GMT</pubDate>
      <dc:creator><![CDATA[Richard Roddy [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/richardroddy/?p=455</guid>
      <description><![CDATA[As noted in the post title, after enabling Out of Office (Automatic) replies, the replies were not...]]></description>
      <content:encoded><![CDATA[<span style="color: #000000;font-family: Calibri">As noted in the post title, after enabling Out of Office (Automatic) replies, the replies were not being sent out</span>

<span style="color: #000000;font-family: Calibri">We found in this case that our issue with the Out Of Office (OOF/Out Of Facitility) not working was due to all of the mailboxes in question having the ForwardingSmtpAddress value set, which is the "Forward my e-mail to" option in the Connected Accounts area in the OWA options/control panel.</span><span style="color: #000000;font-family: Calibri"> </span>

<span style="color: #000000;font-family: Calibri">We ran the PowerShell command below to clear this value from all of the affected mailboxes:
</span><span style="color: #000000;font-family: Calibri">Get-Mailbox | Set-Mailbox -ForwardingSmtpAddress $null</span>

<span style="color: #000000;font-family: Calibri">Once we cleared this value, the OOF began working. </span>

<span style="color: #000000;font-family: Calibri">As a workaround for the forwarding, there are a few options:</span>

<span style="color: #000000;font-family: Calibri">1) Create a Transport Rule (in the Mail Control, Rules section of the Exchange Control Panel) and using the Advanced Options, choose to BCC the messages to another recipient.</span>

<span style="color: #000000;font-family: Calibri">2) Use the PowerShell command and set the -ForwardingAddress instead of the -<span>ForwardingSmtpAddress </span>
</span><span style="font-family: Calibri"><span style="color: #000000">Set-Mailbox username -ForwardingAddress <a>address@domain.onmicrosoft.com</a></span></span>

<span style="color: #000000;font-family: Calibri">3) An Inbox rule can be created to do the forward or redirect:
</span><span style="font-family: Calibri"><a href="https://help.outlook.com/en-gb/140/ms.exch.ecp.learnredirectto.aspx">https://help.outlook.com/en-gb/140/ms.exch.ecp.learnredirectto.aspx</a></span><span style="color: #000000;font-family: Calibri"> </span>

<span style="color: #000000;font-family: Calibri">#1 and #2 will be invisible to the mailbox owner/user</span>

<span style="color: #000000;font-family: Calibri">#2 actually works a little differently than when ForwardingSmtpAddress is set, and does not break the other auto-replies.</span>

<span style="margin: 0px;font-family: 'Calibri',sans-serif;font-size: 11pt"><span style="color: #000000">After checking these, we found that the OOF still would not work for an admin mailbox that was affected. We found that this was because the admin mailbox is specified as the NDR recipient in the Journaling settings for the organization, which also stops auto-replies and auto-forwards from working, as noted in <a href="https://support.microsoft.com/en-us/help/2829319/transport-and-mailbox-rules-in-exchange-online-or-in-on-premises-excha">https://support.microsoft.com/en-us/help/2829319/transport-and-mailbox-rules-in-exchange-online-or-in-on-premises-excha</a></span></span>]]></content:encoded>
    </item>
    <item>
      <title>Using PowerShell ISE to connect to Exchange Online when MFA is enabled</title>
      <link>https://docs.microsoft.com/archive/blogs/richardroddy/using-powershell-ise-to-connect-to-exchange-online-when-mfa-is-enabled</link>
      <pubDate>Wed, 04 Apr 2018 17:34:18 GMT</pubDate>
      <dc:creator><![CDATA[Richard Roddy [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/richardroddy/?p=415</guid>
      <description><![CDATA[The customer here wished to be able to use the PowerShell ISE and still be able to connect with MFA...]]></description>
      <content:encoded><![CDATA[<span style="color: #000000;font-family: Calibri">The customer here wished to be able to use the PowerShell ISE and still be able to connect with MFA (Multi-Factor Authentication) enabled for their account.</span>

<span style="color: #000000;font-family: Calibri">We already have a PowerShell module designed to allow connection with MFA enabled, but there is no direct integration of it with the PowerShell ISE.</span>

<span style="font-family: Calibri"><span style="color: #000000">When the Microsoft Exchange PowerShell app (</span><a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftechnet.microsoft.com%2Fen-us%2Flibrary%2Fmt775114%2528v%3Dexchg.160%2529.aspx&amp;data=02%7C01%7CRichard.Roddy%40microsoft.com%7Cc32b047036834047ce9c08d4ee471d48%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636395436582173958&amp;sdata=4%2BdaRsGdugiJ0ViDbLMHdst3s%2Bft%2FNMtEv0JNLiNv1U%3D&amp;reserved=0">https://technet.microsoft.com/en-us/library/mt775114%28v=exchg.160%29.aspx</a></span><span style="color: #000000;font-family: Calibri">) is installed and executed, it launches a PowerShell session and runs a script to load the necessary modules and functions into the current PowerShell execution to provide the cmdlet.</span>

<span style="color: #000000;font-family: Calibri">The files related to the app are all loaded into a folder with a path similar to (as this is a Click To Run app):
C:\Users\&lt;username&gt;\AppData\Local\Apps\2.0\LC7A9808.VWQ\TDNEY3XY.VWX\micr..tion_c3bce3770c238a49_0010.0000_213d7102fbbdf9ba</span>

<span style="color: #000000;font-family: Calibri">To find the folder with the files in it, I first went to my Start Menu\Programs folder to find the shortcut for it:
C:\Users\&lt;username&gt;\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Microsoft Corporation</span>

<span style="color: #000000;font-family: Calibri"><a href="https://msdnshared.blob.core.windows.net/media/2018/04/image001.png"><img width="540" height="102" class="alignnone wp-image-425 size-full" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/04/image001.png" /></a> </span>

<span style="color: #000000;font-family: Calibri">When I get the properties of that item, I see:</span>

<span style="color: #000000;font-family: Calibri"> <a href="https://msdnshared.blob.core.windows.net/media/2018/04/mfa_ps_props.jpg"><img width="229" height="160" class="alignnone size-full wp-image-445" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/04/mfa_ps_props.jpg" /></a></span>

<span style="color: #000000;font-family: Calibri">Looking at the Folder path value, I now know the name of the folder the module points to, I can go to the C:\Users\&lt;username&gt;\AppData\Local\Apps\2.0<span>  </span>folder and find the appropriate folder.</span>

<span style="color: #000000;font-family: Calibri">To successfully use the Connect-EXOPSSession cmdlet in the ISE, I need to "dot load" the CreateExoPSSession.ps1 script found in the above folder into my ISE execution. When it runs, it loads the necessary modules and functions into the session so that the Connect-EXOPSSession cmdlet is available and works to connect to Exchange Online with MFA enabled. This is done with the following syntax after changing to the location of the module:
. .\CreateExoPSSession.ps1
</span>

<span style="color: #000000;font-family: Calibri">Update 4/5/18 - One of my coworkers brought me these 2 lines that we can run, which will find the module for us and load it up in our ISE session, without having to go out and search for it ourselves:</span>

<code>$CreateEXOPSSession = (Get-ChildItem -Path $env:userprofile -Filter CreateExoPSSession.ps1 -Recurse -ErrorAction SilentlyContinue -Force | Select -Last 1).DirectoryName
. "$CreateEXOPSSession\CreateExoPSSession.ps1"</code>]]></content:encoded>
    </item>
    <item>
      <title>Getting Public Folder Statistics Report in O365/Exchange Online</title>
      <link>https://docs.microsoft.com/archive/blogs/richardroddy/getting-public-folder-statistics-report-in-o365exchange-online</link>
      <pubDate>Wed, 04 Apr 2018 17:07:04 GMT</pubDate>
      <dc:creator><![CDATA[Richard Roddy [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/richardroddy/?p=405</guid>
      <description><![CDATA[In this case, the customer was looking for a way to get the following information from the Public...]]></description>
      <content:encoded><![CDATA[<span style="color: #000000;font-family: Calibri">In this case, the customer was looking for a way to get the following information from the Public Folders in EXO - this was basically his "wish list" of information that he wanted to get:</span>
<ul>
 	<li><span>Folder Display name</span><span></span></li>
 	<li><span>Folder Path</span><span></span></li>
 	<li><span>Owner</span><span></span></li>
 	<li><span>Item Count</span><span></span></li>
 	<li><span>Last Access Time</span><span></span></li>
 	<li><span>Last Modification Time</span><span></span></li>
 	<li><span>Total Item Size</span><span></span></li>
 	<li><span>Creation Time</span><span></span></li>
 	<li><span>If it is mail enabled or not</span><span></span></li>
 	<li><span>email address - if it is mail enabled</span><span></span></li>
</ul>
<span><span style="font-family: Calibri"> They were able to get this information when the folders were in on-premises Exchange, but  have not been able to find a way to get this since they were migrated to O365.  They wanted the information to use it to clean and remove thousands of unused folders but didn't know a way to get the data.</span></span><span></span>

<span style="font-family: Calibri"><span style="color: #000000">I found a script at </span><a href="https://gallery.technet.microsoft.com/office/Snapshot-report-of-Public-21235573">https://gallery.technet.microsoft.com/office/Snapshot-report-of-Public-21235573</a></span><span style="color: #000000;font-family: Calibri"> that was designed to get Public Folder data from Exchange 2010 and returned most of the customer's desired info.</span>

<span style="color: #000000;font-family: Calibri">It gets everything except for the Last Access info, which is not available in Exchange Online that I can find. </span>

<span style="color: #000000;font-family: Calibri">I'm supplying the script content as text here, and it can then be copied/paste it into a .ps1 file on the machine you intend to run it on, and it will be trusted, as the .ps1 file is seen as having been created on that machine, and not on some foreign machine.</span>

<span style="color: #000000;font-family: Calibri">From the original, I had to tweak the syntax to get the PrimarySmtpAddress and to get the list of owners, which I could only retrieve Display Names for.</span>

<code>
# This Sample Code is provided for the purpose of illustration only and is not intended to be used in a production environment.
# THIS SAMPLE CODE AND ANY RELATED INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
# INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
# We grant You a nonexclusive, royalty-free right to use and modify the Sample Code and to reproduce and distribute the object
# code form of the Sample Code, provided that You agree: (i) to not use Our name, logo, or trademarks to market
# Your software product in which the Sample Code is embedded; (ii) to include a valid copyright notice on Your software product
# in which the Sample Code is embedded; and (iii) to indemnify, hold harmless, and defend Us and Our suppliers from and against
# any claims or lawsuits, including attorneys’ fees, that arise or result from the use or distribution of the Sample Code.

Write-Progress -Activity "Finding Public Folders" -Status "running get-publicfolders -recurse"
$folders = get-publicfolder -recurse -resultsize unlimited
$arFolderData = @()
$totalfolders = $folders.count
$i = 1
foreach ($folder in $folders)
{
$statusstring = "$i of $totalfolders"
write-Progress -Activity "Gathering Public Folder Information" -Status $statusstring -PercentComplete ($i/$totalfolders*100)
$folderstats = get-publicfolderstatistics $folder.identity
$folderdata = new-object Object
$folderdata | add-member -type NoteProperty -name FolderName $folder.name
$folderdata | add-member -type NoteProperty -name FolderPath $folder.identity
$folderdata | add-member -type NoteProperty -name LastAccessed $folderstats.LastAccessTime
$folderdata | add-member -type NoteProperty -name LastModified $folderstats.LastModificationTime
$folderdata | add-member -type NoteProperty -name Created $folderstats.CreationTime
$folderdata | add-member -type NoteProperty -name ItemCount $folderstats.ItemCount
$folderdata | add-member -type NoteProperty -name Size $folderstats.TotalItemSize
$folderdata | Add-Member -type NoteProperty -Name Mailenabled $folder.mailenabled

if ($folder.mailenabled)
{
#since there is no guarentee that a public folder has a unique name we need to compare the PF's entry ID to the recipient objects external email address
$entryid = $folder.entryid.tostring().substring(76,12)
# $primaryemail = (get-recipient -filter "recipienttype -eq 'PublicFolder'" -resultsize unlimited) | where {$_.externalemailaddress -like "*$entryid"}).primarysmtpaddress
$primaryemail = (get-recipient $folder.mailrecipientguid.tostring()).primarysmtpaddress
$folderdata | add-member -type NoteProperty -name PrimaryEmailAddress $primaryemail
} else
{
$folderdata | add-member -type NoteProperty -name PrimaryEmailAddress "Not Mail Enabled"
}

if ($folderstats.ownercount -gt 0)
{
$owners = get-publicfolderclientpermission $folder.identity | where {$_.accessrights -like "*owner*"}
$ownerstr = ""
foreach ($owner in $owners)
{
$ownerstr += $owner.user.displayname + ","
}
} else {
$ownerstr = ""
}
$folderdata | add-member -type NoteProperty -name Owners $ownerstr
$arFolderData += $folderdata
$i++
}
$arFolderData | export-csv -path PublicFolderData.csv -notypeinformation
</code>]]></content:encoded>
    </item>
    <item>
      <title>User failing to migrate with "Server returned an invalid SOAP Fault - unexpected end of file"</title>
      <link>https://docs.microsoft.com/archive/blogs/richardroddy/user-failing-to-migrate-with-server-returned-an-invalid-soap-fault-unexpected-end-of-file</link>
      <pubDate>Tue, 24 Oct 2017 18:11:43 GMT</pubDate>
      <dc:creator><![CDATA[Richard Roddy [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/richardroddy/?p=396</guid>
      <description><![CDATA[The customer here was trying to migrate a mailbox from an Exchange 2010 server to Exchange Online....]]></description>
      <content:encoded><![CDATA[The customer here was trying to migrate a mailbox from an Exchange 2010 server to Exchange Online. Exchange 2013 was being used as the hybrid server and MRS proxy. Server/domain/item names have been changed to protect the innocent. :-)

The error being encountered was:
CommunicationErrorTransientException: The call to 'https://mail3.state.nn.us/EWS/mrsproxy.svc XYZ-SERVER.domain.w2k.state.nn.us (15.0.1104.4 caps:1F7FFFFFCB07FFFF)' failed. Error details: Server returned an invalid SOAP Fault.  Please see InnerException for more details. --&gt; Unexpected end of file. Following elements are not closed: DataContextData, MailboxReplicationServiceFault, Detail, Fault, Body, Envelope. Line 56, position 62588.. --&gt; Server returned an invalid SOAP Fault.  Please see InnerException for more details. --&gt; Unexpected end of file. Following elements are not closed: DataContextData, MailboxReplicationServiceFault, Detail, Fault, Body, Envelope. Line 56, position 62588

Digging into this error, this would indicate some sort of failure on the source side. We started by looking for events in the application log on the 2013 server being used as the MRS Proxy.
- Nothing found there

We then looked at the 2010 Mailbox server the mailbox was on and found events with ID 8506, indicating problems reading the properties of an item.

We tried executing New-MailboxRepairRequest -CorruptionType SearchFolder,FolderView,AggregateCounts,ProvisionedFolder,MessagePTAGCn,MessageID on the Exchange 2010 server

This executed and the application log indicated it completed, but our move still failed.

We next attempted to move the mailbox to a 2013 server. This initially failed, but the move report for it gave me the following:
7/26/2017 6:45:39 PM Informational A corrupted item was encountered: Item (IPM.Appointment) Subject:"", Folder:"Deletions"
7/26/2017 6:45:39 PM Informational A corrupted item was encountered: Item (IPM.Appointment) Subject:"", Folder:"Recoverable Items"
7/26/2017 6:45:39 PM Informational A corrupted item was encountered: Item (IPM.Appointment) Subject:"Some calendar item", Folder:"Recoverable Items"
7/26/2017 6:45:39 PM Informational A corrupted item was encountered: Item (IPM.Appointment) Subject:"", Folder:"Recoverable Items"
7/26/2017 6:45:39 PM Informational A corrupted item was encountered: Item (IPM.Appointment) Subject:"", Folder:"Recoverable Items"
7/26/2017 6:45:39 PM Informational A corrupted item was encountered: Item (IPM.Appointment) Subject:"", Folder:"Recoverable Items"
7/26/2017 6:45:39 PM Informational A corrupted item was encountered: Item (IPM.Appointment) Subject:"Some other item", Folder:"Recoverable Items"
7/26/2017 6:45:39 PM Informational A corrupted item was encountered: Item (IPM.Appointment) Subject:"", Folder:"Recoverable Items"
7/26/2017 6:50:06 PM Informational Copying messages is complete. Copying rules and security descriptors.
7/26/2017 6:50:09 PM Informational Initial seeding completed, 11950 items copied, total size 361.4 MB (378,940,277 bytes).
7/26/2017 6:50:09 PM Informational Stage: CopyingMessages. Percent complete: 95.
7/26/2017 6:50:09 PM Informational Copy progress: 11950/11950 messages, 361.4 MB (378,940,277 bytes)/361.4 MB (378,940,277 bytes), 46/54 folders completed.
7/26/2017 6:50:09 PM Error         Fatal error TooManyBadItemsPermanentException has occurred.

We used Set-MoveRequest -baditemlimit 25 and then Resume-MoveRequest to modify the bad items allowed to be lost for this move, and then resume the move.
- It completed

We then removed the on-prem move request and started a new migration to O365.
-Migration was successful - case resolved]]></content:encoded>
    </item>
    <item>
      <title>Archive policy not moving emails from main mailbox to archive</title>
      <link>https://docs.microsoft.com/archive/blogs/richardroddy/archive-policy-not-moving-emails-from-main-mailbox-to-archive</link>
      <pubDate>Tue, 24 Oct 2017 17:21:31 GMT</pubDate>
      <dc:creator><![CDATA[Richard Roddy [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/richardroddy/?p=386</guid>
      <description><![CDATA[The customer in this case had an Archive policy set on the mailbox that should move all items older...]]></description>
      <content:encoded><![CDATA[The customer in this case had an Archive policy set on the mailbox that should move all items older than 1 day to archive, and items were not moving at all.

We went through a lot of "typical" troubleshooting that we would look at when items are not being moved to the archive. (An example of this would be the information in https://blogs.technet.microsoft.com/ehlro/2014/01/15/more-on-exchange-retention-and-archiving-policiestroubleshooting/)

After consultation with one of our Escalation Engineers that works with the Exchange Online engineering team responsible for the MRM/Archive features, I was able to get the information I needed to help the customer solve the problem.

Normally when troubleshooting whether or not items have a retention/archive policy assigned, we will look at the properties of individual items with MFCMAPI to see what expiration information they have on them. I found out in this case that when we have a Default Move to Archive tag applied, we do not actually tag the items, but we create a Search Folder in the mailbox to "query" for the items that should be moved.

The specific instructions for checking the Search Folder were:
<span>Use MFC Mapi and go to </span><i>Root Container -&gt; Finder </i><span>and open the folder NoArchiveTagSearchFolder...
When you open the folder it should show all items that do not have an archive tag - these are the items that MRM would process based on the default tag.
Sort by Receive date. Are there any items that should expire? If the folder does not exist, then MRM may not be recognizing the default archive tag.</span>

The folder did exist here, but there were no items showing up in it, even though there were plenty of items.

We deleted the search folder with MFCMAPI, and then ran the following command in PowerShell connected to Exchange Online (https://technet.microsoft.com/en-us/library/jj984289(v=exchg.160).aspx):
Start-ManagedFolderAssistant username

After this, items started moving to the archive as expected. We also could check with MFCMAPI and see the search folder now showed items that should move to archive, but had not yet moved.]]></content:encoded>
    </item>
    <item>
      <title>Using an Exchange Transport Rule to reject messages sent to a specific domain with a custom NDR</title>
      <link>https://docs.microsoft.com/archive/blogs/richardroddy/using-a-transport-rule-to-reject-message-sent-to-a-specific-domain-with-a-custom-ndr</link>
      <pubDate>Tue, 24 Oct 2017 16:24:50 GMT</pubDate>
      <dc:creator><![CDATA[Richard Roddy [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/richardroddy/?p=385</guid>
      <description><![CDATA[In this case, the customer had the following request:

We migrated domains two years ago, and now...]]></description>
      <content:encoded><![CDATA[In this case, the customer had the following request:

We migrated domains two years ago, and now are wanting to decommission the old domain (tailspintoys.org).

We would like to set up some sort of catch all for messages sent to the old domain that would respond back with "sorry this domain has been decommissioned, please try your contact's address with @contoso.org" or something like that. Then we can run with that for a year or so before decommissioning the domain. Can this be done or something like it?

At first we would think that we simply could create a transport rule that uses the condition of "The recipient address includes..." and specify tailspintoys.org in the list of words or phrases for the condition. However when we tried this, the rule did not fire on emails sent to user@<span>tailspintoys.org</span>. This seems to be because when we check the recipient in Exchange for the rule condition, we only see the recipient's primary SMTP address.

The solution I found is that creating a new rule with “Create a new rule” and then clicking “More options”, I used the following condition:
- Apply this rule if… A message header includes: 'authentication-results' header includes '<span>tailspintoys.org</span>'
- Do the following Reject the message with the explanation: 'sorry this domain has been decommissioned, please try your contact's address with @contoso.org'

<span>This works because the authentication-results header always contains the domain that the message was sent to.</span>

I can’t take full credit for this solution, as I found it in a post or old support case (can’t remember which) I looked at as I was searching for answers.

&nbsp;

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Account is not a member of Enterprise Admins group when configuring AD Connect</title>
      <link>https://docs.microsoft.com/archive/blogs/richardroddy/account-is-not-a-member-of-enterprise-admins-group-when-configuring-ad-connect</link>
      <pubDate>Fri, 12 Aug 2016 17:53:54 GMT</pubDate>
      <dc:creator><![CDATA[Richard Roddy [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/richardroddy/?p=375</guid>
      <description><![CDATA[When attempting to go through the configuration of Microsoft Azure AD Connect to set up directory...]]></description>
      <content:encoded><![CDATA[When attempting to go through the configuration of Microsoft Azure AD Connect to set up directory synchronization from their on-premises AD to Office 365/Azure AD, they were encountering an error indicating that the account is not a member of the Enterprise Admins group.

Checking the properties of the user account showed it was a member of the Enterprise Admins group.

However, further investigation found that the Enterprise Admins has been set as the Primary Group on the user. As noted in https://support.microsoft.com/en-us/kb/275523, having the Primary Group set excludes the user from the group membership when checked via LDAP.

Normally the Primary group is set to Domain Users, so the admin account was returned to that as the Primary Group. After that the error was resolved, allowing AD Connect to configure successfully.

Testing recently with version 1.1.189.0 of AD Connect (the latest release as of 8/24/2016), I was unable to reproduce the problem. However I wanted to go ahead and post this should anyone else find themselves in this interesting state.]]></content:encoded>
    </item>
    <item>
      <title>Meetings Disappearing From Exchange 2003 Resource/Room Mailboxes</title>
      <link>https://docs.microsoft.com/archive/blogs/richardroddy/meetings-disappearing-from-exchange-2003-resourceroom-mailboxes</link>
      <pubDate>Mon, 08 Aug 2011 15:11:37 GMT</pubDate>
      <dc:creator><![CDATA[Richard Roddy [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/richardroddy/2011/08/08/meetings-disappearing-from-exchange-2003-resourceroom-mailboxes/</guid>
      <description><![CDATA[In this case, I was presented with the symptom of meetings disappearing from a Resource mailbox in...]]></description>
      <content:encoded><![CDATA[<p>In this case, I was presented with the symptom of meetings disappearing from a Resource mailbox in Exchange 2003 that had been set up for automatic booking with the Exchange 2003 Auto Accept Agent.</p>  <p>After going round and round with the customer to try and get good tracing information from the server, we finally got a good store trace of the behavior.</p>  <p>What was found was that there was a Delegate defined on the Resource Mailbox. Mixing delegates with the Auto Accept Agent can potentially end up causing issues if we're not sure to take precautions. This was the case here.</p>  <p>Note this excerpt from the Auto Accept Agent Deployment and Administration Guide, Managing Resource Mailboxes topic (<a href="https://technet.microsoft.com/en-us/library/bb124314(EXCHG.65).aspx">https://technet.microsoft.com/en-us/library/bb124314(EXCHG.65).aspx</a>):</p>  <blockquote>   <p><strong>Modifying Delegate Settings:</strong></p>    <p>You can add delegates to a resource mailbox who can then access the mailbox directly to check existing appointments, check mail in the Inbox, or processed requests in the Sent Items folder. However, if you allow delegates to receive copies of meeting requests sent to a resource mailbox, it is possible that the delegate may accept a meeting request even though the agent has declined the meeting. To avoid this situation, it is recommended that you do not allow delegates to receive copies of meeting requests. You must open the resource mailbox as the primary mailbox to modify delegate settings. You cannot modify delegate settings if the resource mailbox is a secondary mailbox.</p>    <p>To prevent delegates from receiving copies of meeting requests:      <br />1. In Outlook 2003, click Tools and then click Options.      <br />2. On the Delegates tab, select a delegate, and then click Permissions.      <br />3. Clear the check box for Delegate receives copies of meeting-related messages sent to me.</p> </blockquote>  <p>What I saw in our store traces, is that for the problems, the delegates were causing modifications to the calendar. What was likely happening is that the delegate was deleting the copy of the meeting invitation they received, and this in turn was deleting the meeting from the calendar.</p>  <p>We then found that the resource mailbox was indeed set to forward the meeting request copies to the delegates and turned that option off.</p>  <p>After this there was a thought by one user that a meeting disappeared, but additional logging and investigation showed that meeting to have been one that was removed prior to the change in the setting.</p>]]></content:encoded>
    </item>
  </channel>
</rss>