In this article we will be seeing how to modify User Profile Properties in SharePoint 2010 using PowerShell.
Modify User Profile Properties in SharePoint 2010
We can to modify User Profile Properties in SharePoint 2010 from Central Administration.
Go to Central Administration => Application Management => Manage Service Applications => User Profile Service Application.
Click on Manage User Properties
Select the property and then click on Edit to modify the property.
Automation: Modify User Profile Properties in SharePoint 2010 using PowerShell
Here we will be seeing how to modify the following User Profile Properties in SharePoint 2010 using PowerShell.
Steps Involved:
Create the input XML file which contains the inputs for modifying User Profile properties.
Create ps1 file which contains the script for modifying User Profile properties.
ModifyUserProfileProperties.xml
<?xml version="1.0" encoding="utf-8" ?>
<ModifyUserProfileProperties>
<URL>http://serverName:8080/</URL>
<Property Name="Sample1" DisplayName="Sample1 Modified" Description="Sample1 custom user property modified" IsSearchable="$true" IsAlias="$false"></Property>
<Property Name="Sample2" DisplayName="Sample2 Modified" Description="Sample1 custom user property modified" IsSearchable="$true" IsAlias="$false"></Property>
<Property Name="Sample3" DisplayName="Sample3 Modified" Description="Sample1 custom user property modified" IsSearchable="$true" IsAlias="$false"></Property>
</ModifyUserProfileProperties>
ModifyUserProfileProperties.ps1
#----------------Get the xml file---------------------------------------------------------------
[xml]$xmlData=Get-Content"C:\Users\Desktop\ContentSources\ModifyUserProfileProperties.xml"
#----------------Modify the User Profile properties--------------------------------------------- function ModifyUserProfileProperties() {
$site = Get-SPSite $xmlData.ModifyUserProfileProperties.URL $context = Get-SPServiceContext($site) $psm = [Microsoft.Office.Server.UserProfiles.ProfileSubTypeManager]::Get($context) $ps =$psm.GetProfileSubtype([Microsoft.Office.Server.UserProfiles.ProfileSubtypeManager]::GetDefaultProfileName([Microsoft.Office.Server.UserProfiles.ProfileType]::User)) $pspm = $ps.Properties $xmlData.ModifyUserProfileProperties.Property | ForEach-Object{ $property = $pspm.GetPropertyByName($_.Name) if($property -ne $null) { $DisplayName=$_.DisplayName $Description=$_.Description $IsSearchable=$_.IsSearchable $IsAlias=$_.IsAlias $property.CoreProperty.DisplayName=$DisplayName $property.CoreProperty.Description=$Description $property.CoreProperty.IsSearchable = $IsSearchable $property.CoreProperty.IsAlias = $IsAlias $property.CoreProperty.Commit(); $property.Commit() write-host -f green $_.Name property is modified successfully } else { write-host -f yellow $_.Name property does not exists } } }
#----------------Calling the function---------------------------------------------
ModifyUserProfileProperties
Run the Script:
Go to Start.
Click on All Programs.
Click on Microsoft SharePoint 2010 Products and then click on SharePoint 2010 Management Shell.
Run the C:\Users\Desktop\ContentSources\ModifyUserProfileProperties.ps1
Output:
And in the Central Administration you could see the property modified
Comentários