In this article we will be seeing how to enable audience targeting for
SharePoint list using PowerShell.
Go to List => List Settings => General Settings => Audience targeting
settings.
You can add the audience targeting field by enabling the "Enable audience
targeting".
Using C#
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
Microsoft.SharePoint;
using
System.Xml;
namespace
AudienceTargeting
{
class Program
{
static void
Main(string[] args)
{
using (SPSite
site = new SPSite("http://serverName:1111/"))
{
using (SPWeb
web = site.RootWeb)
{
SPList list=web.Lists["cl"];
XmlElement fldElement =
new XmlDocument().CreateElement("Field");
fldElement.SetAttribute("ID",
"61cbb965-1e04-4273-b658-eedaa662f48d");
fldElement.SetAttribute("Type",
"TargetTo");
fldElement.SetAttribute("Name",
"TargetTo");
fldElement.SetAttribute("DisplayName",
"Target Audiences");
fldElement.SetAttribute("Required",
"FALSE");
list.Fields.AddFieldAsXml(fldElement.OuterXml);
list.Update();
}
}
}
}
}
Using PowerShell
$site=Get-SPSite "http://serverName:1111/"
$web=$site.RootWeb
$list=$web.Lists["cl"]
$xmldata = new-object "System.Xml.XmlDocument"
$fldElement =$xmldata.CreateElement("Field")
$fldElement.SetAttribute("ID", "61cbb965-1e04-4273-b658-eedaa662f48d")
$fldElement.SetAttribute("Type", "TargetTo")
$fldElement.SetAttribute("Name", "TargetTo")
$fldElement.SetAttribute("DisplayName", "Target Audiences")
$fldElement.SetAttribute("Required", "FALSE")
$list.Fields.AddFieldAsXml($fldElement.OuterXml)
$list.Update()