Spring til indholdet

Opdater SharePoint-grupper i alle webs i en SiteCollection med PowerShell

Et PowerShell-script, der giver membergruppen i hvert web i en SiteCollection Contribute i stedet for Edit.

Opdateret SharePointPowerShell 1 min. læsning

Lad os sige, at man har et væld af subwebs i en sitecollection. Hvert web har unikke rettigheder og unikke grupper.

Man vil gerne opdatere alle membergrupper, så de har Contribute-rettigheder i stedet for Edit-rettigheder. Skal alle ownergrupper eller visitorgrupper opdateres i stedet, ændres scriptet bare tilsvarende.

Sådan gør man:

 1# Get the URL of your SiteCollection
 2$site = Get-SPSite https://intranet.domain.com/path/site
 3
 4#Go through each site
 5foreach ($web in $site.AllWebs)
 6{
 7# Get the Member group of the current site
 8$group = $web.Groups | Where {$_.Name -Like 'Member*'}
 9echo $group.Name
10$ra = $group.ParentWeb.RoleAssignments.GetAssignmentByPrincipal($group)
11
12# Define the permissionlevel you wish to remove
13$rd = $group.ParentWeb.RoleDefinitions["Contribute"]
14$ra.RoleDefinitionBindings.Add($rd)
15
16# Define the permissionlevel you wish to add
17$rd = $group.ParentWeb.RoleDefinitions["Edit"]
18$ra.RoleDefinitionBindings.Remove($rd)
19
20$ra.Update()
21$group.Update()
22$web.Dispose()
23}

Kilde: http://sharepoint.stackexchange.com/questions/70071/need-to-remove-permission-level-from-a-sharepoint-group-using-powershell

Alle noter