天天看點

PowerShell AD 管理

PowerShell 如今使用越來越頻繁,例如管理者維護AD,需要将建立OU裡的使用者批量啟用,當然這一點圖形界面也可以做到,換一個要求,在AD管理中經常遇到的事情就是 查詢OU,使用者,如果使用者數量非常多的話這對于圖形界面來說不大容易,比如需要查詢域中所有的OU,或者某OU下的使用者,Powershell可以很友善 的統計這些龐大的資訊

                              本章内容

                            1.查詢域中所有OU,将名稱屬性導出

                            2.查詢某OU下所有使用者

                            3.查詢單個使用者屬性,截取自己想要的值

     接下來示範如何使用PowerShell完成AD日常管理,我會在每條指令後注釋說明

1.OU是我們在AD管理中最常接觸的,首先附上一條檢視域内OU的指令 Get-ADOrganizationalUnit -Filter * -SearchBase "ou=公司,dc=comlan,dc=com" Get-ADOrganizationalUnit: 檢視AD組織機關 Filter: 篩選項,這裡我們篩選所有OU SearchBase:搜尋項,就是具體查找哪些OU 這些參數是經常會用到的查詢參數     1.1 上圖,紅色勾選部分為名稱屬性,如果隻想顯示OU的名稱就得用到它 <a href="http://s4.51cto.com/wyfs02/M00/82/7E/wKioL1dXc8_weeSGAABB7cgxA1k379.png" target="_blank"></a>     1.2 使用管道符+Select-Object就可以隻将Name顯示,如果想顯示多個名稱在name後輸入","屬性值就可以,如Select-Object name,ObjectGUID,其實fl也可以顯示這些名稱哦 <a href="http://s3.51cto.com/wyfs02/M01/82/80/wKiom1dXdDOjQxd3AAAlMu37UTI482.png" target="_blank"></a>     1.3 經常在查詢完之後,上司要求導出表格的形式發給他,這些在PowerShell來看很簡單,之前的指令再加一個管道符|-NoTypeInformation -Encoding UTF8,這條參數會将字元編碼設定為UTF8,否則會顯示亂碼 <a href="http://s5.51cto.com/wyfs02/M02/83/65/wKioL1dyNjbD0PZbAAAsZtEyl-M638.png" target="_blank"></a> <a href="http://s1.51cto.com/wyfs02/M02/82/80/wKiom1dXeTizMqKYAAAo6n5Z_bw719.png" target="_blank"></a> 2.查詢子OU下使用者,例如檢視OU技術2部,将查詢OU放在參數最前,依次從小到大 Get-ADUser -Filter * -SearchBase "ou=技術2部,ou=技術大部,ou=公司,dc=comlan,dc=com"|fl Name <a href="http://s3.51cto.com/wyfs02/M02/82/7F/wKioL1dXfrmSgnLqAAAfpPxFTXo958.png" target="_blank"></a> 3.檢視使用者的屬性 -Properties是檢視屬性  *代表所有屬性,如果想截取某項屬性,如行動電話 <a href="http://s1.51cto.com/wyfs02/M01/82/80/wKiom1dXf6aweY5aAAAydqcZN-k717.png" target="_blank"></a> <a href="http://s1.51cto.com/wyfs02/M01/82/80/wKiom1dXgEniLTG0AAAG_elPsOY040.png" target="_blank"></a>

上一章寫到了查詢OU和OU中使用者的資訊,今天寫的是如何修改使用者的屬性值,當然不是單個修改,使用PowerShell批量修改,即使你想修改一個域的使用者那也沒有任何問題,比如說你為了修改一個OU中使用者的密碼,難道你要手動一個個去修改嗎?

需 要将OU中使用者設定成下次登入時修改密碼或者是密碼永不過期,難道還要選中所有使用者點使用者屬性嗎?如果說前面的可以用圖像界面完成,那要統計近一個月沒有 登入的使用者呢,這個還可以圖像嗎,So我們可以用指令友善的去做這些事情! 指令就不貼出來了,其實照着打一次友善了解和記憶,具體詳細使用方法上一章都 有哦

 1.上來先熱個身,将OU中使用者管理者設定為Administrator,第一步就是查詢ADUser,接着檢視所有,篩選出OU中的使用者,管道符後修改設定使用者的管理者屬性,輸入管理者名稱就可以了(這個也是可以圖  像界面全選點屬性設定的)

<a href="http://s4.51cto.com/wyfs02/M01/82/99/wKioL1dcy9iBbAFAAABMMg_D2OE898.png" target="_blank"></a>

2.差點漏了它,查詢OU中使用者數量這個最常用了,大括号将所有指令括好,然後結尾.count。查詢哪OU,SearchBase就寫哪個OU,檢視公司所有人的數量就寫最大的OU,廢話有點多,讓大家少犯錯誤。

圖中我的OU就是父OU(最大的)

(Get-ADOrganizationalUnit -Filter *).count,這個是查詢OU數量的,指令大同小異

<a href="http://s4.51cto.com/wyfs02/M00/82/9A/wKiom1dczC6Sth_uAAAHRJP9IRU779.png" target="_blank"></a>

3.域中很多使用者沒有登入過,密碼大多數過期了,是以想重新批量修改下域使用者的密碼

<a href="http://s3.51cto.com/wyfs02/M01/82/9C/wKiom1dc0SiDsfK0AAAgnPTfAqU314.png" target="_blank"></a>

4.使用者再次登入時自行修改密碼

<a href="http://s2.51cto.com/wyfs02/M02/82/9C/wKiom1dc0hqBmaY0AAAcZfvUHOo599.png" target="_blank"></a>

5.接着上條指令将屬性值修改為PasswordNeverExpires,反之,将$true改為$false

如果将密碼設定為永不過期後,繼續設定下次登入時修改密碼是錯誤的,兩者會有沖突

<a href="http://s4.51cto.com/wyfs02/M01/82/9C/wKiom1dc0t6g7XFcAAAbvM9AgvI846.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M00/82/9C/wKiom1dc0t7Cq4a9AABlyRhthsQ369.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M00/82/9C/wKiom1dc0r3i0h7PAAAbvM9AgvI906.png-wh_500x0-wm_3-wmp_4-s_1378906847.png" target="_blank"></a>

6.擷取使用者最後一次登入時間,其實就是調用使用者所有屬性,然後顯示Name和LastLogonDate值,

Last跟通配符就是提醒大家靈活應用通配符

<a href="http://s1.51cto.com/wyfs02/M02/82/9A/wKioL1dc1RrCQIr1AAApsREuEtE721.png" target="_blank"></a>

7.檢視哪些使用者在最近一個月内修改過密碼,顯示名字和修改時間

檢視哪些使用者在最近一個月内修改過密碼,顯示名字和修改時間,從今天算起6月12日,一個月前就是5月12日,是以使用大于号來判斷

附上運算符

-eq :等于

-ne :不等于

-gt :大于

-ge :大于等于

-lt :小于

-le :小于等于

-contains :包含

-notcontains :不包含

<a href="http://s2.51cto.com/wyfs02/M00/82/9B/wKioL1dc19ugJm60AAAsu8PgkwY486.png" target="_blank"></a>

8.指令優化,指令這樣運作可以提高工作效率

<a href="http://s3.51cto.com/wyfs02/M00/83/65/wKiom1dyMT2B0dFwAAAZZzfiwDw194.png" target="_blank"></a>

如果有小夥伴有其他的問題,可以留言互相讨論!

本文轉自 bilinyee部落格,原文連結:     http://blog.51cto.com/ericfu/1853641   如需轉載請自行聯系原作者

<a href="http://blog.51cto.com/search/result?q=PowerShell+AD+%E7%AE%A1%E7%90%86" target="_blank">PowerShell AD 管理</a>

繼續閱讀