Запрос SqlService WMI в PowerShell ничего не возвращает

Я пытаюсь выполнить простой вызов Get-WmiObject в PowerShell.

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

При запуске под учетной записью с правами администратора на удаленный сервер я получаю ответ no. Команда завершается, но данные не отображаются. При запуске этой команды под учетной записью, у которой нет прав на сервер, я получаю сообщение «Отказано в доступе».

Когда я запускаю это на удаленном сервере напрямую, я получаю «Недопустимое пространство имен», но сервер определенно является нашим SQL Сервер 2008.

Почему такой сценарий не возвращает объект, как ожидалось?


person Peter    schedule 20.04.2011    source источник


Ответы (2)


Пытаться

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

На нескольких моих компьютерах используется пространство имен ComputerManagement10.

Кстати, на всякий случай вам нужно найти имена пространств имен:

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

Приведенная выше команда сообщит вам правильные имена пространств имен.

person ravikanth    schedule 20.04.2011
comment
Оказалось, что все, что мне нужно было сделать, это добавить 10 в конец ComputerManagement. Спасибо. - person Peter; 20.04.2011

Вы проверили услуги с get-service -computername $srv -include “*sql*”?

Я бы также проверил, присутствует ли класс в:

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

person Emiliano Poggi    schedule 20.04.2011