无法使用sharepoint powershell更新列表字段属性

时间:2012-09-11 10:40:31

标签: sharepoint powershell

如何使用PowerShell更新列表字段属性?当我尝试以下内容时:

$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()  

执行此FirstName字段后会添加到列表中,但此字段的属性保持不变:

Description =""  
Required=false  
EnforceUniqueValues=false  

1 个答案:

答案 0 :(得分:6)

问题是您没有更新字段,并且每次使用时索引器都会返回不同的实例。您必须将字段的实例存储在某个变量中,然后更改它,然后更新它。

更改您的代码:

$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()