我使用以下方法使用Powershell在Sharepoint中设置/更新多用户字段:
[Microsoft.SharePoint.SPFieldUserValueCollection]$lotsofpeople = New-Object Microsoft.SharePoint.SPFieldUserValueCollection
$user1 = $w.EnsureUser("domain\user1");
$user1Value = New-Object Microsoft.SharePoint.SPFieldUserValue($w, $user1.Id, $user1.LoginName)
$user2 = $w.EnsureUser("domain\user2");
$user2Value = New-Object Microsoft.SharePoint.SPFieldUserValue($w, $user2.Id, $user2.LoginName);
$lotsofpeople.Add($user1Value);
$lotsofpeople.Add($user2Value);
$i["lotsofpeoplefield"] = $lotsofpeople;
$i.SystemUpdate($false);
这在PS编辑器中效果很好但是一旦我在Win TaskManager中将其设置为重复任务,它就会失败,因为SPFieldUserValueCollection包含多个用户的所有项目。错误:“查找值无效。查找字段包含无效数据。请检查该值并重试。”
有什么想法吗?
答案 0 :(得分:2)
今天遇到同样的问题,我花了一些时间来解决它。
明确的演员解决了我的问题:
$i["lotsofpeoplefield"] = [Microsoft.SharePoint.SPFieldUserValueCollection] $lotsofpeople
$i.SystemUpdate($false);