PowerShell to get the list of Full Control Users on SharePoint
To get the full control users of a particular list of sites, first save the list of sites in csv format as below:Powershell
Add-Type -Path "C:\Users\mayuresh\Desktop\Data\Old\Microsoft.SharePoint.Client.Runtime.dll" Add-Type -Path "C:\Users\mayuresh\Desktop\Data\Old\\Microsoft.SharePoint.Client.dll" #Add-PSSnapin Microsoft.Sharepoint.Powershell $admin = "mayuresh.joshi@myclassbook.com"; $password = Read-Host 'Enter Password' -AsSecureString $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($admin, $password) Connect-SPOService -Url https://myclassbook-admin.sharepoint.com -credential mayuresh.joshi@myclassbook.com #Setup the context $webURL="https://myclassbook.sharepoint.com/teams/SPOSupportSite" $ctx = New-Object Microsoft.SharePoint.Client.ClientContext($webURL) $ctx.Credentials = $Credentials [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 #get the items from CSV $inputFilePath = "D:\Mayuresh\MissingOwners\Book2.csv" $itemCol = Import-Csv $inputFilePath $lists = $ctx.web.Lists $list = $lists.GetByTitle("SiteUrls") $ExslistItems = $list.GetItems([Microsoft.SharePoint.Client.CamlQuery]::CreateAllItemsQuery()) $ctx.load($ExslistItems) $ctx.executeQuery() ForEach($EstlistItem in $ExslistItems) { $list.GetItemById($EstlistItem.Id).DeleteObject() $ctx.executeQuery() } Write-Host $itemCol -ForegroundColor Cyan ForEach ($item in $itemCol) { $siteURL = $item.SiteUrls Write-Host $siteURL -ForegroundColor Cyan #Get all Groups from the site permissions $sitegroups = Get-SPOSiteGroup -Site $siteURL #Get Group info and members that have site owners permissions foreach ($sitegroup in $sitegroups) { #$i = 0 foreach($role in $sitegroup.Roles) { try{ if ( $role.Contains(“Full Control”) ) { $listItemInfo = New-Object Microsoft.SharePoint.Client.ListItemCreationInformation $listItem = $list.AddItem($listItemInfo) $listItem["Title"] = $siteURL Write-Host $sitegroup.Title -ForegroundColor “Yellow” Write-Host $sitegroup.Users -ForegroundColor “Blue” foreach($user in $sitegroup.Users) { $listItem["FullControlUsers"]=$listItem["FullControlUsers"]+"; "+$user; } $listItem["FullControlUsers"]=$listItem["FullControlUsers"].TrimStart('; '); $listItem.Update(); $ctx.executeQuery() } } catch{ write-host "$($_.Exception.Message)" -foregroundcolor red } } } }
Download: GetFullControlUsers
0 Comments