Reporting on the Public Folder favorites in a Mailbox utilizing EWS and Powershell Outlook and OWA permit you to create “Favorites” shortcuts to Public folders (and different folders for that matter) to make accessing them a sooner expertise.
For these of us maintaining tempo with grinding Public Folders into mud (personally not a fan) and changing them with Teams, it possibly helpful to report on which Public Folders folks have Favorited of their mailboxes for a metric and influence standpoint. This data ought to then are available in helpful in case your planing on migrating them (or simply for amusing). As a result of Public folder hierarchies are comparatively advanced having the trail to the Public folder slightly then simply the identify is usually much more helpful. So within the script on this weblog put up we are going to have a look at producing a report of the Public Folder favorites and the Path of the Public Folders these shortcuts discuss with eg it should produce a report one thing like the next for every mailbox you the place to run it towards.
Like different mailbox shortcuts these favorites are FAI (Folder related objects) saved within the Widespread Views Folder within the Non IPM Subtree folder of a Mailbox. Different names for these things are wunderbar or navigation shortcuts and are documented in https://msdn.microsoft.com/en-us/library/ee157359(v=exchg.80).aspx
EWS permits comparatively quick access to FAI objects in a Mailbox folder through the use of an Related Merchandise traversal within the FindItems operation. eg
$ivItemView.Traversal = [Microsoft.Exchange.WebServices.Data.ItemTraversal]::Related
To limit the question to only returning these objects which might be public folder shortcuts you must put a restriction on the PidTagWlinkFlags property.
The precise properties on the FAI Gadgets have to be accessed utilizing prolonged properties in EWS that are documented within the Alternate protocol doc linked above. To work out the trail to folder you must get the PidTagWlinkEntryId property which returns the EntryId of the PublicFolder that the shortcut factors to which you then must convert to an EWSId to entry the Public Folder in query. Nevertheless it isn’t fairly as straight ahead as this as a result of the EntryId that’s returned by this property is not convertible with EWS ConvertId operation due to one of many flag properties used. So some transposition of the EntryId is required, as a result of the EntryId format is documented right here https://msdn.microsoft.com/en-us/library/ee217297(v=exchg.80).aspx transposing out the incompatible flags so the EntryId can then be utilized in EWS’s convertId operation is not that onerous. eg
$TransposedId = "000000001A447390AA6611CD9BC800AA002FC45A0300" + $Id.Substring(44)
I’ve put a replica of this script on Git hub https://github.com/gscales/Powershell-Scripts/blob/grasp/GetPfShortCuts.ps1
To run this script use Get-PublicFolderShortCuts -MailboxName email@example.com