PowerShell大量建立AD帳號
最近在Windows 2008上面玩AD(Active Directory),當相關設定完成後,就遇到一個問題-如何快速建立大量的帳號?雖然在 Windows Server 2008 Active Directory目錄服務 這本書中有提到可以使用 PowerShell、vbscript等方式都可以做。但有鑑於Windows 2008已經有內建PowerShell,以及他的彈性比較高,所以決定使用 PowerShell 加上 excel(帳戶資料)的模式來產生大量的AD帳號! 在此之前從未接觸過Windows 2008,一時間居然不知如何執行PowerShell!查了很久才知道所謂『Windows 2008內建PowerShell』,並非如我所想像的內建就已經安裝,還是要自己去勾選安裝。總之,將遇到的一些狀況記錄下來… 如何在Windows 2008內使用PowerShell 如何用PowerShell加上 excel(帳戶資料)建立帳號 如何看AD帳戶的屬性名稱 如何在Windows 2008內使用PowerShell 開啟系統管理工具,開啟伺服器管理員(Server Manager)、選擇新增功能(Add a Feature),將PowerShell 打勾,就可以安裝了 如何用PowerShell加上 excel(帳戶資料)建立帳號 基本的操作方式,可以參考 Windows PowerShell自動化目錄管理 這篇文章。裡面有介紹如何使用 Quest Software 結合Import-CSV方式快速建立資料。這個範例,雖然簡單短短一行就解決了。但是,裡面的範例實在『太基本』,在實用上還需要做些調整。 一個AD帳號,絕對不會只設定如範例中設定那麼少的屬性。以我的需求來講,我需要讓AD上面的帳號,在做第一次登入時,要『強迫更換密碼』!一開始,我是先找出這屬性所對應的屬性英文名稱…花了不少時間嘗試,才確定對應的屬性名稱為 - pwdLastSet,且必須設定為pwdLastSet=0。但很不幸的,怎麼設定都沒作用…(我覺得,應該是這個屬性無法再建立AD帳號時直接設定。但是再建立AD帳號後再去修改,就會生效。這個狀況,是讓我浪費很多時間在確定屬性是否真的為pwdLastSet) 後來無意間找到有文章指出,可以下參數 -UserMustChangePassword ...