Create User Profile Section in SharePoint 2010
We can to create new custom section for User Profile in SharePoint 2010 from Central Administration.
1. Go to Central Administration - Application Management - Manage Service Applications - User Profile Service Application.
2. Click on Manage User Properties
3. Click on New Section link to create a new section for user profiles.
Automation: Create User Profile Section in SharePoint 2010 using PowerShell
Here we will be seeing how to create new section for User Profile in SharePoint 2010 using PowerShell.
Steps Involved:
Create the input XML file which contains the inputs for creating User Profile Section.
Create ps1 file which contains the script for creating User Profile Section.
CreateUserProfileSection.xml
<?xml version="1.0" encoding="utf-8" ?>
<UserProfileSection>
<SiteURL>http://serverName:8080/</SiteURL>
<Section Name="CustomSection11" DisplayName="CustomSection11" ></Section>
<Section Name="CustomSection22" DisplayName="CustomSection22" ></Section>
<Section Name="CustomSection33" DisplayName="CustomSection33" ></Section>
<Section Name="CustomSection44" DisplayName="CustomSection44" ></Section>
</UserProfileSection>
CreateUserProfileSection.ps1
#----------------Get the xml file------------------------------------------------------- --------
[xml]$xmlData=Get-Content "C:\Users\Desktop\ContentSources\CreateUserProfileSection.xml"
#----------------Create new custom User Profile section----------------------------------- ---------- function CreateUserProfileSection() { $site = Get-SPSite $xmlData.UserProfileSection.SiteURL $context = Get-SPServiceContext($site) $upcm = New-ObjectMicrosoft.Office.Server.UserProfiles.UserProfileConfigManager($context); $ppm = $upcm.ProfilePropertyManager $cpm = $ppm.GetCoreProperties() $ptpm =$ppm.GetProfileTypeProperties([Microsoft.Office.Server.UserProfiles.ProfileType]::User) $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.UserProfileSection.Section | ForEach-Object{ $property = $pspm.GetSectionByName($_.Name) if($property -eq $null) { $Privacy=$_.Privacy $PrivacyPolicy=$_.PrivacyPolicy $coreProp = $cpm.Create($true) $coreProp.Name = $_.Name $coreProp.DisplayName = $_.DisplayName $cpm.Add($coreProp) write-host -f green $_.Name section is created successfully } else { write-host -f yellow $_.Name section already exists } } }
#----------------Calling the function--------------------------------------------- CreateUserProfileSection
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 theC:\Users\Desktop\ContentSources\CreateUserProfileSection.ps1
Output:
And in the Central Administration you could see the newly created custom sections for user profiles.
コメント