2017-02-16 11 views
0

Я пытался скопировать CSV-файл в список SharePoint 2010 с помощью PowerShell. Однако, когда я пытаюсь импортировать имена пользователей в поле людей захватывающего я получаю ошибку:Get-SPUesr: вы должны указать действительный объект пользователя или идентификатор пользователя

Get-SPUser : You must specify a valid user object or user identity

Вот PowerShell я использовал:

$Item["Assigned To"] = Get-SPUser -Identity $i."AssignedTo" -web "http://.../" 

Любые идеи?

ответ

0

Что такое $ i. «AssignedTo» выглядит?

Параметр Identity ожидает действительного имени входа (DOMAIN \ username).


EDIT: Учитывая, что поле AssignedTo содержит пользователь первое и последнее имя, вы можете запросить список в/_catalogs/пользователей, чтобы получить идентификатор пользователя в месте (при условии, что первая и фамилия совпадает поле FullName в списке), а затем использовать этот идентификатор для поиска пользователя.

Что-то вроде этого следует сделать трюк:

$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 
+0

Спасибо вам Мартина за ваш ответ, колонка «AssignedTo» в файле CSV является Имя + Фамилия как John Doe – Jakpa

+0

Я обновил свой ответ согласно этой информации. –

+0

Кстати, самым простым решением было бы сохранить имя пользователя в CSV-файле и использовать его (и ваш оригинальный скрипт) –