關於LDAP的查詢:
1、查詢種類:
A、(objectCategory=computer)
B、(objectCategory=group)
C、(objectCategory=user)
D、(&(objectCategory=person)(objectClass=user))
E、(objectcategory=contact)
2、語法基礎
=---------------------(EQUALTO)等於
eg:(givenName=Wendy)
&-----------------------(logicalAND)和
eg:(&(givenName=Wendy)(l=Q13000000))
!-------------------------(logicalNOT)非
eg:(!givenName=Wendy)
*----------------------(wildcard)通配符
eg:(givenName=We*)
|---------------OR或者
eg:(|(l=Q1300)(l=Q1200))
eg:(&(givenName=Wen*
)(|(l=Q1300*)(l=Q1200*)))
◆查找被disable的user(擁有信箱)
(&(msExchUserAccountControl=2)(!msExchMasterAccountSID=*))
◆查詢被disable的用戶(所有)
(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=2))
◆查詢有描述的計算機
(&(objectCategory=computer)(description=*))
◆查詢有描述的組
(&(objCategory=group)(description=*))
◆查詢所有的組-----開頭為PCQ或者PSH
(&(objectCategory=group)(|(cn=PSH*)(cn=PCQ*)))
◆查詢所屬於群組的用戶
(&(objectCategory=user)(|(memberOf=CN=Pin,OU=Pry,OU=Function,OU=Groups,DC=WEN,DC=COM)(memberOf=CN=PP,OU=Pry,OU=Function,OU=Groups,DC=WEN,DC=CORM)))
1、查詢logonscript路徑不是wendy.vbe的用戶:
(&(!scriptPath=wendy.vbe)(objectCategory=user))
2、查詢被disabled的計算機
(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=2))
3、查詢時間戳早於2012年7月30日的電腦
(&(objectCategory=computer)(lastLogonTimestamp<=129880800000000000))
4、查詢最后一次修改密碼時間小於我們要查詢的時間以及最后一次修改密碼時間不為0的用戶
(objectcategory=user)(objectclass=user)(!pwdlastset<=0)
(如果用戶pwdlastset屬性為0,說明用戶屬性中勾選了“下一次登錄必須修改密碼”的選項)
一、參考:細說LastLogonTimeStamp
LastLogonTimeStamp的值會在所有域控制器間復制。所以管理員只要從一個域控制器上就能得到用戶上次登錄的信息。
http://blogs.technet.com/b/apgceps/archive/2011/10/25/details-about-lastlogontimestamp.aspx
二、參考:LastLogonTimeStamp的值的計算方法
2012年7月30對應於129880800000000000
在活動目錄中存儲的時間戳和我們日常使用的時間戳是不一樣的,是從1601年1月1號開始所經過的100納秒的個數,比如修改密碼時間的屬性lastpwdset,用戶最后一次登錄認證的屬性lastlogon都是以這種形式來存在的
例如:我們要把2012年7月30日0時轉換為活動目錄時間戳
首先我們要計算從從1601年1月1號0時到2012年7月30日0時所經過的秒數。這個我們通過工具來計算
如上圖,通過這個網站可以計算出他們之間所經過的秒數為:12988080000秒
之后再把單位轉換為納秒
12988080000
秒*
1000000000
/=
12988080000000000000
納秒
|
最后轉換為活動目錄時間戳
12988080000000000000
納秒/
100
納秒=
129880800000000000
|
好了,得到的一串數字就是活動目錄時間戳,我們來驗證一下是否正確,看是否能把它轉換成標准時間,轉換會標准時間就比較簡單了,通過windows自帶的命令就可以做到
看圖中說明我們的時間戳已經轉換過來了
PS:由於使用這個命令轉換出來的時間為GMT時間格式,
他會自動根據我們當前計算機的時區再做一次計算,得出2013/6/18:00:00的時間,
因為我們轉換前活動目錄時間戳的時區就是我們當前的時區,所以可以忽略掉他自動轉換的時區。