Exception Enumerando Instâncias do SQL Server com o SMEG WMI ManagedComputer

1

Estou tentando usar os objetos / API SMI WMI no PowerShell 2.0 no Windows 7 com o SQL Server 2008 R2 instalado para obter uma lista de instâncias do SQL Server no computador local usando o Managed Comuter . No entanto, estou recebendo exceções depois de instanciar os objetos quando tento acessar os dados neles. Estou executando o PowerShell como administrador.

$computer = New-Object Microsoft.SqlServer.Management.Smo.WMI.ManagedComputer ($env:computername)
$computer.ServerInstances

Resultados neste erro:

The following exception was thrown when trying to enumerate the collection: "An exception occurred in SMO while trying to manage a service.".
At line:1 char:89
+ (New-Object Microsoft.SqlServer.Management.Smo.WMI.ManagedComputer ($env:computername)). <<<< ServerInstances
+ CategoryInfo : NotSpecified: (:) [], ExtendedTypeSystemException
+ FullyQualifiedErrorId : ExceptionInGetEnumerator

Existe algum serviço que eu tenho que habilitar para que isso funcione? O serviço WMI está sendo executado. Existe algum outro cenário que eu preciso? Por que não posso enumerar instâncias do SQL Server?

    
por splattered bits 05.06.2013 / 01:51

1 resposta

0

Você está executando este código como administrador? O acesso ao WMI requer privilégios de WMI. No entanto, existe um método alternativo que uso. Eu documentei que aqui: link

[Microsoft.SqlServer.Management.Smo.SmoApplication]::EnumAvailableSqlServers("MyDBServer")
    
por 05.06.2013 / 07:50