はじめに
Active Directory(AD)のユーザー情報を取得するには、PowerShell を使用すると便利です。本記事では、xxx というユーザーの情報を取得するための簡単な方法を紹介します。
方法 1: Get-ADUser を使用する(推奨)
最も簡単な方法は、PowerShell の Get-ADUser コマンドを使用することです。
Get-ADUser -Identity xxx -Properties *
動作の流れ
-
-Identity xxx: ユーザーxxxの情報を取得します。 -
-Properties *: すべてのプロパティ(名前・メール・所属グループなど)を取得します。
前提条件
- Active Directory モジュール(RSAT: Remote Server Administration Tools)がインストールされている
- ドメインコントローラー上で実行する か、ドメイン参加済みの PC で実行する
- 管理者権限が必要な場合がある
特定の情報だけ取得
例えば、表示する情報を 名前・メール・最終ログイン に絞る場合:
Get-ADUser -Identity xxx -Properties DisplayName, EmailAddress, LastLogonDate |
Select-Object DisplayName, EmailAddress, LastLogonDate
方法 2: DirectoryServices を使用する
Get-ADUser が使えない環境(Active Directory モジュールがない場合)でも、DirectoryServices を使って情報を取得できます。
$ldapPath = "LDAP://ad.honda.com"
$username = "xxx@honda.com"
$password = "honda"
$entry = New-Object DirectoryServices.DirectorySearcher([ADSI]"$ldapPath")
$entry.Filter = "(&(objectClass=user)(sAMAccountName=xxx))"
$user = $entry.FindOne()
$user.Properties
この方法のポイント
-
LDAP://ad.honda.comに接続してxxxの情報を取得 -
FindOne()で 1 件の結果を取得 -
Propertiesでユーザーのすべての情報を表示
方法 3: コマンドライン(dsquery / dsget を使用)
PowerShell を使わずに Windows のコマンドプロンプトから取得する場合は、dsquery を使用できます。
dsquery user -name xxx | dsget user -dn -samid -display -email -dept
この方法のポイント
-
dsquery user -name xxxでユーザーの DN (識別名) を取得 -
dsget user -dn -samid -display -email -deptで詳細情報を取得
⚠ dsquery は ドメイン環境 でのみ動作します。
まとめ
| 方法 | コマンド | メリット | 注意点 |
|---|---|---|---|
方法1: Get-ADUser(推奨) |
Get-ADUser -Identity xxx |
簡単・詳細な情報が取れる | ADモジュールが必要 |
| 方法2: DirectoryServices | $entry = New-Object DirectoryServices.DirectorySearcher(...) |
ADモジュールなしでOK | 少しコードが長い |
| 方法3: dsquery/dsget | `dsquery user -name xxx | dsget user` | コマンドラインで簡単 |
どれを試すべき?
-
ドメイン参加済みで PowerShell モジュールが使えるなら
Get-ADUser -
LDAP 経由で取得したいなら
DirectoryServices -
コマンドラインで簡単に取得したいなら
dsquery
おわりに
PowerShell を使用すると、Active Directory のユーザー情報を簡単に取得できます。環境に応じて適切な方法を選び、ぜひ活用してください!
もしエラーが出る場合は エラーメッセージ を確認し、適切な対処を行なってみてください!