Vijai Anand Ramalingam

May 28, 20191 min

How to get all the user properties using powershell in SharePoint 2010

How to get all the user properties using powershell in SharePoint 2010
 

In this article we will be seeing how to get all the user properties using powershell in SharePoint 2010.
 

Get all the user properties:
 

I am getting all the user properties of the current login user in the SharePoint site.
 

$site=Get-SPSite "https://servername:1111/"
 
$web=$site.RootWeb
 
$strLoginName=$web.CurrentUser.LoginName
 
$serverContext=[Microsoft.Office.Server.ServerContext]::GetContext($site)
 
$upm=New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($serverContext)
 
$up=$upm.GetUserProfile($strLoginName)
 
$propertyColl=$up.ProfileManager.PropertiesWithSection
 
foreach($property in $propertyColl)
 
{
 
write-host $property.Name
 
}
 

Sometimes you may receive the following error when you are trying to run the above mentioned powershell script.

To resolve this error refer http://www.c-sharpcorner.com/UploadFile/Blogs/4344/
 

I want to get the particular property value of the current SharePoint site login user. I used the following script to get the custom property value.
 

$site=Get-SPSite "http://servername:1111/"
 
$web=$site.RootWeb
 
$strLoginName=$web.CurrentUser.LoginName
 
$serverContext=[Microsoft.Office.Server.ServerContext]::GetContext($site)
 
$upm=New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($serverContext)
 
$up=$upm.GetUserProfile($strLoginName)
 
$PRID=$up["PRID"].Value
 
write-Host $PRID
 

The same thing can be achieved using C# as shown in the following
 

using System;
 
using System.Collections.Generic;
 
using System.Linq;
 
using System.Text;
 
using Microsoft.SharePoint;
 
using Microsoft.Office.Server.UserProfiles;
 
using Microsoft.Office.Server;

namespace AZUserProperties
 
{

class Program   

{

static void Main(string[] args)      

{

using (SPSite site = new SPSite("https://servername:1111/"))          

{

using (SPWeb web = site.RootWeb)              

{

string strAccountName = web.CurrentUser.LoginName;

try                  

{

ServerContext serverContext = ServerContext.GetContext(site);

UserProfileManager upm = new UserProfileManager(serverContext);

UserProfile up = upm.GetUserProfile(strAccountName);

string PRID = up["PRID"].Value.ToString();

Console.WriteLine("PRID :" + PRID);

Console.ReadLine();                      
 
}

catch (Exception ex)                  

{

Console.WriteLine(ex.Message);
 
}

}
 
}
 
}
 
}
 
}
 

    0