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);
}
}
}
}
}
}