В настоящее время у меня есть служба Windows, написанная на C # (работающая как LocalSystem), которая создает учетную запись пользователя, необходимую для олицетворения, используя DirectoryEntry для добавления пользователя / пароля и связанных пользовательских флагов. Затем он просто использует эту учетную запись для выполнения некоторых задач (используя олицетворение) с использованием функциональности LogonUser () - работает отлично.
Однако эта учетная запись должна использоваться ТОЛЬКО для олицетворения моей службой, пользователь НИКОГДА не сможет войти (даже если он имеет учетные данные) локально или через сеть.
Для этого я попытался установить Локальные политики для «Запретить локальный вход в систему» и «Запретить доступ к этому компьютеру из сети» и добавил пользователя, которого создает моя служба. Однако теперь олицетворение терпит неудачу со следующим:
Ошибка входа: пользователь не получил запрошенный тип входа на этот компьютер (1385)
Итак, я полагаю, что это НЕ правильный способ сделать это ... но мне нужно обезопасить учетную запись, чтобы она могла использоваться только моей службой в целях олицетворения и чтобы никто другой никогда не мог войти в учетную запись. (даже если у них есть все полномочия).
Есть ли в LSA что-то, что я могу использовать? Или используя код DirectoryEntry, аналогичный тому, который был создан при создании учетной записи? Есть ли способ разрешить существование учетной записи, но не разрешить пользователям входить в систему в интерактивном режиме?
Любая помощь будет высоко ценится.
Спасибо,