使用Powershell为sharepoint文件夹分配权限

使用Powershell为sharepoint文件夹分配权限,powershell,sharepoint,Powershell,Sharepoint,我是powershell的新手,对Sharepoint有点经验。 我需要将列表中文件夹的权限分配给具有“贡献”的特定用户 网站是 名单:表格1 文件夹:001 用户:contoso\user001 我想要尽可能简单的代码来为一个用户分配文件夹001的“贡献”权限 非常感谢大家 当我在谷歌上搜索这个主题时,每一条线索都会回到这个网站,但我无法让它工作。如果有人能为我调整我的信息或为我做一个新的代码,这将是非常感谢。我很乐意接受你们的回答,并以此提高你们的声誉! 目前我使用的是: Add-PSSna

我是powershell的新手,对Sharepoint有点经验。 我需要将列表中文件夹的权限分配给具有“贡献”的特定用户

网站是 名单:表格1 文件夹:001 用户:contoso\user001

我想要尽可能简单的代码来为一个用户分配文件夹001的“贡献”权限

非常感谢大家

当我在谷歌上搜索这个主题时,每一条线索都会回到这个网站,但我无法让它工作。如果有人能为我调整我的信息或为我做一个新的代码,这将是非常感谢。我很乐意接受你们的回答,并以此提高你们的声誉!

目前我使用的是:

Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue
Add-SPShellAdmin
cls

$site = new-object Microsoft.SharePoint.SPSite("http://contoso.com/stores")
$web = $site.OpenWeb()

function GrantUserpermission($userName)
{
[Microsoft.SharePoint.SPUserCollection]$spusers=    [Microsoft.SharePoint.SPUserCollection]$web.SiteUsers
[Microsoft.SharePoint.SPUser]$spuser=$spusers[$userName]
$sproleass=new-object Microsoft.SharePoint.SPRoleAssignment([Microsoft.SharePoint.SPPrincipal]$spuser)
$folder.BreakRoleInheritance("true")
$sproleass.RoleDefinitionBindings.Add($web.RoleDefinitions["Contribute"])
$folder.RoleAssignments.Add($sproleass);
Write-Host "Permission provided for user ", $userName
}
$doclib=[Microsoft.SharePoint.SPDocumentLibrary]$web.Lists["Form1"]
$foldercoll=$doclib.Folders;
foreach($folder in $foldercoll)
{
Write-Host $folder.Name
if($folder.Name.Equals("001"))
{

GrantUserPermission("Contribute")
}

}
Write-Host "Completed...."
$web.Close()
$site.Dispose()

调用
GrantUserPermission
函数时,需要传入现有SharePoint用户的用户id。现在,您正在通过要分配的权限级别。这已在角色绑定中设置

if($folder.Name.Equals("001"))
{
   # don't pass the permission level here --> GrantUserPermission("Contribute")
   # pass a valid SharePoint user.
   GrantUserPermission("adventureworks\jdoe")
}

在您链接的示例中,有什么不起作用?这就是问题所在,我不知道。最后它只是说“已完成”,但我看不到任何错误或任何东西。当我检查时,没有分配权限。也许是我没有把正确的价值观放在正确的地方。有了我在第一篇文章中指出的值,如果有人能在脚本的正确位置放置正确的值,我就可以在我的环境中测试它