この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
Get-ADUser ではオプションとして -Filter を使うことができ、条件を指定することでその条件に当てはまるユーザーの属性を取得することができます。
例)ユーザーの Title 属性に 部長 という文字が含まれているユーザーの属性を表示するコマンドレット
> Get-ADUser -Filter { title -like “*部長*” }
しかし、-Filter だけでは未設定の属性や未設定ではない属性を条件として検索をすることができません。
NG例)ユーザーの Title 属性にとにかく何でもよいから値が入っているユーザーの属性を表示したい。
> Get-ADUser -Filter { title -eq $Null }
Get-ADUser : 式: $Null の変数: ‘Null’ が定義されていません。
発生場所 行:1 文字:1
+ Get-ADUser -Filter { title -ne $Null }
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-ADUser]、ArgumentException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.ArgumentException,Microsoft.ActiveDirectory.Management.Comm
ands.GetADUser
とにかく値が入っている(もしくは未設定)ユーザー情報を取得するには、
Get-ADUserの検索結果をパイプラインで渡してWhere句を用いることで、実現することができます。
例)全ユーザーの中から[ TelephoneNumber ]属性に何か値が入っているユーザーの名前を取得
> Get-ADUser -Filter * -Propaties * | Where { $_.TelephoneNumber -ne $Null } | select name
name
—-
パーソル太郎