查看计算机用户修改密码时间,使用ldap语句查询某时间后没改密码的用户
經常使用Active Directory用戶和計算機控制臺的我們會發現,在左側控制臺樹的最上面有一個“保存的查詢”,通過新建查詢可以看到可以通過圖形界面創建一些簡單的查詢操作。
那么我們如果有一些特殊的查詢要做要怎么來實現呢。這里我們把《查詢某個時間點后沒有改過密碼的用戶》來做為案例來簡單說明一下如何使用LDAP命令在AD控制臺上來建立查詢。
一、關于在AD中密碼修改的信息的存儲格式
在活動目錄中存儲的時間戳跟我們日常使用的時間戳是不一樣的,活動目錄時間戳的存儲方式為:“從1601年1月1號0時起所經過的100納秒的個數”,比如修改密碼時間的屬性LastPwdSet、用戶在域控上最后一次登錄認證的屬性LastLogon等都是以這種格式來保存的
看起來還是挺費勁的,我們來通過實例來計算一下可以更好的理解他們之間的轉換方式
例如:我們要把2013年6月1日0時轉換為活動目錄時間戳
首先我們要計算從從1601年1月1號0時到2013年6月1日0時所經過的秒數。這個我們通過工具來計算
如上圖,通過這個網站可以計算出他們之間所經過的秒數為:13014518400秒
之后再把單位轉換為納秒
13014518400秒*1000000000/=13014518400000000000納秒
最后轉換為活動目錄時間戳
13014518400000000000納秒/100納秒=130145184000000000
好了,得到的一串數字就是活動目錄時間戳,我們來驗證一下是否正確,看是否能把它轉換成標準時間,轉換會標準時間就比較簡單了,通過windows自帶的命令就可以做到
看上圖中標紅的地方,說明我們的時間戳的轉換是成功的。
PS:由于使用這個命令轉換出來的時間為GMT時間格式,他會自動根據我們當前計算機的時區再做一次計算,得出2013/6/1 8:00:00的時間,因為我們轉換前活動目錄時間戳的時區就是我們當前的時區,所以可以忽略掉他自動轉換的時區。
二、LDAP查詢語句
把時間戳之間格式轉換搞明白了之后,我們就可以創建LDAP查詢語句了
按照我們例子中的要求:查詢某個時間點后沒有改過密碼的用戶。
查詢語句如下:
(objectCategory=user)(objectClass=user)(pwdlastset<=時間戳)(!pwdlastset=0)
在這里我們把查詢條件設置為最后一次修改密碼的時間小于等于我們要查詢的時間以及最后一次修改密碼時間不為0的用戶
(如果用戶pwdlastset屬性為0,說明用戶屬性中勾選了“下一次登錄必須修改密碼”的選項)
三、在AD控制臺創建LDAP查詢
好了全部的原理都搞清楚了之后,下面可以新建查詢了
1. Active Directory用戶和計算機,在“保存的查詢”中單擊右鍵選擇“新建”-“查詢”
輸入查詢名稱,并且單擊“定義查詢”
在“查找”中選擇“自定義搜索”,并在“自定義搜索”中選擇“高級”標簽
把我們在(一)中計算出來的時間戳替換到(二)中的查詢語句中,之后再粘貼到當前的對話框中
點擊確定后返回“編輯查詢”的對話框,檢查無誤后點擊確定保存此查詢
返回AD用戶和計算機控制臺,選擇剛才新建的查詢,在右側刷新頁面,這時候可以看到我們查詢的用戶就已經出現在列表了。
四、小結
本文中主要介紹了三個知識點
1. 了解以LastPwdSet、LastLogon等屬性在活動目中保存的時間戳格式
2. 活動目錄時間戳格式的轉換方法
3. 在AD控制臺使用簡單的LDAP命令查詢
在日常管理中,使用在AD控制臺使用LDAP查詢命令可以幫我們更有效的完成很多事情,這種查詢方式的好處就是所有查詢結果全部都輸出的控制臺,我們可以根據需要來手動修改。從而避免了使用其他批量修改腳本所帶來的風險。
總結
以上是生活随笔為你收集整理的查看计算机用户修改密码时间,使用ldap语句查询某时间后没改密码的用户的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle命令行原理,Oracle命令
- 下一篇: 更换锁定计算机图片,电脑锁屏图片怎么设置