Powershell小技巧之查詢AD用戶
假若你登錄到了一個AD中你可以輕松的查詢AD目錄。在先前的技巧中我們闡述了一個基本腳本。這里有一個可以自定義根目錄的擴展方法(設置你的查詢點),它支持同步查詢(而不是遞歸到一個容器)。
它同時也闡述了怎么從一個活動目錄查找結果再將其轉化成用戶對象:
$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中賬號使用情況,如什么時候創(chuàng)建\最后一次登錄是時間\最后一次修改密碼等信息,利用PowerShell,這些都可以達到.
PowerShell中Get-AdUser能查詢的信息很多,可參考下面文章:
下面介紹用PowerShell查詢指定OU中所有賬號的創(chuàng)建時間\SID\上次修改密碼時間\最后一次登錄時間,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
(請自行修改OU和域信息)
查詢出指定的結果生成.CSV文件,用Excel打開,進行需要的統(tǒng)計與分析,效果如下:
如果要查詢整個AD中的所有賬號,取消中間的-searchbase ' OU=User, OU=Compay1,DC=Domain,DC=COM '即可.
相關文章
PowerShell查找分區(qū)中最大文件的方法(查找文件并按大小排序)
這篇文章主要介紹了PowerShell查找分區(qū)中最大文件的方法,查找文件并按占用空間排序,并用命令參數(shù)只輸出比如10條,這樣就可以快速找出一個目錄、一個分區(qū)下的N個最大的文件,需要的朋友可以參考下2014-08-08
PowerShell中使用正則和ValidateSet驗證參數(shù)合法性
這篇文章主要介紹了PowerShell中使用正則和ValidateSet驗證參數(shù)合法性,本文分別給出了驗證實例,講解如何驗證參數(shù)的正確性,需要的朋友可以參考下2015-04-04

