簡體   English   中英

將新用戶添加到 SharePoint 對象時,集合具有固定大小錯誤

[英]Collection was of a fixed size Error when Adding New User to SharePoint object

將用戶添加到 SharePoint 文件夾對象時遇到以下錯誤:

使用“1”個參數調用“Add”的異常:“集合的大小是固定的。”

在 D:\\User\\Script1.ps1:114 char:17 $FPfolder.RoleAssignments.Add($assignment)

  • CategoryInfo: NotSpecified: (:) [], MethodInvocationException
  • FullQualifiedErrorId : NotSupportedException

下面是我的代碼片段:

ForEach ($FPfolderId in $FPfolderSplit)
{
    $query = New-Object Microsoft.SharePoint.SPQuery
    $query.ViewXml = "@<View Scope='RecursiveAll'><Query><Where><Eq><FieldRef Name='Title' /><Value Type='Text'>$FPfolderId</Value></Eq></Where></Query></View>"

    $FPfolder = $FPlist.GetItems($query)

    foreach($role in $FPfolder.RoleAssignments)  
    {
        if ($role.Member.Name.Equals($userToAction))
        {
            $FPfolder.BreakRoleInheritance($true)
            $account = $web.EnsureUser("User1")
            $assignment = New-Object Microsoft.SharePoint.SPRoleAssignment($account)
            $FPfolder.RoleAssignments.Add($assignment)
            $FPfolder.Update()
        }
    }
}

我之前在這里發布了您的問題的答案

在您的情況下, $FPfolder是 ListItems 的集合。 您不能將角色分配添加到集合。

如果您確定$FPfolder是一個僅包含一個元素(文件夾)的集合,只需在$FPlist.GetItems($query)之后添加[0]

或者您可以將$FPfolder重命名$FPfolder $FPfolders並添加額外的 foreach 循環來迭代 SP 文件夾:

ForEach ($FPfolderId in $FPfolderSplit)
{
    $query = New-Object Microsoft.SharePoint.SPQuery
    $query.ViewXml = "@<View Scope='RecursiveAll'><Query><Where><Eq><FieldRef Name='Title' /><Value Type='Text'>$FPfolderId</Value></Eq></Where></Query></View>"

    $FPfolders = $FPlist.GetItems($query)
    foreach($FPfolder in $FPfolders )
    {
        foreach($role in $FPfolder.RoleAssignments) 
        {
            if ($role.Member.Name.Equals($userToAction))
            {
                $FPfolder.BreakRoleInheritance($true)
                $account = $web.EnsureUser("User1")
                $assignment = New-Object Microsoft.SharePoint.SPRoleAssignment($account)
                $FPfolder.RoleAssignments.Add($assignment)
                $FPfolder.Update()
            }
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM