我尝试使用PowerShell将CSV文件复制到SharePoint 2010列表中。但是,当我尝试将用户名导入人员选择器字段时,我收到错误:
Get-SPUser:您必须指定有效的用户对象或用户身份
这是我使用的powershell:
$Item["Assigned To"] = Get-SPUser -Identity $i."AssignedTo" -web "http://.../"
有什么想法吗?
答案 0 :(得分:0)
$ i。" AssignedTo"看起来像?
Identity
参数需要有效的登录名(DOMAIN \ username)。
编辑:鉴于AssignedTo字段包含用户名和姓,您可以查询/ _catalogs / users列表以获取站点中用户的ID(假设名字和姓氏与FullName字段匹配)列表)然后使用该ID来查找用户。
这样的事情可以解决问题:
$web = get-spweb http://.../
$query = new-object microsoft.sharepoint.SPQuery
$query.Query = [string]::Format("<Where><Eq><FieldRef Name='Title' /><Value Type='Text'>{0}</Value></Eq></Where>", $i."AssignedTo")
$list = $web.GetList("/sites/dev/_catalogs/users")
$items = $list.GetItems($query)
$i = $items[0]
$id = $i.Id
$user = $web.AllUsers.GetById($id)
$Item["Assigned To"] = $user