使用Powershell和TaskManager在Sharepoint中设置多用户字段

时间:2015-03-10 12:19:32

标签: powershell sharepoint-2013

我使用以下方法使用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包含多个用户的所有项目。错误:“查找值无效。查找字段包含无效数据。请检查该值并重试。”

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

今天遇到同样的问题,我花了一些时间来解决它。

明确的演员解决了我的问题:

$i["lotsofpeoplefield"] = [Microsoft.SharePoint.SPFieldUserValueCollection] $lotsofpeople
$i.SystemUpdate($false);