2011-04-20 77 views
2

我试图在PowerShell中运行简单的Get-WmiObject调用。PowerShell中的SqlService WMI查询不会返回任何内容

Get-WmiObject -computerName $srv -namespace root\Microsoft\SqlServer\ComputerManagement -class SqlService 

当具有管理员权限的远程服务器的帐户下运行,我得到没有响应。该命令完成,但没有显示数据。在对服务器没有权限的帐户下运行此命令时,我收到“拒绝访问”消息。

当我直接在远程服务器上运行这个服务时,我得到“Invalid namespace”,但服务器肯定是我们的SQL Server 2008

为什么这种脚本不按预期返回对象?

回答

3

尝试

Get-WmiObject -computerName $srv -namespace root\Microsoft\SqlServer\ComputerManagement10 -class SqlService 

在几台机器我有,命名空间是ComputerManagement10

BTW,以防万一,你需要找到的命名空间的名称:

Get-WmiObject -ComputerName $srv -NameSpace root\Microsoft\SQLServer -Class "__NAMESPACE" | Select Name 

上面的命令会告诉你正确的命名空间的名称。

+0

原来所有我需要做的是增加“10”到ComputerManagement结束。谢谢。 – Peter 2011-04-20 05:42:15

0

您是否使用get-service -computername $srv -include “*sql*”查看服务?

我还要检查类是否存在于:

Get-WmiObject -Namespace root\Microsoft\SqlServer\ComputerManagement10 -List

相关问题