1

如何使用 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  
4

1 回答 1

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()  
于 2012-09-11T10:51:46.110 回答