0
A
回答
0
您可以使用類似以下內容:
List<string> LdapUsers = new List<string>();
if (String.IsNullOrWhiteSpace(domain))
{
string username = WindowsIdentity.GetCurrent().Name;
domain = username.Substring(0, username.IndexOf("\\"));
}
PrincipalContext context;
if (!String.IsNullOrWhiteSpace(user) && !String.IsNullOrWhiteSpace(password) && !String.IsNullOrWhiteSpace(domain))
context = new PrincipalContext(ContextType.Domain, domain, user, password);
if (!String.IsNullOrWhiteSpace(domain))
context = new PrincipalContext(ContextType.Domain, domain);
else
context = new PrincipalContext(ContextType.Domain);
UserPrincipal userP = new UserPrincipal(context);
userP.Enabled = true;
PrincipalSearcher pS = new PrincipalSearcher();
pS.QueryFilter = userP;
PrincipalSearchResult<Principal> result = pS.FindAll();
foreach (Principal p in result)
LdapUsers.Add(domain + "\\" + p.SamAccountName);
1
你可以嘗試以下。
PrincipalContext ctx = new PrincipalContext(ContextType.Machine,Environment.MachineName);
UserPrincipal user = new UserPrincipal(ctx);
user.Name = "*";
PrincipalSearcher ps = new PrincipalSearcher();
ps.QueryFilter = user;
PrincipalSearchResult<Principal> result = ps.FindAll();
foreach (Principal p in result)
{
using (UserPrincipal up = (UserPrincipal)p)
{
MessageBox.Show(up.Name);
}
}
或者這樣:
using System.Management;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
SelectQuery query = new SelectQuery("Win32_UserAccount");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
foreach (ManagementObject envVar in searcher.Get())
{
Console.WriteLine("Username : {0}", envVar["Name"]);
}
Console.ReadLine();
}
0
另一種方式來搜索域用戶:
using System.DirectoryServices;
using System.DirectoryServices.ActiveDirectory;
using (var domain = Domain.GetCurrentDomain())
using (var directoryEntry = domain.GetDirectoryEntry())
using (var directorySearcher = new DirectorySearcher(directoryEntry, "(&(objectCategory=person)(objectClass=user))"))
{
directorySearcher.PageSize = 1000;
using (var searchResults = directorySearcher.FindAll())
{
foreach (SearchResult searchResult in searchResults)
{
using (var userEntry = searchResult.GetDirectoryEntry())
{
Console.WriteLine(userEntry.Properties["cn"][0]);
}
}
}
}
相關問題
- 1. MySQL - 如何在所有用戶的帳戶中插入值
- 2. 如何在.net中使用服務帳戶訪問域用戶的日曆?
- 3. powershell或.net - 如何接收帶有域名的域帳戶
- 4. 使用Javascript檢索帳戶的所有子帳戶
- 5. 如何檢索我的域中的所有用戶
- 6. Twitter4j:顯示在特定用戶帳戶上搜索詞的所有推文
- 7. .NET中的父子用戶帳戶
- 8. 如何使用Dynamics CRM SDK搜索潛在客戶或帳戶?
- 9. 如何在PowerShell中訪問用戶帳戶的域名
- 10. JAVA從所有Windows用戶帳戶檢索所有打印機
- 11. 如何在web應用中創建子域用戶帳戶
- 12. 如何檢索Android中所有帳戶的密碼?
- 13. 域帳戶vs用戶帳戶
- 14. 如何在區域中迭代帳戶中的所有S3存儲桶
- 15. 如何獲取包括本地系統帳戶在C#中的所有帳戶?
- 16. 檢索所有用戶asyncronously .NET的MVC
- 17. twitter4j搜索具有特定帳戶創建日期的用戶
- 18. 搜索重複帳戶
- 19. 如何更改我的用戶帳戶域Team Foundation Server中
- 20. 搜索公司內部的所有Gmail帳戶
- 21. 如何檢索聯繫人的所有可用帳戶?
- 22. 在LDAP中搜索用戶
- 23. 雲帳戶搜索索引的分頁
- 24. 如何刪除我的HyperTrack帳戶上的所有用戶?
- 25. 檢索帳戶中所有有效廣告的Facebook Insights?
- 26. 如何使用conda cli搜索所有用戶的包?
- 27. 我如何所有AD用戶帳戶導出指定的OU
- 28. 獲取SharePoint中的所有Twitter帳戶
- 29. Amazon S3中的子帳戶(如Nirvanix)(子帳戶,客戶帳戶)
- 30. 我如何從iPhone中的用戶帳戶獲取所有上傳的視頻
是否域或只針對本地用戶的第二個工作? – ChrFin
專門針對正確使用本地用戶的用戶 –