2011-04-20 151 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

相關問題