【问题标题】:Powershell CSOM Sharepoint online list permissionPowershell CSOM Sharepoint 在线列表权限
【发布时间】:2014-03-13 02:45:29
【问题描述】:

我一直在编写一个脚本来连接到在线 SharePoint,创建一个文档库并将一些 AD 帐户添加到权限中。我已经使用通过多次搜索找到的 sn-ps 编写了所有代码,但是权限部分存在问题。

将用户和权限类型添加到角色定义绑定时,我不断收到错误消息。 错误是:

集合尚未在第 0 行 char 0 处初始化。

这是我的代码

$collRdb = new-object Microsoft.SharePoint.Client.RoleDefinitionBindingCollection($ctx)
$collRdb.Add($role)
$collRoleAssign = $web.RoleAssignments;
$ctx.Load($principal)
$collRoleAssign.Add($principal, $collRdb)

$ctx.ExecuteQuery()

问题在于它运行 $collRoleAssign.Add($principal, $collRdb) 部分并停止并出现上述错误。

在我的电脑从窗口启动之前,我真的很感激能帮我解决这个问题。

谢谢 标记

编辑

所有代码均取自该页面:

http://jeffreypaarhuis.com/2012/06/07/scripting-sharepoint-online-with-powershell-using-client-object-model/

唯一的变化是我使用了 get principal fun 而不是 get 组,但不确定是否是这样做的。我对 powershell 很陌生。

谢谢

【问题讨论】:

  • 您给了我们一段 sn-p 代码,但它引用了我们不知道它们是什么的变量。什么是本金? $网络是什么? $角色是什么? $ctx 是什么?

标签: sharepoint powershell


【解决方案1】:

如果之前没有加载,我认为你不能在 $collRoleAssign 中添加一些东西。 你得到一个错误,因为它有空值。

我会这样写的:

$collRoleAssign = $web.RoleAssignments
$ctx.Load($collRoleAssign)

评论:我想你之前已经设置了 $principal

$ctx.Load($principal)

评论:这里我假设 $collRdb 已设置并加载

$collRoleAssign.Add($principal, $collRdb)
$ctx.ExecuteQuery()

顺便说一句,有个“;”在你的代码中不应该存在

我没有尝试过,但这应该会有所帮助!

西尔万

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 2018-01-03
    • 1970-01-01
    • 2017-11-23
    • 2011-06-17
    • 2010-11-07
    • 2016-09-06
    • 2023-03-27
    • 2016-01-03
    相关资源
    最近更新 更多