假若你登錄到了一個(gè)AD中你可以輕松的查詢AD目錄。在先前的技巧中我們闡述了一個(gè)基本腳本。這里有一個(gè)可以自定義根目錄的擴(kuò)展方法(設(shè)置你的查詢點(diǎn)),它支持同步查詢(而不是遞歸到一個(gè)容器)。
它同時(shí)也闡述了怎么從一個(gè)活動(dòng)目錄查找結(jié)果再將其轉(zhuǎn)化成用戶對(duì)象:
$SAMAccountName = 'tobias'
$SearchRoot = 'LDAP://OU=customer,DC=company,DC=com'
$SearchScope = 'OneLevel'
$ldap = "((objectClass=user)(samAccountName=*$SAMAccountName*))"
$searcher = [adsisearcher]$ldap
$searcher.SearchRoot = $SearchRoot
$searcher.PageSize = 999
$searcher.SearchScope = $SearchScope
$searcher.FindAll() |
ForEach-Object { $_.GetDirectoryEntry() } |
Select-Object -Property *
支持所有的PS版本
想要了解AD中賬號(hào)使用情況,如什么時(shí)候創(chuàng)建\最后一次登錄是時(shí)間\最后一次修改密碼等信息,利用PowerShell,這些都可以達(dá)到.
PowerShell中Get-AdUser能查詢的信息很多,可參考下面文章:
http://social.technet.microsoft.com/wiki/contents/articles/12037.active-directory-get-aduser-default-and-extended-properties.aspx
下面介紹用PowerShell查詢指定OU中所有賬號(hào)的創(chuàng)建時(shí)間\SID\上次修改密碼時(shí)間\最后一次登錄時(shí)間,CMDlet如下:
Get-ADuser -searchbase ' OU=User,OU=Compay1,DC=Domain,DC=COM ' -filter * -Properties * | Select-Object Name,SID, Created,PasswordLastSet,@{n="lastLogonDate";e={[datetime]::FromFileTime($_.lastLogonTimestamp)}} | Export-CSV Accountlist.csv -NoTypeInformation -Encoding UTF8
(請(qǐng)自行修改OU和域信息)
查詢出指定的結(jié)果生成.CSV文件,用Excel打開(kāi),進(jìn)行需要的統(tǒng)計(jì)與分析,效果如下:
如果要查詢整個(gè)AD中的所有賬號(hào),取消中間的-searchbase ' OU=User, OU=Compay1,DC=Domain,DC=COM '即可.
您可能感興趣的文章:- PowerShell讀取文件內(nèi)容、替換文件內(nèi)容、讀取限定行的例子
- Windows Powershell 執(zhí)行外部命令
- Windows Powershell 執(zhí)行文件和腳本
- Python中調(diào)用PowerShell、遠(yuǎn)程執(zhí)行bat文件實(shí)例
- 使用PowerShell獲取當(dāng)前主機(jī)內(nèi)存使用量和總量的方法
- PowerShell批量修改AD用戶密碼屬性的代碼
- Windows 8 中的 PowerShell 3.0
- 簡(jiǎn)單談?wù)凱owerShell 4.0中的新命令
- 揭秘PowerShell 5.0新特性和新功能