2012-09-11 46 views
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() 

執行此FirstName場之後被添加到列表中,但這一領域的性質保持不變:

Description ="" 
Required=false 
EnforceUniqueValues=false 

回答

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() 
+0

巨型感謝您的快速反應... 通過我得到這個錯誤,我自己的方式 –

+0

不客氣。如果問題解決了問題,請接受答案。 – jumbo

相關問題