站点列页面不可访问

时间:2010-08-11 16:15:00

标签: sharepoint powershell sharepoint-2010

我意外地使用以下

创建了一个名为“Test”的字段类型而不是Text

Powershell命令:

获取网站和网络对象

$site = Get-SPSite -Identity "http://mysite/sites/.."
$web = $site.RootWeb 

#Assign fieldXML variable with XML string for site column
$fieldXML = '<Field Type="Test"...etc.

Poweshell引发了以下错误:

  

使用。调用“AddFieldAsXml”的异常   “1”参数:“字段类型测试是   没有正确安装。去吧   列出设置页面以删除它   领域。 “ 在   C:\脚本\ addsitecolumn.ps1:25   焦炭:26   + $ web.Fields.AddFieldAsXml&lt;&lt;&lt;&lt; ($ fieldXML)       + CategoryInfo:未指定:(:) [],   MethodInvocationException       + FullyQualifiedErrorId:DotNetMethodException

是否有Powershell命令删除测试字段,或者有没有办法到达这些字段的“隐藏”页面?

2 个答案:

答案 0 :(得分:1)

在PowerShell中试试这个:

$web1 = Get-SPWeb "http://testWeb"
$field = $web1.Fields["Test 1"]
$field.Delete()

“测试1”是您之前尝试添加的字段的显示名称。

答案 1 :(得分:1)

我今天遇到了类似的问题。我运行了Sharepoint Manager 2010并从网站集中删除了SchemaXML,发现有3个网站列没有定义。我尝试使用显示名称(即“”)或索引上面的powershell删除它,但没有一个工作,因为item对象将其视为null。然后我发现了这篇文章:

https://sharepoint.stackexchange.com/questions/11945/error-message-field-type-publishing-image-is-not-installed-properly-go-to-the

将其从内容数据库中删除,这对我有用。之后我检查SchemaXML并删除了3个奇怪的站点列。有趣的是,内容类型表如何直接与此问题相关联。