Дозвіл на запит WMI


3

У мене є проект щодо видалення прав адміністратора у наших користувачів. Додаток, який ми використовуємо під час оновлення, виконує запит проти WMI:

Namespace: root\Microsoft\sqlserver\computermanagement10
Class: sqlserviceadvancedproperty

Оскільки я видалив права адміністратора від користувача, він не повертає жодних даних при запиті до цього простору імен і класу, і, таким чином, не вдається встановити, кажучи, що відповідна версія SQL Server не встановлена.

Я намагався додавати дозволи до простору імен зверху вниз і не пощастило. Якщо я знову додаю права адміністратора до облікового запису користувача на пристрої, запит знову працює.

Я використовую powerhell для тестування:

gwmi -namespace root\Microsoft\sqlserver\computermanagement10 -class sqlserviceadvancedproperty

Коли я запускаю це без прав адміністратора, він не дає помилки чи взагалі нічого. Він просто повертає нуль і повертає мене до командного рядка. Ран з правами адміністратора, я отримую цілу купу даних.

Хтось має уявлення, до яких конкретних елементів у Windows користувач потребує доступу, щоб мати можливість запитувати певний простір імен WMI?


Наскільки я можу сказати, це місця, необхідні для дозволу: C: \ Windows \ System32 \ WBEM; HKLM \ SOFTWARE \ Microsoft \ WBEM; відповідні дозволи в управлінні WMI (wmimgmt.msc). Ця інформація, здається, не допомагає моїм ОП. Я схиляюсь до інших причин, оскільки не отримую результатів із того самого запиту під час входу в систему як локальний адміністратор.
lightwing

Виявляється, я пропустив обліковий запис під час додавання дозволів до служби MSSQLSERVER в моїй GPO. У вбудованому обліковому записі "SERVICE" повинен бути дозвіл читання на службу, інакше ви не зможете запитувати цей клас WMI. Якщо ви робите sc sdshow mssqlserver з командного рядка, SDDL для "SERVICE" повинен виглядати так: (A ;; CCLCSWLOCRRC ;;; SU). Якщо вам коли-небудь доводиться мати справу з рядками SDDL, я вважаю, що вони дуже корисні: blogs.msmvps.com/erikr/2007/09/26/… та msdn.microsoft.com/en-us/library/windows/desktop/ …
lightwing

1
Прочитайте, чи можу я відповісти на власне запитання? . Ви можете перетворити свій коментар у відповідь;)
DavidPostill

Відповіді:


2

Наскільки я можу сказати, це місця, необхідні для дозволу:

  • C: \ Windows \ System32 \ WBEM

  • HKLM \ SOFTWARE \ Microsoft \ WBEM

  • відповідні дозволи в управлінні WMI (wmimgmt.msc)

Ця інформація, здається, не допомагає моїм ОП. Я не отримую результатів від того самого запиту під час входу в систему як локальний адміністратор після підтвердження цих.

Виявляється, я пропустив обліковий запис під час додавання дозволів до служби MSSQLSERVER в моїй GPO. У вбудованому обліковому записі "SERVICE" повинен бути дозвіл читання на службу, інакше ви не зможете запитувати цей клас WMI. Якщо ти зробиш

sc sdshow mssqlserver 

з командного рядка SDDL для "SERVICE" має виглядати так:

(A;;CCLCSWLOCRRC;;;SU)

Якщо вам коли-небудь доводиться мати справу з рядками SDDL, я вважаю це дуже корисним:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.