標籤:powershell批量修改ad賬戶登陸到的電腦
Powershell 批量修改AD賬戶登陸到的電腦
上個月有個項目中碰到這樣一個需求,講述步驟前先描述下客戶的實際情況:因安全考慮需要,域內的電腦之前都已經設定了指定登陸到的電腦,目前的項目是從Lotus郵件系統遷移到Exchange 2010,Lotus工作流程遷移到泛微OA,域內賬戶輸入帳號和密碼後不能登陸到Exchange系統。原因就是設定了賬戶的登陸到電腦屬性,因為Exchange是新上的系統,沒在指定範圍內,所以需要添加Exchange伺服器CAS01,CAS02,Mail,Mailbox01。添加Mailbox01是因為公用檔案夾資料庫在Mailbox01上,winxp用戶端需要串連到Mailbox01下載和更新OAB。
和使用者確定範圍和工作內容後,就開始著手做了,使用者說他有之前儲存的大量匯入指令碼,我說好啊,你來處理吧,結果一個上午過去了,到中午的時候,還沒弄完,我一看,指令碼比較複雜,針對OU要修改,有些屬性要調整,一個小時大概能處理500個,照這個進度,下午可能也處理不完。
分析後思路來了,先從AD匯出現有的Logonworkstation屬性到Excel,在Excel裡面批量修改下Logonworkstation屬性,在匯入到AD就可以了,這樣高效而且故障率低。
下面開始講述詳細的實施步驟。
步驟1、Powershell大量匯出AD的相關屬性。如果是系統是2008,則需要使用 Import-Moudle ActiveDirectory 倒入AD模組先,但在2012中會自動匯入。
PS C:\Users\Administrator> Get-ADUser -Filter * -Properties * | Select-Object name,samaccountname,userprincipalname,logo
nw*|Export-Csv c:\userinfo.csv -Encoding UTF8 -NoTypeInformation
650) this.width=650;" title="1.jpg" style="height:479px;width:703px;" alt="wKiom1Swov6AxSr0AAE8tDL2mg8728.jpg" src="http://s3.51cto.com/wyfs02/M01/58/73/wKiom1Swov6AxSr0AAE8tDL2mg8728.jpg" width="877" height="619" />
步驟2、匯出後,刪除一些系統內建帳號,如。
650) this.width=650;" title="1.png" style="height:590px;width:703px;" alt="wKiom1SwpG6zaPDpAAKA87eUFB4723.jpg" src="http://s3.51cto.com/wyfs02/M00/58/73/wKiom1SwpG6zaPDpAAKA87eUFB4723.jpg" width="682" height="586" />步驟3、下面我們增加五列內容,一列是從Logonworkstation剪下過來的,一些是cas01,一列是cas02,一列是mail,一列是mailbox01。用於後面的步驟"列合并"。為什麼Logonworkstation列留空呢?看後面步驟就知道了。
650) this.width=650;" title="1.png" style="height:557px;width:707px;" alt="wKioL1SwpxuihoIjAAOgEetFbPc356.jpg" src="http://s3.51cto.com/wyfs02/M01/58/70/wKioL1SwpxuihoIjAAOgEetFbPc356.jpg" width="854" height="586" />
步驟4、我們使用Excel字元合并函數,A&B&C&D&E,如,得到我們想要的xp002,cas01,cas02,mail,mailbox01這個效果,並拉至填充至最末尾一行。
650) this.width=650;" title="1.png" style="height:525px;width:708px;" alt="wKioL1SwqQ3THoWAAAS021rIRTY248.jpg" src="http://s3.51cto.com/wyfs02/M02/58/70/wKioL1SwqQ3THoWAAAS021rIRTY248.jpg" width="965" height="557" />
步驟5、編輯完成後,注意用記事本開啟該檔案,然後選擇“UTF-8”編碼來儲存該CSV檔案,以免出現匯入後出現中文欄位亂碼.
650) this.width=650;" title="1.png" style="height:419px;width:709px;" alt="wKioL1SwqeuRwNIJAANC3s5Jp6w080.jpg" src="http://s3.51cto.com/wyfs02/M00/58/70/wKioL1SwqeuRwNIJAANC3s5Jp6w080.jpg" width="961" height="538" />
步驟6、將編輯後的CSV檔案複製到C:\ ,執行匯入命令
PS C:\Users\Administrator> Import-Csv -Path c:\userinfo.csv | foreach {Set-ADUser -Identity $_.name -LogonWorkstations $
_.logonworkstations}
650) this.width=650;" title="1.png" style="height:496px;width:711px;" alt="wKioL1SwqxfCLZ-0AAEnOeHM4QM150.jpg" src="http://s3.51cto.com/wyfs02/M00/58/71/wKioL1SwqxfCLZ-0AAEnOeHM4QM150.jpg" width="878" height="523" />
步驟7、查看我們匯入後的效果,對比下Excel表,看是否達到了我們的要求。
650) this.width=650;" title="1.jpg" alt="wKiom1Swqt-TxyyWAAIuFJVoRCg403.jpg" src="http://s3.51cto.com/wyfs02/M01/58/74/wKiom1Swqt-TxyyWAAIuFJVoRCg403.jpg" />
650) this.width=650;" title="1.jpg" style="height:521px;width:712px;" alt="wKioL1Swq_3D2SguAARWtidDZ84506.jpg" src="http://s3.51cto.com/wyfs02/M02/58/71/wKioL1Swq_3D2SguAARWtidDZ84506.jpg" width="889" height="595" />
步驟8、操作後整個匯入的時間不到半小時。達到我們的實際效果,步驟完成。
本文出自 “周平的微軟技術交流平台” 部落格,請務必保留此出處http://yuntcloud.blog.51cto.com/1173839/1601568
Powershell批量修改AD賬戶登陸到的電腦