2011-04-08 54 views
1

我有一個具有1種內容類型的自定義列表。該內容類型具有它從中無法獲得的父內容類型。以多種內容類型編程創建視圖

類型1有3個域:

字段A, 字段B, C區域

類型2具有2個字段並且繼承類型1:

領域d, 域E

我是以編程方式創建幾個視圖。當我做到這一點通過SP UI它的偉大工程,沒有抱怨,但是當我做在PowerShell腳本中,像這樣:

$web = Get-SPWeb [Site URL] 
$list = $web.Lists[ListName] 

$list.Views.Add($viewName, $includeFieldsCollection, $query, 100, $true, $false) 
$web.Dispose() 

其中$ includeFieldsCollection是各個領域的A-E。

我得到的錯誤:

Exception calling "Add" with "6" argument(s): "Column 'Field A' does not exist. It may have been deleted by another user." 

我怎樣才能做到這一點在PowerShell中?它不希望看到從較高範圍獲得的列。如果我看看SP UI,它們顯示得很好。

謝謝。

編輯:我得改正這個問題。

+0

什麼'ListName'代表:您可以使用檢查他們?那裏不應該是一個字符串? – 2011-04-09 05:25:24

回答

0

您確定要傳遞給powershell函數的列名是內部名稱嗎?

http://msdn.microsoft.com/en-us/library/ms480493.aspx

通常空間與_x0200_

Field A would be Field_x0200_A 
+0

我意識到這個問題完全是另一回事,但這個答案是我遇到的。所以我將其標記爲答案。實際問題最終成爲劇本佈局的方式。我知道它的工作原理!謝謝 – 2011-04-11 15:36:32

0

代替我會確保我與實際使用正確的內容類型和領域的工作列表。

$list.fields | format-table

$list.contenttypes | format-table