2015-05-06 53 views
0

我們的組織目前手動分發並刪除活動目錄中的所有權限,這是一件令人厭煩的工作。 但是我知道,使用PowerShell,它應該比手動獲取列表並在用戶應該屬於的每個組中鍵入內容要快得多(有些用戶是20-40組的一部分,這使得它輸入所有組的麻煩)以及當我們必須改變組時,人們傾向於擁有更多權利,導致一些組不會被刪除和其他人爲錯誤。Powershell腳本根據活動目錄中的文件添加和刪除組

所以我想問一下或得到我應該怎麼寫一個PowerShell腳本會執行下列操作一些指針:

  • 詢問對於它有可能改變組用戶名(可能是名字和姓氏單獨問)。

  • 從該人(如果他/她是任何組的成員)中刪除所有現有組,可能會使用來自文件(txt,csv或其他)的排除選項。

  • 根據來自文件的列表(再次,txt,csv或其他)向該人添加組。

如果任何人都可以就如何啓動或鏈接/有提示指針也將是非常讚賞,因爲對我來說,似乎並不是一件容易的腳本,使一些建議(我可能是錯的)

+0

你在問什麼是一個相當廣泛的問題。我建議您花一些時間熟悉文件I/O(Get-Content,Set-Content,Add-Content等)以及用於組成員資格的AD cmdlet(Add-ADGroupMember,Remove-ADGroupMember等)然後開始寫一個腳本,當你遇到不能理清的具體問題時,回到這裏發問。 – EBGreen

+0

任何關於優秀網站的建議都包含有關該主題的良好解釋和教程? – Firefox333

+0

您可以使用非常好的內部幫助,下面的cmdlet將幫助您探索:'Get-Help'(查找有關特定cmdlet的更多信息),'Get-Command'(查找命令,例如所有包含adgroup的命令)和'Get-Member'(瞭解對象的屬性和方法) – Paul

回答

0

你可以嘗試這樣的事情

Import-Csv .\users.csv | ForEach { 

If ($_.position -eq 'Administrator') { 

    Add-ADGroupMember -Identity 'Administrators' -Members $_.user 
    Add-ADGroupMember -Identity 'Facility' -Members $_.user 

} 

If ($_.position -eq 'Assistant') { 

    Add-ADGroupMember -Identity 'Facility' -Members $_.user 

} 

If ($_.position -eq 'Power Users') { 

    Add-ADGroupMember -Identity 'Power Users' -Members $_.user 
    Add-ADGroupMember -Identity 'Facility' -Members $_.user 
    Add-ADGroupMember -Identity 'Mobile' -Members $_.user 

} 

}

這是基於掀起了CSV與下列頭,用戶名字,姓氏,甌,電話,職務,全名,EMPID

這實際上來自technet,但它對你來說是一個很好的起點。

https://social.technet.microsoft.com/Forums/scriptcenter/en-US/6ab194c0-1718-4345-af29-922ae2e5727d/active-directory-add-group-to-users-from-a-text-file-based-on-ou-and-position?forum=ITCG

相關問題