如何刪除域內非活動計算機賬號?
域內管理很多用戶和計算機,但是常常有無用的用戶和計算機沒有退出域,而浪費域內的資源。如何刪除一段時間內沒有登錄域非活動計算機賬號呢?下文給出了詳細的描述。
命令:dsquery
http://technet.microsoft.com/en-us/library/cc755655.aspx
工具:oldcmp
使用OldCmp,你可以搜索、禁用或者刪除非活動計算機賬號。甚至更好的是,你可以創建一個簡單的批處理文件來使這個過程自動化。
當你用OldCmp來執行一個搜索的時候,你必須指定以下三種可能選項中的至少一種:
-report(生成一張列有非活動計算機賬號的HTML報告列表)
-disable(禁用非活動計算機賬號)
-delete(刪除非活動計算機賬號)
如果你運行OldCmp時只加了-report選項,它會搜索你默認域中所有計算機密碼老化日期大于90天的計算機對象,并且把結果生成為一個HTML報告。如果你的域非常大,并且里面有很多計算機賬號,這條命令可能得花上一段時間來執行完畢。為了減少OldCmp的運行時間,你可以使用-b選項來指定一個特定的組織單元。
OldCmp生成的HTML文件會被放到該工具的運行目錄下,除非你用-file選項指定了一個替換位置。如果你包括了-sh選項,OldCmp會在生成HTML文件后自動打開它。
如果你想定期地生成HTML報告,你所需要做地全部就是創建一個只包含兩行代碼的批處理(.bat)文件,如表1所示。其中***行運行OldCmp,而第二行運行Blat。Blat是一個把文件內容通過電子郵件發送出去的工具,你可以從http://blat.net下載該工具。在第二行中,注意用-to選項設置你自己的電子郵件地址。另外,確認OldCmp和Blat都被放到了你的運行路徑下(即在PATH環境變量中定義的路徑)。
建立了批處理文件之后,你需要創建一個計劃任務。確認你為其指定了一個合適的域賬號和密碼,使該腳本有足夠的權限在域中查詢計算機對象。
辨別非活動計算機賬號很有幫助,但更可能的是,你有時候想清除那些賬號。我的一般建議是先禁用那些非活動賬號,然后經過一個星期或一個月的觀察,再刪除那些禁用了的賬號。這樣能保證確實沒有人在使用我們刪掉的那些賬號。
表2包含的批處理文件是用來刪除禁用的計算機賬號,以及禁用新發現的非活動計算機賬號的。這個批處理文件有兩段命令(注意不要交換次序)。***段用OldCmp刪除禁用了的計算機賬號,并且創建deleted_comps.html報告,接著用Blat把該報告發送到XXX@XXX.com。第二段用OldCmp禁用所有計算機密碼舊于180天的計算機賬號,并且創建disabled_comps.html報告,接著用Blat發送該報告。
在寫OldCmp的時候,Joe考慮到人們可能會意外地刪除或禁用數以千計的計算機賬號,所以他加了一些預防措施,包括你所見到的在每個命令集中都有的-safety和-forreal選項。-safety選項用來限制腳本所能刪除或者禁用的賬號數量。默認情況下,OldCmp不會刪除或禁用超過10個賬號。若把-safety選項值設為100,則OldCmp最多可以刪除100個賬號。-forreal選項用來真正刪除或者禁用賬號。如果不用-forreal選項,OldCmp只會報告它要刪除或禁用的賬號,而不會真正地刪除或者禁用它們。
在使用表2中的批處理文件之前,你需要自定義在兩行Blat命令中的電子郵件地址。此外切記,為了測試,你應該先去掉兩行OldCmp命令中的-forreal選項,然后運行批處理文件來確定OldCmp將要刪除或者禁用的賬號無誤。
表1:建立非活動計算機賬號報告的批處理文件
oldcmp-report-filec:\inactive.html
blatc:\inactive.html-toXXX@XXX.com-html
表2:刪除被禁用的計算機賬號和禁用新發現的非活動計算機賬號的批處理文件
oldcmp-delete-onlydisabled-safety100-forreal-append-filec:\deleted_comps.html
blatc:\deleted_comps.html-toXXX@XXX.com-html
oldcmp-disable-age180-safety100-forreal-append-filec:\disabled_comps.html
blatc:\disabled_comps.html-toXXX@XXX.com-html
希望本文介紹的刪除域內非活動計算機賬號的方法能夠對讀者有所幫助。
【編輯推薦】