2011-04-08 51 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