This script can be used to update any user profile property value. In my case I used this for removing “No Title” in SharePoint 2010 Org Chart.
Environment
- No Job Tile in AD Attributes.
- No Mapping in SharePoint 2010 UPA.
Scenario
- Organization Chart shows “No Title”.
- Functional Team requested not to add Job Title in AD. Alternatively Roles are used.
- No Roles should be used in ORG CHART.
Requirement
- Remove “No Title” from ORG CHART.
- Do not update roles in ORG CHART.
- Do not update title in AD.
Considerations
- Do not execute this script to update values if it is mapped in AD
- Do not try in production with out testing
- Please update the CSV file with NTName and with the field name as required
- The CSV file should have headers with NTName and desired field name (Use Internal Name)
- No CSV file available – Please create one as required.
Code
# -----------------------------------------------------------------------------
# Script : SharePoint Farm 2010 User Property Update.
# Author : Chendrayan Venkatesan
# Purpose : To update user profile property value for all.
# Custom : Any User Profile Property can be changed in bulk.
# -----------------------------------------------------------------------------
#. Disclaimer
#. Please do not use this script if you have property mapped with AD attribute
#Set up default variables
$mySite = "mysitename"
$upAttribute = "<Any User Profile Property Name>"
#Get site objects and connect to User Profile Manager service
$site = Get-SPSite $mySiteUrl
$context = Get-SPServiceContext $site
$profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context)
#Create Lists from each item in CSV file
$csvData = Import-Csv -Path "Path of the CSV File"
foreach ($line in $csvData)
{
#Check to see if user profile exists
if ($profileManager.UserExists($line.NTName))
{
#Get user profile and change the value
$up = $profileManager.GetUserProfile($line.NTName)
$up[$upAttribute].Value = $line.PropertyVal
$up.Commit()
}
else
{
write-host "Profile for user"$line.NTName "cannot be found"
}
}
#Dispose of site object
$site.Dispose()
Download Code
Update User Profile Property Values for All Users
(Visited 193 times, 1 visits today)
