Tuesday, June 3, 2014

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 ="http://sharepoint.crescent.com/SharePointSupport/"
$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

Same thing can be done in C# also to get user email address programmatically.

You might also like:
SharePoint Usage Reports
Usage reports, collaboration and audit for SharePoint.
Document SharePoint Farm
Automatically generate SharePoint documentation.

Check out these SharePoint products:

No comments :

Post a Comment

Please Login and comment to get your questions answered!

You might also like:

Related Posts Plugin for WordPress, Blogger...