2017-02-16 4 views
0

PowerShellを使用してCSVファイルをSharePoint 2010リストにコピーしようとしました。しかし、私はエラーを取得しています人々ピッカーのフィールドにユーザー名をインポートしよう:Get-SPUesr:有効なユーザーオブジェクトまたはユーザーIDを指定する必要があります

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

任意のアイデア:私が使用PowerShellが

ここ

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

のですか?

答えて

0

$ iの "AssignedTo"はどのように見えますか?

Identityパラメータには、有効なログオン名(DOMAIN \ username)が必要です。


EDITは:AssignedToフィールドは最初のユーザーが含まれていることを考えると最後の名前は、あなたが/ _catalogs /ユーザーがサイトにユーザーの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 
+0

をジョン・ドウ – Jakpa

+0

などの姓は、私は私の答えを更新しましたCSVファイル内の「AssignedTo」欄は、ファーストネーム+で、あなたの応答をあなたにマーティンに感謝この情報に従って –

+0

ちなみに、最も簡単な解決策は、ユーザー名をCSVファイルに保存し、これを元のスクリプトで使用することです。 –

関連する問題