Skip to main content
2 of 5
edited title

Getting a "User cannot be found." error in Powershell even though i'm getting the users straight from the site collection itself

I am writing a PowerShell script to sync my users to the AD because of a problem i have described Here and from time to time i get a "Set-SPUser : user cannot be found." error but when i call the same command again with the same parameters no error appears and it simply work. I have no problem just writing this line twice so if the error occurs it'll simply work the second time it is called or even running the script twice in a row but i prefer to understan this problem.

the code looks like this:

$allSiteCollections = Get-SPWebApplication [Web-Application-Name]

foreach ($siteCollection in $allSiteCollections.Sites)
{
    $currentWeb = Get-SPWeb $siteCollection.url

    $members = $currentWeb.SiteGroups["Members"]

    foreach ($currentUser in $members.Users)
    {
        Set-SPUser -Identity $currentUser.UserLogin -Web $currentWeb.url -SyncFromAD -Group "Members"
    }
}

If i write the line that throws the error:

Set-SPUser -Identity $currentUser.UserLogin -Web $currentWeb.url -SyncFromAD -Group "Members"

Twice it works perfectly.

Does anybody have any idea why does this happen?

Thanks in advance, Itay.