I want to create a Function with a single command line to add a SP Group to a Folder within a Documents Library.
Structure:
- Site
- Document Library
- Folder (Permissions/Group(s) to be added here)
- Items (Documents)
- Folder (Permissions/Group(s) to be added here)
- Document Library
I have...
function Add-SPPermissionToListGroup
{
param ($Url, $ListName, $GroupName, $PermissionLevel)
$web = Get-SPWeb -Identity $Url
$list = $web.Lists.TryGetList($ListName)
if ($list -ne $null)
{
if ($list.HasUniqueRoleAssignments -eq $False)
{
$list.BreakRoleInheritance($True)
}
else
{
if ($web.SiteGroups[$GroupName] -ne $null)
{
$group = $web.SiteGroups[$GroupName]
$roleAssignment = new-object Microsoft.SharePoint.SPRoleAssignment($group)
$roleDefinition = $web.RoleDefinitions[$PermissionLevel];
$roleAssignment.RoleDefinitionBindings.Add($roleDefinition);
$list.RoleAssignments.Add($roleAssignment)
$list.Update();
Write-Host "Successfully added $PermissionLevel permission to $GroupName group in $ListName list. " -foregroundcolor Green
}
else
{
Write-Host "Group $GroupName does not exist." -foregroundcolor Red
}
}
}
$web.Dispose()
}
...which I got from Add group to Library permissions using powershell
Q: How do I modify the above to get what I need? I have tried a few things but no success.
TIA