我有一个包含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用户界面,他们会很好地显示出来。
谢谢。
编辑:我必须纠正这个问题。
答案 0 :(得分:0)
您确定要传递给powershell函数的列名是内部名称吗?
http://msdn.microsoft.com/en-us/library/ms480493.aspx
通常情况下,空格会替换为_x0200_
Field A would be Field_x0200_A
答案 1 :(得分:0)
我会确保我正在使用的列表实际上使用了正确的内容类型和字段。您可以使用以下方式检查它们:
$list.fields | format-table
和
$list.contenttypes | format-table