WMI-запрос SqlService в PowerShell ничего не возвращает - PullRequest
2 голосов
/ 20 апреля 2011

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

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 20 апреля 2011

Попробуйте

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

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

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

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

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

0 голосов
/ 20 апреля 2011

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...