【PowerShell】Get-ADUser で未設定ではない属性を取得する方法

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
—-
パーソル太郎

いいね (←参考になった場合はハートマークを押して評価お願いします)
読み込み中...

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルプロセス&テクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください