无法将'System.Object []'转换为'Microsoft.SharePoint.PowerShell.SPSolutionPipeBind'类型

时间:2014-02-13 22:44:21

标签: sharepoint-2013 windows-server-2012

尝试将.wsp部署到SharePoint 2013门户时出现此错误。有人有什么想法吗?

Get-SPSolution:无法将'System.Object []'转换为参数'Identity'所需的'Microsoft.SharePoint.PowerShell.SPSolutionPipeBind'类型。不支持指定的方法。 在C:\ 360Install \ Version 4.1 SP6 \ Setup \ Data \ Scripts \ SharePoint2010 \ Common \ SIMapping.psm1:229 char:37 + $ existingSolution = Get-SPSolution $ SolutionId -ErrorAction SilentlyContinue + ~~~~~~~~~~~     + CategoryInfo:InvalidArgument:(:) [Get-SPSolution],ParentContainsErrorRecordException     + FullyQualifiedErrorId:CannotConvertArgument,Microsoft.SharePoint.PowerShell.SPCmdletGetSolution

2 个答案:

答案 0 :(得分:1)

当向参数提供集合(通常是期望对象)时,通常会出现此错误。为了更好地理解,我在下面提供了一个例子:

$ssa = Get-SPEnterpriseSearchServiceApplication
Get-SPEnterpriseSearchMetadataCrawledProperty  -SearchApplication $ssa -Category 'Business Data' | Where {$_.Name -Match "GetProduct"} | ft Name

上面的示例将引发您遇到的相同错误。现在,在上述情况下,服务器上安装了多个搜索服务应用程序。因此第一行代码返回一个集合而不是一个对象。在第二行中,您可以注意到该集合正被分配给属性搜索应用程序,这需要一个对象。

答案 1 :(得分:0)

我也有同样的困难!

当我尝试解决停留在“开始”状态的搜索爬网时。

进一步挖掘,我发现它无法检索拓扑组件的运行状况。因此,我正在尝试使用此方法使用powershell(lol)构建搜索拓扑。这是我的ref

但是,在此步骤中:“ $ newTopology = New-SPEnterpriseSearchTopology -SearchApplication $ ssa”, 我遇到了同样的错误:

New-SPEnterpriseSearchTopology : Cannot convert 'System.Object[]' to the type
'Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind'
required by parameter 'SearchApplication'. Specified method is not supported.
At line:1 char:66
+ $newTopology = New-SPEnterpriseSearchTopology -SearchApplication $ssa
+                                                                  ~~~~
    + CategoryInfo          : InvalidArgument: (:) [New-SPEnterpriseSearchTopo
   logy], ParameterBindingException
    + FullyQualifiedErrorId : CannotConvertArgument,Microsoft.Office.Server.Se
   arch.Cmdlet.NewSearchTopology