Позвольте частям программы работать как учетная запись с низким уровнем привилегий
У меня есть установщик пользовательских действий, который должен проверить, достаточно ли у нас разрешений для запуска службы 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
}
Теперь, каков будет способ выдать себя за встроенную учетную запись с низким уровнем привилегий, для которой у меня нет пароля?