I'm trying to get this to work in PowerShell:

$spListItem[$ppField] = "domain\username"

This gives me the following error:

Exception calling "Update" with "0" argument(s): "Invalid data has been used to update the list item. The field you are trying to update may be read only."

I know by that SharePoint is expecting something like 3;domain\username

What's the easiest way to get this? I hope I don't have to iterate over the full SPUserCollection.

2 Answers 2


Here is the solution:

 [Microsoft.SharePoint.SPUser]$spuser =    $spWeb.EnsureUser("domain\username")         
 $spListItem[$newSMTName] =  $spuser  

You could also use the following

$spUser = Get-SPUser -Identity "domain\username" -Web $web;
$spListItem[$ppField] = $spUser;

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.