sharepoint - Create Multiple SPGroups in all the subsites if the SPGroups doesn't exist using power Shell script -



sharepoint - Create Multiple SPGroups in all the subsites if the SPGroups doesn't exist using power Shell script -

i need create 2 spgroups in subsites multiple advertisement grouping members added group.

for example,

i have sub sites x,y,z under site i have groups grouping a, grouping b members of grouping member1, member2, member3 members of grouping b member1, member2, member3, member4, member5 i need create groups in sub sites if doesn't exist.

please allow me know improve approach.

i trying using powerfulness shell.

$spweb = $web.read() if ($spweb.sitegroups[$groupname] -ne $null){ throw "group $groupname exists!" } if ($spweb.site.webapplication.useclaimsauthentication){ $op = new-spclaimsprincipal $ownername -identitytype windowssamaccountname $mp = new-spclaimsprincipal $membername -identitytype windowssamaccountname $owner = $spweb | get-spuser $op $member = $spweb | get-spuser $mp } else { $owner = $spweb | get-spuser $ownername $member = $spweb | get-spuser $membername } $spweb.sitegroups.add($groupname, $owner, $member, $description) $spgroup = $spweb.sitegroups[$groupname] $spweb.roleassignments.add($spgroup) $spweb.dispose()

#create xml details new groups , menbers groups <?xml version="1.0"?> <groups> <group name="groupa" description="test groupa" permissionlevel="contribute"> <users> <user>domain\member1</user> <user>domain\member2</user> <user>domain\member3</user> </users> </group> <group name="groupb" description="test groupb" permissionlevel="read"> <users> <user>domain\member1</user> <user>domain\member2</user> <user>domain\member3</user> <user>domain\member4</user> <user>domain\member5</user> </users> </group>

#now create script file below script #get site , web objects $site = get-spsite https://portal/site/test/ #get sub sites under web foreach($web in $site.allwebs) { #get xml file containing groups , associated users $groupsxml = [xml] (get-content ("c:\temp\groups.xml")) #walk through each grouping node defined in xml file $groupsxml.groups.group | foreach-object { [string]$permissionlevel = $_.permissionlevel #check see if sharepoint grouping exists in site collection if ($web.sitegroups[$_.name] -eq $null) { #if sharepoint grouping doesn't exist - create name , description values @ node $web.sitegroups.add($_.name, $web.currentuser, $null, $_.description) $newgroup = $web.sitegroups[$_.name] } #get sharepoint grouping site collection $group = $web.sitegroups[$_.name] #add users defined in xml sharepoint grouping $_.users.user | foreach-object { $group.adduser($_, "", "", "") } $roleassignment = new-object microsoft.sharepoint.sproleassignment($group) $roledefinition = $web.site.rootweb.roledefinitions[$permissionlevel] $roleassignment.roledefinitionbindings.add($roledefinition) $web.roleassignments.add($roleassignment) write-host "group name: "$group" created @ site: " $web.url } #dispose of web , site objects $web.dispose() $site.dispose() }

sharepoint powershell-v2.0 spgroup

Comments

Popular posts from this blog

model view controller - MVC Rails Planning -

ruby on rails - Devise Logout Error in RoR -

html - Submenu setup with jquery and effect 'fold' -