Thomas Stensitzki is a leading technology consultant focusing on the Microsoft messaging and collaboration technologies and the owner of Granikos GmbH & Co. KG.
He is an MVP for Office Apps & Services since 2018.
Thomas is an MCT Regional Lead for Germany and delivers Microsoft Learning training courses for Office 365, Microsoft Teams, and Exchange Server.
He holds Master certifications as Microsoft Certified Solutions Master Messaging and as Microsoft Certified Master for Exchange Server 2010. These certifications make him a subject matter expert for any messaging topic related to Microsoft Exchange, Exchange Online, Microsoft 365, and hybrid configurations.
Follow Thomas: LinkedIn, Twitter
His sessions: https://sessionize.com/thomas-stensitzki
MVP Blog: https://blogs.msmvps.com/thomastechtalk
Personal blog: http://justcantgetenough.granikos.eu
Personal website: http://www.stensitzki.de
Thomas' Tech Talk: youtube.com/ThomasStensitzki
Contact Thomas at firstname.lastname@example.org
Troubleshooting Active Directory Federation Services is a tedious tasks for any administrator. Therefore, I've started this blog post to have a comprehensive overview of information sources.
The following list provides links for Active Directory Federation Services troubleshooting:
Additonal information about AD FS can be found here:
If you know of other AD FS troubleshooting information, please use the comments section below to share.
This script fetches emails from a given monitoring mailbox by searching email messages for a given subject string. In this case email messages sent by the ENow Management Suite (http://enowsoftware.com/). Status messages are parsed to extract Disk Performance alert data for further processing in Power BI.
The mailbox is queried using Exchange Web Services (EWS). The EWS endpoint is identified by AutoDiscover.
The script exports the following columns for further processing:
You can easily adjust the script to fit your requirements. Search for other message subjects and parse for other content in the message body.
# Run script using default parameters
This example shows that P04 and P08 have exceeded the critical and warning state disk performance thresholds more often than the other servers.
The next example shows the same date in a different report.
My application as Microsoft Certified Trainer for the next year has been accepted by Microsoft.
My workshops and MOC courses focus on:
i am looking forward to a third successful year as MCT.
If you are looking for additonal information about workshops provided by Granikos check this page: https://www.granikos.eu/en/Consulting/Workshops
When you delete a public folder using a legacy Outlook client, you can easily restore the deleted folder and it's content using the Recover Deleted Items function.
Due to a fancy trick implemented in Outlook 2013 and Outlook 2016 the recovered folder will not be recovered using it's full name.
This phenomenon has been verified with Exchange On-Premises and Exchange Online on the server side and Outlook 2013/2016 and Outlook 365 ProPlus.
The following example uses public folders in Exchange Online and Outlook 365 ProPlus.
In this example I will delete and recover a public folder named My Public Folder.
After deletion of My Public Folder and it's content, I need to select the original parent folder and click the Recover Deleted Items button in the button bar.
The Recover Deleted Items dialogue opens and we select the deleted item for recovery. The dialogue displays the original name of the deleted folder.
After recovering the deleted folder the folder is recovered with the first character only.
That's an annoying result in regards to customer self-care when users restore deleted items on their own behalf.
But wait, there is a solution available.
The solution requires today's primary administrative tool available: PowerShell.
Get an overview of public folders currently located in the public folder dumpster
Get-PublicFolder –Identity “\NON_IPM_SUBTREE” –Recurse
Name Parent Path
My Public Folder \NON_IPM_SUBTREE\DUMPSTER_ROOT\DUMPSTER_EXTEND\RESERVED_1\RESERVED_1\65722859-3...
Sub Folder 1 \NON_IPM_SUBTREE\DUMPSTER_ROOT\DUMPSTER_EXTEND\RESERVED_1\RESERVED_1\65722859-3...
Sub Folder 2 \NON_IPM_SUBTREE\DUMPSTER_ROOT\DUMPSTER_EXTEND\RESERVED_1\RESERVED_1\65722859-3...
Export the list of public folders currently located in the public folder dumpster and find the identity of the deleted public folder you want to recover
Get-PublicFolder –Identity “\NON_IPM_SUBTREE” –Recurse | fl | Out-File D:\TMP\publicfolderdumpster.txt
RunspaceId : 6ce9588e-829b-4592-aedc-85f9a2e2c963
Identity : \NON_IPM_SUBTREE\DUMPSTER_ROOT\DUMPSTER_EXTEND\RESERVED_1\RESERVED_1\65722859-366a-4e0
9-81fe-ea576ec7a6f7\My Public Folder
Name : My Public Folder
MailEnabled : False
ParentPath : \NON_IPM_SUBTREE\DUMPSTER_ROOT\DUMPSTER_EXTEND\RESERVED_1\RESERVED_1\65722859-366a-4e0
Recover the deleted public folder to the correct parent target folder
Set-PublicFolder –Identity "\NON_IPM_SUBTREE\DUMPSTER_ROOT\DUMPSTER_EXTEND\RESERVED_1\RESERVED_1\65722859-366a-4e09-81fe-ea576ec7a6f7\My Public Folder" –Path “\TestFolders” –Verbose
As a result the public folder is recovered with it's original name.
There are some other things to consider when recovering deleted modern public folders.
Public folders originally located in the hierarchy root are always recovered to the public folder mailbox holding the primary hierarchy.
Public folders originally located in the hierarchy root will replace the permissions of child public folders when restored.
More on these default restore behaviours can be read here.
Nevertheless, enjoy modern public folders.
The PowerShell script to Set mailbox quotas at database or mailbox level the simple way has been updated to Version 1.4.
The code has been refactored to functions and has received some PowerShell hygiene patters.
Please report any issues directly at Github.
If you like the script, please rate the script at TechNet Gallery.