1. 程式人生 > >取AD使用者和OU屬性欄位名稱

取AD使用者和OU屬性欄位名稱

上找的貌似不全

其它可用欄位,我試了一下,見下表(不全):
使用者帳戶屬性 
字元名“常規”標籤
說明
姓 Sn
名 Givename
英文縮寫 Initials
顯示名稱 displayName
描述 Description
辦公室 physicalDeliveryOfficeName
電話號碼 telephoneNumber
電話號碼:其它 otherTelephone 多個以英文分號分隔
電子郵件 Mail
網頁 wWWHomePage
網頁:其它 url 多個以英文分號分隔
“地址”標籤
國家/地區 C 如:中國CN,英國GB
省/自治區 St
市/縣 L
街道 streetAddress
郵政信箱 postOfficeBox
郵政編碼 postalCode
 
“帳戶”標籤
使用者登入名 userPrincipalName 形如:

[email protected]
使用者登入名(以前版本) sAMAccountName 形如:S1
登入時間 logonHours
登入到 userWorkstations 多個以英文逗號分隔
使用者帳戶控制 userAccountControl (啟用:512,禁用:514, 密碼永不過期:66048)
帳戶過期 accountExpires
 
“配置檔案”標籤
配置檔案路徑 profilePath
登入指令碼 scriptPath
主資料夾:本地路徑 homeDirectory
連線 homeDrive
到 homeDirectory
“電話”標籤
家庭電話 homePhone (若是其它,在前面加other。)
尋呼機 Pager 如:otherhomePhone。
行動電話 mobile 若多個以英文分號分隔。
傳真 FacsimileTelephoneNumber
IP電話 ipPhone
註釋 Info

“單位”標籤
職務 Title
部門 Department
公司 Company

“隸屬於”標籤
隸屬於  memberOf  使用者組的DN不需使用引號, 多個用分號分隔 
“撥入”標籤 遠端訪問許可權(撥入或VPN) msNPAllowDialin
允許訪問 值:TRUE
拒絕訪問 值:FALSE
回撥選項 msRADIUSServiceType
由呼叫方設定或回撥到 值:4
總是回撥到 msRADIUSCallbackNumber 

沒有找到我需要的 萬般無奈之際,只能自己想辦法通過程式碼來獲取想要的資訊

研究了下其實也非常簡單

 string text = string.Empty;
                DirectoryEntry entry = new DirectoryEntry(ConfigurationManager.AppSettings["ldap"], ConfigurationManager.AppSettings["adminname"], ConfigurationManager.AppSettings["password"]);
                //獲取子結點
                System.DirectoryServices.DirectoryEntry subentry = entry.Children.Find(ouname, "organizationalUnit");


                //對子物件進行迴圈
                foreach (DirectoryEntry res in subentry.Children)
                {
                    if (res.Name.ToString().Substring(0, 3) == "CN=" && res.SchemaClassName == "user") //user
                    {
                        foreach (object p in res.Properties)
                        {
                            Response.Write(((System.DirectoryServices.PropertyValueCollection)(p)).PropertyName.ToString() + "=========/n" + ((System.DirectoryServices.PropertyValueCollection)(p)).Value);
                        }
                    }

                    Response.Write("---------------------------------------------------------");
                    if (res.Name.Substring(0, 3) == "OU=")
                    {
                        foreach (object p in res.Properties)
                        {
                            Response.Write(((System.DirectoryServices.PropertyValueCollection)(p)).PropertyName.ToString() + "==============/n"+((System.DirectoryServices.PropertyValueCollection)(p)).Value);
                        }
                    }

可以得到非常全面的AD屬性

相關推薦

AD使用者OU屬性名稱

上找的貌似不全 其它可用欄位,我試了一下,見下表(不全): 使用者帳戶屬性 字元名“常規”標籤說明姓 Sn名 Givename英文縮寫 Initials顯示名稱 displayName描述 Description辦公室 physicalDeliveryOfficeName 電

sqlServer 2008 修改型別重新命名名稱的sql語句

[size=medium]//修改欄位的型別alter table fdi_news alter column c_author nvarchar(50)//重新命名欄位的名稱EXEC sp_rename 'FDI_PROJECT.[c_foreignCountryPer]'

java反射獲取聚合<List>屬性

java反射獲取聚合<List>屬性欄位 2016年09月30日 11:59:40 閱讀數:7997 標籤: javareflect 更多 個人分類: java 需要動態的傳入一個Class的型別,然後反射到啟動的List,根

mysql find_in_set like進行查詢時的對比

find_in_set()和like的區別: 在mysql中,有時我們在做資料庫查詢時,需要得到某欄位中包含某個值的記錄,但是它也不是用like能解決的,使用like可能查到我們不想要的記錄,它比like更精準,這時候mysql的FIND_IN_SET函式就派上用場了,下面來看一個例子。

織夢likearticle標籤呼叫顯示附加(自定義)辦法

在Dedecms文章頁中我們經常會顯示相關文章之類的文章列表,就需要使用{dede:likearticle}標籤,但是預設的 likearticle是不能顯示自定義的附加欄位的。解決辦法: 修改include/taglib/likearticle.lib.php. 大概在178行 $

【MyBatis】解決資料庫名稱與Java實體類屬性名稱不一致問題

問題描述:       有時候在專案中會遇到資料庫欄位名稱與實體類屬性名稱取得不一樣的情況,如下:      資料庫裡的資料為:       此時,如果我們查詢該表的某條資料,Proj

springboot jpa 非hibernatemysql對應如何處理

    背景:程式中的entity物件中欄位expression為json字串欄位,每次前端傳過來的json物件進行轉換會時出現錯誤,由於expression被轉換為了JsonObject型別導致。

LDAP自定義屬性擴充套件實踐

      本文與大家分享和交流LDAP自定義屬性欄位的擴充套件,希望能對大家有所幫助。 一、LDAP(OpenLdap)服務安裝和啟動       LDAP全稱Lightweight Directory Access Protocol,即輕量目錄訪問協議。LDAP採用樹狀

AcrMap通過幾何計算新增shape.lengthshape.area

        為了進行幾何計算(給圖層新增面積、周長欄位),向量圖層必須要進行投影變換,針對現有的圖層(WKID:4326),有兩種處理方式: 方法一:源資料轉換為投影座標系 1.開啟工具箱 2.廣州地區一般投影成這個座標系:WGS_1984_UTM_ZONE

Java 類動態新增屬性

說明:做專案中遇到一種場景,需要根據查詢時間段, 獲取時間段中中每個月份對應的金額(費用統計)。如截圖中的兩列 因為列是動態的, 首先想到的就是後天拼接JSON格式字串, 然後返回到前臺, 組裝表頭及內容。 但是當前系統中easyUI版本為1.2,並不支援 data屬性(官

jQuery easyui dataGrid 動態改變排序名,一般情況下,在使用的時候,我們會點選相應進行排序,這裡以JAVA為例,後端的實體類有可能資料庫的不一致; 如:實體類中的

jQuery easyui dataGrid 動態改變排序欄位名,一般情況下,在使用的時候,我們會點選相應欄位進行排序,這裡以JAVA為例,後端的實體類欄位有可能和資料庫的欄位不一致; 如:實體類中的屬性為userName,前臺filed="userName"而資料庫的欄位

List集合根據儲存物件的屬性排序實現

轉載:來自:https://blog.csdn.net/u013821825/article/details/61202287   java8之前的用法: import java.util.ArrayList; import java.util.Collections;

ArcMap的顯示XY資料:用excel表格的資料來生成點層但不顯示XY屬性

轉載請註明作者(獨孤尚良dugushangliang)出處:https://blog.csdn.net/dugushangliang/article/details/82882391 各位看官,直接看圖: 你說為什麼同樣的資料,有的只顯示d這個欄位,明明還有別的欄

C#中的屬性,,變數

2018年11月11日 21:57:20 qq_29975021 閱讀數:3 標籤: C#

db2前十條記錄 db2修改長度 db2增加方法

                db2取前十條記錄db2 => select istop from news where id =370 fetch first 10 rows onlydb2修改欄位長度db2 alter table db2admin.config alter cvalue set d

Hibernate JPA 根據Java類獲取對應資料庫的表名名稱

專案中使用 Hibernate JPA, 需求是根據 Entity的java 類,來獲取所有的對應的資料庫欄位。 直接上程式碼。 使用者類,對應資料庫的user表 import org.hibernate.validator.constraints.NotBlank;

OracleSQLServer修改的型別長度,不為空

在SQLServer資料庫:       修改欄位型別和長度:               alter table   student|表名  alter col

SQL中刪除單重複多個重複的方法

--刪除OrderDetails表中materialscode欄位重複的行,只保留ID最小的一行資料 delete from OrderDetails where materialscode in (select materialscode from OrderDetails group by

MySQL(1) 基本操作(MySQL的啟動,表的建立,查詢表的結構表的的修改)

MySQL啟動流程 1 啟動伺服器   2 使用者名稱登入到MySQL資料庫中    3  檢視有哪些資料庫   4 使用其中的資料庫    5 檢視該資料庫中已有哪些表,沒有就新建 mysql

mysql 中modifychange區別(以及使用modify修改名稱報錯)

使用modify修改欄位報錯如下: mysql> alter table student modify name sname char(16);ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that