Vikas Dagar
Vikas Dagar

Reputation: 143

Not able to update list field properties using sharepoint powershell

How do I use PowerShell to update list field properties? When I try the following:

$site = Get-SPSite -Identity "http://vikas:26112/"

$web= $site.OpenWeb()   

$spList = $web.GetList("/Lists/Support Links") 
$spFieldType = [Microsoft.SharePoint.SPFieldType]::Text
$spList.Fields.Add("FirstName",$spFieldType,$false)
$spList.Fields[“FirstName”].Description = “My FirstName Field”
$spList.Fields[“FirstName”].Required=$true
$spList.Fields["FirstName"].EnforceUniqueValues=$true
$spList.update()

$web.Dispose()  

After executing this FirstName field is added to list but properties of this field remains unchanged:

Description =""  
Required=false  
EnforceUniqueValues=false  

Upvotes: 1

Views: 11581

Answers (1)

jumbo
jumbo

Reputation: 4868

The problem is that you are not updating the field and that indexer is returning different instances each time you use it. You must store the instance of the field in some variable, then change it, then update it.

Change your code like this:

$site = Get-SPSite -Identity "http://vikas:26112/"
$web= $site.OpenWeb()   
$spList = $web.GetList("/Lists/Support Links") 
$spFieldType = [Microsoft.SharePoint.SPFieldType]::Text
$spList.Fields.Add("FirstName",$spFieldType,$false)
$field = $spList.Fields[“FirstName”]
$field.Description = “My FirstName Field”
$field.Required=$true
$field.EnforceUniqueValues=$true
$field.update()

$web.Dispose()  

Upvotes: 6

Related Questions