I’m working with a SharePoint farm where the AD synchronization is not working, and we had a user who for some strange reason did not have an email address in SharePoint and could not get alerts. So while we are working out the AD problem, here’s how I quickly added an email address for this user:
$user = Get-SPUser domain\username -web http://yourserver/sites/yoursitecollection `check to see if they have an email address $user.Email `set an email address $user.Email = "email@example.com" $user.Update()
Simple… and quick. But you will need to do this for each site collection the user has access to.
More on Get-SPUser: http://technet.microsoft.com/en-us/library/ff607580.aspx
More on the SPUser object that’s returned by Get-SPUser: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spuser.aspx
.More on all of the properties and members of SPUser: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spuser_members.aspx