查詢長期未登入的AD帳號

2021-09-21 10:28:09 字數 1171 閱讀 1581

接近年底,公司內部及外部的審計又開始了。這次公司內部的審計人員比以往專業很多,問了很多帳號管理(申請,離職,公用帳號等方法的管理),確實讓我小忙一把。

還真被他們審核出不了問題。

對於個人帳號,全部上系統申請,參考hr資料庫建立,同時在離職時hr系統自動禁用帳號,隔日發報表給相關人員進行統一刪除。

對於公用帳號,有些部門之前申請的,即使不用了他們也不會通過it部門去取消,所以公用帳號可能會一直在增加,但it人員也無法去管理(帳戶資訊可能已經不準確)

下面介紹一命令,在win2008如果有安裝ad服務,該命令已經有包含。

dsquery 命令,

dsquery user可查詢ad 使用者資訊(我之前有一篇文章,dsquery computer可查詢ad計算機帳戶,兩者處理的方式是一樣的)

以下是一條命令

dsquery user "dc=contoso,dc=com" -scope subtree -inactive 13 -limit 1 | dsmove -newparent "ou=olduser,dc=contoso,dc=com"

解釋:dsquery user 查詢ad user帳號

"dc=contoso,dc=com" 為查詢的ad路徑

-scope subtree為查詢範圍,此處為包含下級各目錄

-inactive 13 為13週未登入過的帳號,一般3個月強制變更密碼,所以13週沒登入的話這個帳號應該是沒有在使用了

-limit 1為一次操作一條記錄 (由於通過管道 | 傳給dsmove命令進行再次操作,所以此次只能為1)

| 為管道操作符

dsmove 將查詢到的物件移到指定ou

-newparent "ou=olduser,dc=contoso,dc=com" 為目標ou,用於存放查詢到的使用者物件

以上的命令一次只能執行乙個user物件,所以我還得寫個bat命令,讓其迴圈執行多次,所以我暫時將上以命令儲存為d.bat吧

再建立乙個c.bat檔案,執行時由c.bat去呼叫d.bat(每次查詢過期帳戶時,也都只執行c.bat,c.bat和d.bat放在同一目錄下)

for /l %%a in (1,1,1000) do d.bat  這個命令是指重複執行d.bat程式 1000次,當然啦這個次數你可以改。

我已附上附件,各位如果要實踐的話,只要改下網域名稱,並在域中新建個ou,用於存放過期帳號。

如何查詢並刪除AD域中多餘的計算機帳號?

如何將過期的計算機從computers容器中自動清除?因為有很多時候沒有按正常的方法退域,導致在ad的computers容器中存在很多過時的計算機,有沒有辦法讓它自動清除呢 對我們廣大網路管理員來說,使用者帳號和計算機帳號的管理是我們最長見也是最難管理一項工作。我們知道頻繁的系統重灌和加入域的過程會...

非AD環境下帳號的備份和恢復

1 帳號的備份 windows2000的resource kit中提供了乙個方便的工具 addusers,匯出帳號和群組資訊的命令格式為 addusers d filename.txt 同時他也支援網路匯出 addusers servername d filename.txt 2 密碼的備份 去 的...

關於AD的查詢操作

我今天才剛剛看了看ad以及ad程式設計方面的東西,看到了在.net中可以使用system.directoryservices來操作ad。directoryentry de new directoryentry ldap domaintext 查詢 directorysearcher src new ...