Report for unique permissions for all subsites and lists and users on Sharepoint Online

Brass Contributor

I am searching for a script or a tool that generates reports by digging through our complete Sharepoint Online Sites and Subsites and doclibs within this Sites and Subsites.

 

I have (a compliance team requirement) to generate two kind of lists on demand:

 

1) Who has access on which level for URL contoso.sharepointonline.com/sites (or contoso.sharepointonline.com/sites/puppyheaven or contoso.sharepointonline.com/old-subsite) recursively? That includes a seperate report for each doclib (or other app) with different permissions.

 

2) Show all Items the user "ernest.example@contoso.com" has access to within the whole Sharepoint or beginning with URL ontoso.sharepointonline.com/sites (or contoso.sharepointonline.com/sites/company1) for internal users or for guests (some.user@some-corp.com) recursively.

 

What makes it more difficult ist the fact that we are mixing Sharepoint Groups (for colleagues that have cloud accounts) and Active Directory Groups (for users coming from our AD synced domain). 

 

I searched a lot for this in recent weeks. I found a lot of Pwershell stuff but allways only for Sharepoint on premise. Whatever I tried to track this problem down with Sharepoint Online Powershell - nothing worked well. So I appreciate any help.

3 Replies
This is where investing in a third-party tool such as AvePoint or Sharegate would do the trick, as they are purpose-built for exactly that requirement (and more).

Depending on how much time you want to invest in it yourself you could use office graph with PowerShell (or another language): https://developer.microsoft.com/en-us/graph/ which is what AvePoint, ShareGate and all the others generally use to pull the information.

 

The other option is to use the SharePoint powershell module in conjuction with some other powershell modules like SharePoint SDK - https://www.powershellgallery.com/packages/SharePointSDK/2.1.0 

You should be able to get most of the information you are after with these and a few for loops.

 

It will come down to a time investment vs paying a monthly fee.

Cardiolog Analytics is a third party analytics solution that is specifically made to track all versions of SharePoint and Office 365. The metrics it offers track detailed portal activity down to the specific user from all versions that one might have and it provides the data in one place. These aspects allow you to track different versions of SharePoint and Office 365 be it on-prem or SaaS solution. You will easily be able to track user activity from both versions along with sites and subsites. While other third-party analytics prove to be effective, they are not made specifically for portals, they usually stem from web analytics preventing them from being able to track such detail oriented data. For more information about Cardiolog and to possibly book a free demo check out intlock.com