2012-02-23 12 views
0

特定のサイトコレクションのすべてのサブWebで機能を有効にするPowerShellスクリプトを作成しようとしています。実際の機能を有効にしようとしました。私はどこでものSharePoint APIを使用することに成功していますが、私はこれを取得する場合:PowerShellとSharePoint 2007: "Add"と引数の数が "2"のオーバーロードが見つかりません

$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) 

この例外は私にとっては意味がありません。また、ここでのリソースや重要な用語の検索に役立つものは何も見つかりません。

誰もこれまでにこのような経験がありますか?もしそうなら、私はそれをどのように訂正しますか?

+0

$ Feature.IdがSystem.Guid型であると仮定して、わかりません。この例外は、Addメソッドを間違って使用していることを意味しますが、MSDNをチェックすると、GUIDとブール値をとる* Addメソッドが表示されます。http://msdn.microsoft.com/en-us/library/ ms465255.aspx –

+0

それは私が混乱しているものです。 –

答えて

0

私は、アクティブ化されているフィーチャのSPFeatureDefinitionを返す関数を作成しました。明らかに、2つのアイテムの配列を返していました。配列の2番目の項目はSPFeatureDefinitionであり、私はこれを認識していませんでした。だから、その関数を呼び出した後、私はこれをした:

$Feature = $Feature[1] 

この後、すべてうまくいきました。

関連する問題