首先,名爲「leppie」的友好用戶試圖幫助我,但我無法獲得我正在尋找的答案,這有點緊急。使用Windows服務獲取Active Directory當前用戶
我運行在Windows 7中的Windows服務與本地系統帳戶(因爲這場比賽的勝利服務將被遠程安裝多臺計算機,靜靜的,我想我需要通過下面的代碼使用本地系統中ServiceInstaller.Designer.cs:
this.ProcessInstaller.Account = System.ServiceProcess.ServiceAccount.LocalSystem;
this.ProcessInstaller.Password = null;
this.ProcessInstaller.Username = null;
當我運行此窗口服務下面的代碼無法獲取當前用戶的憑據登錄(用戶沒有管理員權限,甚至沒有自己)。
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/doma下在帳戶中,但哪個用戶可以這樣做?
this.ProcessInstaller.Account = System.ServiceProcess.ServiceAccount.<User ? LocalService ? NetworkService>;
this.ProcessInstaller.Password = "adminpassword";
this.ProcessInstaller.Username = "adminusername";
我的意思是,讓我們說的ABC用戶是管理員,可以說,我知道這個ABC管理員的用戶名和密碼,但是當這種admin更改密碼,我認爲這會影響我的WINSERVICE這將是在70臺電腦上運行。
有沒有辦法檢索活動目錄上的用戶憑據?我想,如果你給我提供了一些代碼樣本是非常讚賞..
非常感謝你非常多,