PowershellテクニックのクエリーADユーザー

1558 ワード

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におけるアカウントの使用状況を知るには、いつ作成最後のログインは時間最後のパスワード変更などの情報をPowerShellを利用すればよい.
PowerShellにはGet-AdUserで検索できる情報がたくさんあります.次の記事を参照してください.
http://social.technet.microsoft.com/wiki/contents/articles/12037.active-directory-get-aduser-default-and-extended-properties.aspx
PowerShellクエリで指定されたOU内のすべてのアカウントの作成時間SIDパスワードの最終変更時間最後のログイン時間を説明します.CMDletは、Get-ADuser-searchbase'OU=User、OU=Compay 1、DC=Domain、DC=COM'-filter*-Properties*|Select-Object Name、SID、Created、PasswordLastSet、@{n="lastLogonDate";e={[datetime]::FromFileTime($_.lastLogonTimestamp)}} | Export-CSV Accountlist.csv-NoTypeInformation-Encoding UTF 8(自分でOUとドメイン情報を変更してください)
指定した結果の生成を問い合わせる.CSVファイルは、Excelで開き、必要な統計と分析を行い、効果は以下の通りである.
AD全体のすべてのアカウントを検索する場合は、中間の-searchbase'OU=User、OU=Compay 1、DC=Domain、DC=COM'をキャンセルすればよい.