Как получить текущее имя учетной записи пользователя из службы Windows? Учетная запись не является локальной - это учетная запись домена. Каждый метод, который я пробовал, не очень хорош и возвращает только учетную запись LocalService.Получение имени учетной записи пользователя из службы windows
ответ
Служба работает в контексте пользователя LocalService. Если вы хотите получить имя пользователя, зарегистрированного в интерактивном/RDP сеансе (не может быть ни одного, одного или нескольких зарегистрированных пользователей), вы должны использовать API служб терминалов с помощью PInvoke. Вот начальная точка для этого: WTSEnumerateSessions
Я использовал этот метод WindowsIdentity.GetCurrent(False).Name
в пространстве имен System.Security.Principal
, и это сработало. Я бег VS2010 и .NET Framework 4
Я добавил строку в моей службе, чтобы написать следующую строку в текстовом файл:
String.Format("Currently logged on account: {0}", System.Security.Principal.WindowsIdentity.GetCurrent(False).Name)
Это возвращаемый учет соответствующего Windows, при которых службе Windows была Бег.
При работе под учетной записью Local Service
вернулся NT AUTHORITY\LOCAL SERVICE
При работе под моей учетной записи домена dom\name.lastname
он вернулся DOM\Name.Lastname
Вы можете указать учетную запись, под которой будет выполняться служба на вкладке «Log On» из Диалог свойств службы.
- 1. Получить идентификатор пользователя учетной записи пользователя Windows только по имени учетной записи
- 2. Получение имени учетной записи пользователя клиента, обращающегося к отчету ssrs
- 3. Служба Windows Установка учетной записи пользователя
- 4. Тихая установка msi из учетной записи локальной службы службы Windows
- 5. об учетной записи службы и незарегистрированных пользователя
- 6. Службы аутентификации/отчетности форм - Получение имени пользователя
- 7. Изменение имени пользователя учетной записи GitHub
- 8. Требования к учетной записи службы Windows?
- 9. Получение идентификатора пользователя uniqe из учетной записи Microsoft
- 10. Извлечение учетной записи пользователя
- 11. доступ к учетной записи пользователя microsoft учетной записи пользователя из моего приложения в телефоне Windows 8
- 12. Missing учетной записи службы
- 13. Проверьте имя пользователя и пароль учетной записи Windows
- 14. Как получить тип учетной записи пользователя Windows?
- 15. C# .NET Получение имени пользователя машины с использованием службы Windows
- 16. Получение информации пользователя из учетной записи google в android
- 17. Извлечение учетной записи пользователя из ActiveDirectory
- 18. Изменить имя учетной записи учетной записи пользователя в WHM
- 19. Windows Universal App Получить имя пользователя из учетной записи Microsoft
- 20. Ошибка учетной записи службы из API календаря
- 21. Drupal: Получение имени пользователя на странице учетной записи пользователя, не нарушая производительность
- 22. Блокировка учетной записи пользователя
- 23. Изменение имени учетной записи и пароля в службах Windows удаленно
- 24. получение локального токена пользователя для пользователя социальной учетной записи
- 25. Требуется ли включить делегирование Windows для учетной записи службы сервера?
- 26. Получение 403 - Запрещено для учетной записи службы Google
- 27. Как получить специальные пути Windows для учетной записи пользователя из службы
- 28. Как получить права пользователя и привилегии учетной записи пользователя Windows
- 29. получение имени учетной записи в appengine подключен проект андроида
- 30. Получение имени пользователя в Android
Служба Windows запускается без входа в систему. Что вы ожидаете, если ни один пользователь не зарегистрировал его? Если вошло несколько человек? – Oded
Что отображается на вкладке «Вход в систему» при настройке службы? И что конкретно вы пробовали? – CoreTech
@Oded Да, службы Windows запускаются без участия пользователя, но для службы Windows требуется учетная запись, под которой она будет запущена. Я считаю, что он ищет учетную запись, под которой работает служба Windows. –