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

Vik*_*gar 1 powershell sharepoint

如何使用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()  
Run Code Online (Sandbox Code Playgroud)

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

Description =""  
Required=false  
EnforceUniqueValues=false  
Run Code Online (Sandbox Code Playgroud)

jum*_*mbo 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()  
Run Code Online (Sandbox Code Playgroud)