显示名称 |
属性名称 |
First Name |
givenName |
Last Name |
sn |
Initials |
initials |
Description |
description |
Office |
physicalDeliveryOfficeName |
Telephone Number |
telephoneNumber |
Telephone: Other |
otherTelephone |
|
|
Web Page |
wwwHomePage |
Web Page: Other |
url |
帐号属性:
显示名称 |
属性名称 |
UserLogon Name |
userPrincipalName |
User logon name (pre-Windows 2000) |
sAMAccountname |
Logon Hours |
logonHours |
Log On To |
logonWorkstation |
Account is locked out |
userAccountControl |
User must change password at next logon |
pwdLastSet |
User cannot change password |
N/A |
Other Account Options |
userAccountControl |
Account Expires |
accountExpires |
地址属性
显示名称 |
属性名称 |
Street |
streetAddress |
P.O.Box |
postOfficeBox |
City |
l |
State/Province |
st |
Zip/Postal Code |
postalCode |
Country/Region |
c, co, and countryCode |
成员属性
显示名称 |
属性名称 |
Member of |
memberOf |
Set Primary Group |
primaryGroupID |
组织属性
显示名称 |
属性名称 |
Title |
title |
Department |
department |
Company |
company |
Manager:Name |
manager |
Direct Reports |
directReports |
外型属性
显示名称 |
属性名称 |
Profile Path |
profilePath |
Logon Script |
scriptPath |
Home Folder: Local Path |
homeDirectory |
Home Folder: Connect |
homeDrive |
Home Folder: To |
homeDirectory |
电话相关属性
显示名称 |
属性名称 |
Home |
telephoneNumber |
Home: Other |
otherTelephone |
Pager |
pager |
Pager: Other |
pagerOther |
Mobile |
mobile |
Mobile: Other |
otherMobile |
Fax |
facsimileTelephoneNumber |
Fax: Other |
otherFacsimileTelephoneNumber |
IP phone |
ipPhone |
IP phone: Other |
otherIpPhone |
Notes |
info |
C#操作AD例子:
GetUserEntry
public static DirectoryEntry GetUserEntryByAccount(DirectoryEntry entry, string account)
{
DirectorySearcher searcher = new DirectorySearcher(entry);
searcher.Filter = "(&(objectClass=user)(SAMAccountName=" + account + "))";
SearchResult result = searcher.FindOne();
entry.Close();
if (result != null)
{
return result.GetDirectoryEntry();
}
return null;
}
Set Property
public static void SetProperty(DirectoryEntry entry, string propertyName, string propertyValue)
{
if (entry.Properties.Contains(propertyName))
{
if (string.IsNullOrEmpty(propertyValue))
{
object o = entry.Properties[propertyName].Value;
entry.Properties[propertyName].Remove(o);
}
else
{
entry.Properties[propertyName][0] = propertyValue;
}
}
else
{
if (string.IsNullOrEmpty(propertyValue))
{
return;
}
entry.Properties[propertyName].Add(propertyValue);
}
}
Get Property
public static string GetProperty(DirectoryEntry entry, string propertyName)
{
if (entry.Properties.Contains(propertyName))
{
return entry.Properties[propertyName].Value.ToString();
}
else
{
return string.Empty;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器