
Recently I got a requirement from a customer, they want to assign edit permissions to few users on multiple sites. It would be easy to go to the site permissions and add users to the edit permission group or assign edit permissions using PowerShell. This could be simple when you have to add users to a few sites but it would be a time consuming job when you have to add different users to a large no. of site collections.
To make the permissions clean, I have written a small PowerShell script which fetch the site security groups and verify the security group with Edit role and users to that group.
$TenantUrl = "https://<site URL>-admin.sharepoint.us"
$CSVPath = "D:\Migratedsites.csv"
Connect-SPOService -Url $TenantUrl
$Useraccounts = @("AdeleV@mstechtalkdemodev.onmicrosoft.com","alexW@mstechtalkdemodev.onmicrosoft.com","Ben.Jones@mstechtalkdemodev.onmicrosoft.com")
$SiteCollections = Import-Csv -Path $CSVPath
#Loop through csv and create site collections from each row
ForEach ($Site in $SiteCollections)
{
$siteUrl = $Site.URL
Write-host "Creating Site Collection:" $siteUrl -f Yellow
$group = Get-SPOSiteGroup -site $siteUrl | Select Title, Roles, Users | Where-Object {$_.Roles -eq "Edit"}
$group[0].Title
ForEach($UserAccount in $Useraccounts)
{
Add-SPOUser -Site $siteUrl -Group $group[0].Title -LoginName $UserAccount
}
Write-host $siteUrl "`t users added successfully!" -f Green
}
Similarly, you can add users to site Owners and read-only groups.
No Comments