【问题标题】:SharePoint CSOM Copy - RoleAssignmentSharePoint CSOM 复制 - 角色分配
【发布时间】:2016-05-15 12:15:14
【问题描述】:

希望你能帮助我。 我正在编写一个在共享点环境中执行若干修改的 powershell 脚本。

我想将网络上的 RoleAssignments 复制到同一网站集中的另一个。基本上,当我在控制台中运行我的命令手册时它可以工作,但在运行脚本时它不会工作。

我做的是这个。

    $RoleAssignmentMember =  $RoomWebRoleAssignment.Member
    $RoleBindings =  $RoomWebRoleAssignment.RoleDefinitionBindings
    $ctx.Load($RoleAssignmentMember)
    $ctx.Load($RoleBindings)
    $ctx.ExecuteQuery()


    $Web.RoleAssignments.Add($RoleAssignmentMember, $RoleBindings)
    $ctx.ExecuteQuery()

在控制台中运行 $Web.RoleAssignments.Add($RoleAssignmentMember, $RoleBindings) 有效.. 不在脚本中.. 我收到一个错误,表明集合尚未准备好.. 但实际上它是^^..

有什么想法吗?希望你能帮忙 问候

【问题讨论】:

  • 嗨!请问您是如何从第一个站点获得 $RoomWebRoleAssignment.Member 和 $RoomWebRoleAssignment.RoleDefinitionBindings 的?谢谢!
  • 我通过上下文加载它们。类似于(SpWeb 是 Web 的 CSOM 对象)ctx.Load(spWeb, w=>w.RoleAssignments.Include(assignment => assignment.PrincipalId, ......))

标签: powershell sharepoint csom


【解决方案1】:

对不起,我太傻了。

对于有兴趣的人:

# Load it
$ctx.Load($Web.RoleAssignments.Add($RoleAssignmentMember, $RoleBindings));
$ctx.ExecuteQuery();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多