嗨,Scripting Guy!

嗨,Scripting Guy!

歡迎使用 TechNet 專欄,Microsoft Scripting Guys 會在此為您解答有關系統管理指令碼的常見問題。您有關於系統管理指令碼方面的問題嗎?請將電子郵件傳送到 scripter@microsoft.com。我們無法保證能夠逐一回答每個問題,不過我們會盡力而為。

還有,別忘了瞧瞧全新經過改良的嗨,Scripting Guy!過往文件

今天的問題:如何停用電腦帳戶?


如何停用電腦帳戶?

嗨,Scripting Guy!如何停用電腦帳戶?

-- MD

MD,您好。看了您的問題,我們第一個想到的就是Peter Costantini,他是 Active Directory 方面的指令碼專家。不知道幸還是不幸,Peter 的故鄉是紐澤西,又是黑道家族 (The Sopranos) 的頭號影迷。所以我們問他如何讓使用者帳號無法運作時,他說「啊嘛還不簡單,給他棒球棍腳頭窩上摃幾下...」

想想其實 Peter 就是這麼回答我們提出的每一個問題。

老實說我們好幾次也想拿個棒球棍修理電腦,但目前為止還沒找到它的「腳頭窩」,於是決定還是使用下面的指令碼來停用電腦帳戶好了:

Set objComputer = GetObject("LDAP://cn=atl-ws-01,cn=computers,dc=fabrikam,dc=com")
objComputer.AccountDisabled = True
objComputer.SetInfo

雖然不比用棒球棍摃電腦讓人滿足,至少更快、更簡單而且更便宜。首先繫結到想要停用的電腦帳戶,本例中是一台叫做 atl-ws-01 的電腦,位於 fabrikam.com 下的 Computers 容器中:

Set objComputer = GetObject("LDAP://cn=atl-ws-01,cn=computers,dc=fabrikam,dc=com")

注意我們使用的語法:cn=computers。讀者一定要記得UsersComputers 並不是組織單位 (OU),所以 ou=Computers 語法會失敗。因此我們才使用 cn= 語法。而如果電腦真的是 OU (例如財務 OU),就可以使用 ou= 語法,就像這樣:

Set objComputer = GetObject("LDAP://cn=atl-ws-01,ou=finance,dc=fabrikam,dc=com")

連接後,只要將 AccountDisabled 屬性設定為 True 即可 (考考您:要怎麼將停用的帳戶啟用呢?答對了:把 AccountDisabled 設成 False),然後呼叫 SetInfo 方法,把變更寫回 Active Directory 就算完成了。

 

重要澄清:Peter 指出他根本沒有說「啊嘛」或「給他」,他實在是受不了華盛頓州的人老是開紐澤西人的玩笑。所以他客氣地要求我們對這種不尊重的態度道歉,否則他要拿棒球棍對付我們的膝蓋了。Peter,不好意思啊!

如需詳細資訊

查看嗨,Scripting Guy!- 過往文件

 

回到頁首 回到頁首