In this article we will be seeing how to delete a user property in SharePoint 2010
using PowerShell.
Delete User Property in SharePoint 2010
We can delete a user property in SharePoint 2010 from Central Administration.
Go to Central Administration => Application Management => Manage Service
Applications => User Profile Service Application.
![Delete user property in SharePoint 2010 using PowerShell]()
Click on Manage User Properties
![Delete user property in SharePoint 2010 using PowerShell]()
Click on the User property and then click on Delete in the ECB menu. You could
see the user property will be deleted successfully.
Automation: Delete user property in SharePoint 2010 using PowerShell
Here we will be seeing how to delete a user property in SharePoint 2010 using
PowerShell.
Steps Involved:
- Create the input xml file which contains
the inputs for deleting user property.
- Create ps1 file which contains the script
for deleting user property.
DeleteUserProperty.xml
<?xml
version="1.0"
encoding="utf-8"
?>
<DeleteUserProperty>
<SiteURL>http://serverName:8080/</SiteURL>
<Property
Name="Sample1"
></Property>
<Property
Name="Sample2"
></Property>
<Property
Name="Sample3"
></Property>
<Property
Name="Sample4"
></Property>
</DeleteUserProperty>
DeleteUserProperty.ps1
#----------------Get
the xml file---------------------------------------------------------------
[xml]$xmlData=Get-Content
"C:\Users\Desktop\ContentSources\DeletUserProperty.xml"
#----------------Create
delete User Property ---------------------------------------------
function
DeleteUserProperty()
{
$site = Get-SPSite $xmlData.DeletUserProperty.SiteURL
$context = Get-SPServiceContext($site)
$upcm = New-Object
Microsoft.Office.Server.UserProfiles.UserProfileConfigManager($context)
$cm = $upcm.ConnectionManager
$pdtc = $upcm.GetPropertyDataTypes()
$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.DeletUserProperty.Property | ForEach-Object{
$property = $pspm.GetPropertyByName($_.Name)
if($property -ne $null)
{
Write-Host -f Magenta "Deleting" $_.Name "property ............."
$cpm.RemovePropertyByName($_.Name)
Write-Host -f Green $_.Name "property is deleted successfully"
}
else
{
Write-Host -f Yellow $_.Name "property does not exists"
}
}
}
#----------------Calling the
function---------------------------------------------
DeleteUserProperty
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\DeleteUserProperty.ps1