Рассмотрим особенности предоставления прав удаленного доступа к списку служб, запущенных на сервере, доменным пользователем, у которых отсутствуют права локальных администраторов. По сути задача сводится к предоставлению доступа на удаленное подключение к интерфейсу диспетчера управления службами — Service Control Manager ( SCManager ).
Как выглядит проблема. Допустим, мы хотим, чтобы удаленный пользователь / или система мониторинга могли опрашивать состояние служб на некоем сервере. По понятным причинам этот удаленный пользователь не имеет прав административных права и права на локальный вход на сервер.
При попытке подключиться и получить список служб на удаленном компьютере с помощью консоли services.msc, пользователь получает ошибку:
Windows was unable to open service control manager database on computer_name
Error 5: Access is denied.
C:Windowssystem32>sc \obts-01 query
Рассмотрим, как предоставить удаленный доступ к диспетчеру Service Control Manager для получения списка служб сервера и возможность получения их статусов обычным пользователям (без прав администратора) на примере Windows Server 2012 R2.
Текущие разрешения менеджера сервисов (SCM) можно получить с помощью утилиты sc . exe , выполнив в командной строке, запущенной с правами администратора:
sc sdshow scmanager
Команда вернет примерно такую SDDL строку:
D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)
Следующий этап – получение SID пользователя или группы, которой мы хотим предоставить удаленный доступ к SCM ( Как получить SID пользователя по имени ). К примеру, получим SID AD группы msk-hd так:
Get-ADgroup -Identity 'msk-hd' | select SID
SID
---
S-1-5-21-2470146451-3958456388-2988885117-23703978
В текстовом редакторе в SDDL строке нужно скопировать блок ( A;; CCLCRPRC;;; IU) – (IU – означает Interactive Users)), заменить в скопированном блоке IU на SID пользователя/группы и вставить полученную строку перед S: .
В нашем случае получилась такая строка:
D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC )(A;;CCLCRPRC;;; S-1-5-21-2470146451-3958456388-2988885117-23703978 ) S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)
А теперь с помощью sc.exe изменим параметры дескриптора безопасности Service Control Manager:
sc sdset scmanager “D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)(A;;CCLCRPRC;;;S-1-5-21-2470146451-3958456388-2988885117-23703978)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)“
Проверим, что теперь удаленный пользователь может получать список служб и их статус с помощью консоли управления службами (services.msc) и с помощью запроса sc \server-name1 query
Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…
Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…
Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…
The AC power adapter wattage and type cannot be determined — причины и решение При…
Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…
Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…