如何在PowerShell中解析模糊类型名称?

时间:2016-02-05 18:15:00

标签: sql-server powershell

我试图在PowerShell 2及更高版本中实例化Microsoft.SqlServer.Management.Smo.Server。我安装了SQL Server 2012和2014。当我调用以下内容时,我得到一个模糊的类型名称错误。

[Microsoft.SqlServer.Management.Smo.Server]$srv = New-Object "Microsoft.SqlServer.Management.Smo.Server" $serverInstance

结果是关于类型名称歧义的错误,因为安装了两个版本的SMO:

  

New-Object:输入名称' Microsoft.SqlServer.Management.Smo.Server'是   不明确的,它可能是' Microsoft.SqlServer.Management.Smo.Server,   Microsoft.SqlServer.Smo,版本= 12.0.0.0 ,Culture =中性,   公钥= 89845dcd8080cc91'要么   ' Microsoft.SqlServer.Management.Smo.Server,Microsoft.SqlServer.Smo,   版本= 11.0.0.0 ,文化=中立,PublicKeyToken = 89845dcd8080cc91'。

我尝试过添加类型和其他方法来加载特定的程序集,但它仍然存在歧义。

解决方法可能是使用get-item而不是new-object,尽管我还没有完全通过更改来测试我的脚本。

如何在PowerShell中解决这种不明确的类型名称?

1 个答案:

答案 0 :(得分:1)

由于PetSerAl经常将答案作为评论发布(如果他们发布答案,我会承认并删除):

        request.post(options, function(error, response, body){
            var parsedJSON = JSON.parse(body);

            callback && callback(null, parsedJSON);
        });