2016-02-05 88 views
0

希望你能幫助我。 我正在研究一個在sharepoint環境中執行多處修改的powershell腳本。SharePoint CSOM Copy - RoleAssignment

我想將網站上的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)工程..沒有在..劇本我得到一個錯誤的收集還沒有準備好。但實際上可以是^^ ..

任何想法?希望你能幫助 Greetz

+0

嗨!我可以問你如何從第一個網站獲取$ RoomWebRoleAssignment.Member和$ RoomWebRoleAssignment.RoleDefinitionBindings? THKS! – mafalda

+0

我通過上下文加載它們。喜歡的東西(的SPWeb是web的CSOM對象) ctx.Load(的SPWeb中,w => w.RoleAssignments.Include( 賦值=> assignment.PrincipalId, ...... )) –

回答

0

對不起,傻了我。

對誰感興趣的人:

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