PowerShell和SharePoint 2007:找不到“添加”的重载和参数计数:“2”

时间:2012-02-23 22:43:12

标签: sharepoint powershell

我正在尝试编写一个PowerShell脚本,以便在给定网站集的所有子网站上启用一项功能,一切都在顺利进行,直到我尝试启用实际功能。我成功地在任何地方使用SharePoint API,但是当我到达这个时:

$activatedFeature = $web.Features.Add($Feature.Id, $true)

我得到一个荒谬的例外,我似乎无法弄明白。

System.Management.Automation.MethodException: Cannot find an overload for "Add" and the argument count: "2".
at System.Management.Automation.Adapter.FindBestMethod(String methodName, MethodInformation[] methods, Object[] arguments, Boolean& expandParamsOnBest)
at System.Management.Automation.DotNetAdapter.MethodInvokeDotNet(String methodName, Object target, MethodInformation[] methodInformation, Object[] arguments)
at System.Management.Automation.Adapter.BaseMethodInvoke(PSMethod method, Object[] arguments)
at System.Management.Automation.ParserOps.CallMethod(Token token, Object target, String methodName, Object[] paramArray, Boolean callStatic, Object valueToSet)
at System.Management.Automation.MethodCallNode.InvokeMethod(Object target, Object[] arguments, Object value)
at System.Management.Automation.MethodCallNode.Execute(Array input, Pipe outputPipe, ExecutionContext context)
at System.Management.Automation.AssignmentStatementNode.Execute(Array input, Pipe outputPipe, ExecutionContext context)
at System.Management.Automation.StatementListNode.ExecuteStatement(ParseTreeNode statement, Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)

我不能说这个例外对我来说很有意义,我也无法从这里找到任何有用的资源或搜索关键术语。

之前有没有人经历过这样的事情?如果是这样,我该如何纠正呢。

1 个答案:

答案 0 :(得分:0)

我编写了一个函数来返回正在激活的功能的SPFeatureDefinition,显然它返回了两个项目的数组。数组中的第二项是SPFeatureDefinition,我不知道这一点。所以,在调用该函数之后我做了这个:

$Feature = $Feature[1]

在此之后,一切正常。