Прежде всего, добрый пользователь по имени " leppie " пытался помочь мне, но я не смог получить ответ, который я ищу, и это своего рода неотложный вопрос.
Я запускаю службу Windows в Windows 7 с учетной записью LocalSystem (поскольку эта служба win будет установлена на многих компьютерах удаленно и без вывода сообщений, я думаю, что мне нужно использовать LocalSystem в ServiceInstaller.Designer.cs по коду ниже:
this.ProcessInstaller.Account = System.ServiceProcess.ServiceAccount.LocalSystem;
this.ProcessInstaller.Password = null;
this.ProcessInstaller.Username = null;
Когда я запускаю эту службу Windows, приведенный ниже код не может получить учетные данные пользователя, вошедшего в систему (у пользователей нет прав администратора, даже у меня самого).
using (DirectoryEntry de = new DirectoryEntry("LDAP://MyDomainName"))
{
using (DirectorySearcher adSearch = new DirectorySearcher(de))
{
adSearch.Filter = "(sAMAccountName=" + Environment.UserName + ")";
SearchResult adSearchResult = adSearch.FindOne();
UserInternalEmail = GetProperty(adSearchResult, "mail");
}
}
Мне предложили запустить WinServiceпод учетной записью AD / LDAP / домена, но каким пользователем это может быть?
this.ProcessInstaller.Account = System.ServiceProcess.ServiceAccount.<User ? LocalService ? NetworkService>;
this.ProcessInstaller.Password = "adminpassword";
this.ProcessInstaller.Username = "adminusername";
Я имею в виду, скажем, пользователь ABC является администратором и, скажем, я знал пароль и имя пользователя этого администратора ABC,но когда этот администратор изменит пароль, я думаю, что это повлияет на мой winservice, который будет работать на 70 компьютерах.
Есть ли способ получить учетные данные пользователя?ntials в активном каталоге?Буду очень признателен, если вы предоставите мне несколько примеров кода ..
Большое спасибо,