Get User E-mail Address from List Item “Created By” using PowerShell

For a PowerShell automation work, I had to retrieve the Email ID of the user who has created a particular list item. Here is the nifty PowerShell script to retrieve E-mail ID from created by field:

Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue

#Function to get User's Email from User ID 
Function GetUserEmail($UserValue)
    #Uservalue: E.g: "1;#user name";
 $arr = $UserValue.Split(";#");
 $UserID = $arr[0];
 $user = $web.SiteUsers.GetById($UserId); 
 #the above line returns: SPUser Object
 return $user.Email

$WebURL =""
$ListName ="Site Requests"

#Get the Web and List 
$Web = Get-SPWeb $WebURL  
$list = $web.Lists[$ListName]

#Get an Item by id
$item = $list.GetItemByID(1)

 #Get Created by User details
 #$item["Author"] Returns something like: 3;#Salaudeen
 $CreatorMail = GetUserEmail($item["Author"])

 Write-Host $CreatorMail

The same thing can also be done in C# to get user email addresses programmatically.

Salaudeen Rajack

Salaudeen Rajack - Information Technology Expert with Two decades of hands-on experience, specializing in SharePoint, PowerShell, Microsoft 365, and related products. Passionate about sharing the deep technical knowledge and experience to help others, through the real-world articles!

2 thoughts on “Get User E-mail Address from List Item “Created By” using PowerShell

Leave a Reply

Your email address will not be published. Required fields are marked *