Позвольте частям программы работать как учетная запись с низким уровнем привилегий

У меня есть установщик пользовательских действий, который должен проверить, достаточно ли у нас разрешений для запуска службы Windows. В программе установки можно выбрать три режима, один из которых "Запуск от имени NetworkService".

Я хочу показать сообщение, если у меня возникли проблемы с разрешениями при доступе к определенным данным в качестве сетевой службы.

Для этого проще всего олицетворять сетевой сервис и пытаться получить доступ к необходимым данным. Однако, когда я ищу "Олицетворение", я должен либо предоставить пароль, которого у меня нет:

using (new Impersonation(domain, username, password))
{
    // do whatever you want
}

или я должен предоставить userToken, который я могу получить только через LogonUser с паролем:

public static WindowsImpersonationContext Impersonate(
    IntPtr userToken
)

или я могу только выдать себя за себя

using(WindowsIdentity.GetCurrent().Impersonate())
{
     //your code goes here
}

Теперь, каков будет способ выдать себя за встроенную учетную запись с низким уровнем привилегий, для которой у меня нет пароля?

0 ответов

Другие вопросы по тегам