Sep 17 2019 08:14 AM
Hi all,
Is there a report where you can find a list of all the users who have shared their calendars externally? Assuming using the default Individual Sharing policy in EXO that allows anonymous share of 'All calendar appointment information, including time, subject, location and title'.
the only logs I could find in Audit log search was for the policy installation, but not sure how to get the details of the calendar sharing activity per user. Is there a way to pull such list/report from Powershell if it's not available currently in the portal?
Appreciate any help /insights.
Thanks!
Abeer
Sep 17 2019 10:47 AM
SolutionEach "share" is stamped on the permissions on the Calendar folder, so you can just enumerate those. I have a sample script that does just that here: https://gallery.technet.microsoft.com/Office-365-Calendar-29ef6211?redir=0
Once you have the CSV file, you can filter it by External.
Sep 17 2019 11:17 AM - edited Sep 17 2019 11:24 AM
@VasilMichev I just tried it in my test environment and it worked perfectly. There's no report with the same exact info that I can generate from the portal?
Thank you very much, i appreciate your quick help!
Sep 18 2019 12:06 AM
No, no built-in reports for that. Otherwise I wouldn't bother to create a script 😄
Feb 17 2021 02:37 AM
Hi Vasil, do you still have this script posted somewhere? the link doesn't appear to work.
Thanks
May 21 2021 06:22 AM
@Vasil Michev @pb1973 The link for the script is not live anymore. Can you please share the script another way?
Jul 01 2021 03:07 AM
@SanjayVishram to help anyone else that gets here, the script has been moved to GitHub
https://github.com/michevnew/PowerShell/blob/master/Calendar_Permissions_inventory.ps1
It is in what i assume to be @VasilMichev own github library.
I had to use WayBackMachine on that original link to find the script name, and from there I found it in GitHub
Nov 16 2023 08:49 AM
Anybody knows if this still should work, also in Exchange Online?
Just tested the publishing and it was working fine to my phone.
But when I tried to understand the script I'm getting empty results from the line 81.
Basically if I run the command:
PS C:\> Get-MailboxFolderPermission -Identity email address removed for privacy reasons:\calendar
FolderName User AccessRights SharingPermissionFlags
---------- ---- ------------ ----------------------
Calendar Default {AvailabilityOnly}
Calendar Anonymous {None}
If the anonymous have access rights set to "none", why the publishing is still working?
Jan 04 2024 11:19 AM
I can't get it to work with Exchange online either - connected to Exchange Online using 'connect-exchangeonline' and after authenticating, run the script. It seems the script is looking for the connection to Exchange Online using the older method of a pssession? So it doesn't proceed because it can't retrieve info on the Pssession...
PS C:\scripts> .\get-Calendar_Permissions_inventory.ps1
Write-Error: C:\scripts\get-Calendar_Permissions_inventory.ps1:147
Line |
147 | Get-CalendarPermissionInventory @PSBoundParameters -OutVariable globa …
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| No active Exchange Online session detected, please connect to ExO first:
| https://technet.microsoft.com/en-us/library/jj984289(v=exchg.160).aspx
PS C:\scripts>
Jan 08 2024 08:47 AM
Sep 17 2019 10:47 AM
SolutionEach "share" is stamped on the permissions on the Calendar folder, so you can just enumerate those. I have a sample script that does just that here: https://gallery.technet.microsoft.com/Office-365-Calendar-29ef6211?redir=0
Once you have the CSV file, you can filter it by External.