Как узнать, какая учетная запись пользователя запускает конкретную службу Windows? - PullRequest
1 голос
/ 22 августа 2010

Как узнать, используя код C ++, какой пользователь запускает конкретную службу? Программа, которую мне нужно написать, может работать под учетной записью локального администратора, поэтому, я думаю, проблем с разрешениями не будет.

Возможно ли это?

ТИА.

Ответы [ 2 ]

1 голос
/ 22 августа 2010

В зависимости от того, нужен ли вам пользователь запущенной службы или пользователь, указанный в параметрах запуска службы, см. Функции QueryServiceObjectSecurity и QueryServiceConfig в Windows API соответственно.

0 голосов
/ 22 августа 2010

Ниже приведены мои предложения, но я не пробовал ни одного из них. Вы можете использовать QueryServiceConfig2 API с уровнем конфигурации службы, установленным в SERVICE_CONFIG_SERVICE_SID_INFO, а затем использовать LookupAccountSid API, чтобы найти имя учетной записи, связанное со службой. (или) Вы можете использовать API-интерфейсы ToolHelp для перечисления всех процессов и определения учетной записи пользователя, связанной с этим процессом.

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