TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
C# Corner
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Create Permission Level and Group in Sharepoint using PowerShell Script
Sushant Kesari
Oct 14
2015
Code
1.7
k
0
0
facebook
twitter
linkedIn
Reddit
WhatsApp
Email
Bookmark
expand
permission level and
Add-PSSnapin Microsoft.SharePoint.PowerShell
[xml]$xmldata=Get-Content ../XML/customgroups.xml
$xmldata.CustomGroups
try
{
# Get data from XML
$site=Get-SPSite $xmldata.CustomGroups.siteinfo.siteurl
$web=$site.RootWeb
$owner= $xmldata.CustomGroups.siteinfo.owner
foreach
( $permissionlevel
in
$xmldata.CustomGroups.PermissionLevels.PermissionLevel)
{
##Role Definition for Custom Permission level
$customPermissionLevel=New-Object Microsoft.SharePoint.SPRoleDefinition
$customPermissionLevel.Name= $permissionlevel.Name
$customPermissionLevel.Description=$permissionlevel.Description
#Add Permissions, defined in XML
$permissions= $permissionlevel.permissions
$customPermissionLevel.BasePermissions=
"$permissions"
$web.RoleDefinitions.Add($customPermissionLevel);
Write-Host $permissionlevel.Name
" Custom Permission Level is Created Successfully."
-ForegroundColor Green
}
#Add group in SharePoint Site
foreach
( $Group
in
$xmldata.CustomGroups.Groups.Group)
{
$permissionLevel = $Group.PermissionLevelName;
$groupName = $Group.GroupName;
$web.SiteGroups.Add($Group.GroupName,$web.Site.Owner,$
null
,$Group.GroupDescription)
if
($web.SiteGroups[$Group.GroupName] -ne $
null
)
{
#Add Permission for group
$group = $web.SiteGroups[$Group.GroupName]
$roleAssignment =
new
-
object
Microsoft.SharePoint.SPRoleAssignment($group)
$roleDefinition = $web.RoleDefinitions[$permissionLevel];
$roleAssignment.RoleDefinitionBindings.Add($roleDefinition);
$web.RoleAssignments.Add($roleAssignment)
$web.Update()
Write-Host
"$groupName Custom Group is created with $permissionLevel permission level"
-foregroundcolor Green
}
else
{
Write-Host
"$groupName Group does not exist."
-foregroundcolor Red
}
}
$web.Dispose()
$site.Dispose()
}
catch
{
Write-Host
"Error occured: $_"
-ForegroundColor Red
}
SharePoint
PowerShell
script