ADUC MMC で Saved Queries を使用する (Active Directory ユーザーとコンピューター)

Active Directory ユーザーとコンピューター (ADUC) mmc コンソールの Saved Queries では、複雑な LDAP フィルターを作成して Active Directory オブジェクトを選択できるようにします。 これらのクエリは、保存、編集、および他のコンピューターにコピーすることができます。 Active Directoryの保存されたクエリを使用すると、さまざまな条件に基づいて、迅速かつ効率的にADオブジェクトを検索することができます。 保存されたクエリは、一般的なADオブジェクト管理タスクを迅速に実行するのに役立ちます。ドメイン内のすべての無効なアカウントのリストを表示する、特定のExchangeサーバーにメールボックスを持つ会社のすべてのユーザーを選択するなどです。 たとえば、ADオブジェクト/アカウントの一括ロック/アンロック/有効化/無効化、移動、削除、名前の変更などの操作を実行できます。 ADUCコンソールのこのようなクエリにより、Active DirectoryのOUの階層構造を回避し、フラットなテーブルビューに必要なすべてのオブジェクトを収集できます。

ADオブジェクトを見つけるためのほとんどの操作は、PowerShell for Active Directoryモジュールからのコマンドレット(例えば、Get-ADUser、Get-ADComputer、Get-ADObject、Get-ADGroup、Search-ADAccountなど)、dsquery.exe ツール、vbs スクリプトなどを使用して実行することが可能です。 しかし、管理者でないユーザーにとっては、ADUC GUI を使用して AD オブジェクトに関する情報を表示する方がはるかに簡単です。

Active Directory 保存クエリは Windows Server 2003 で初めて導入され、その後の Windows Server バージョンでさらにサポートされるようになりました。

Active Directory MMC コンソールで保存されたクエリを作成する方法

Active Directory Users and Computers コンソールで保存された LDAP クエリを使用してオブジェクトを検索するいくつかの典型例を見ていきましょう。 例えば、アクティブなユーザーアカウントとその部署名、電子メールアドレスのリストを表示する必要があるとします。

  1. ADUCコンソール(dsa.msc)を開き、[保存したクエリー]を右クリックして[新規 – > クエリー;
  2. 名前ボックスに、ADUCコンソールで表示する保存したクエリー名を指定します。
  3. クエリー ルートフィールドに、検索するコンテナ(OU)を指定できます。 デフォルトでは、クエリ条件による検索は、ADドメイン全体で実行されます。 この例では、ブラジルコンテナを選択して検索範囲を狭めます。
  4. 次に[クエリの定義]ボタンをクリックし、[検索]ドロップダウン リストで[カスタム検索]を選択します。
  5. [詳細]タブに移動して、次のLDAPクエリを[LDAP クエリの入力]ボックスでコピーしてください。 このクエリは、有効なユーザーアカウントを選択します(以下の表のLDAPクエリの他の例を参照してください):
    (&(objectcategory=person)(objectclass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))
  6. OKをクリックして変更を保存します。
  7. 作成したクエリをADUCコンソールで選択してF5キーを押してオブジェクトリストを作成します。 その結果、右側のウィンドウにLDAPクエリに一致するユーザーのリストが表示されます。
  8. 追加のユーザー属性(電子メールアドレス、部署など)を表示するには、ADUCコンソールの[表示]メニューを開き、[列の追加/削除]を選択します。
  9. 希望する列を追加します。 今回は、3つのフィールドを追加しました。 User Logon Name, E-Mail Address, Department;
  10. できあがったユーザーアカウントのリストは、CSVまたはTXTファイルに保存して、さらに分析したりExcelにインポートしたりすることが可能です。 これを行うには、保存されたクエリを右クリックして、[Export List]メニュー項目を選択します。
    注:PowerShellを使用してADからデータを取得し、それを直接Excelファイルに保存することも可能です。

ADUCコンソールでは、多くの異なる保存クエリを作成し、ツリー構造でそれらを整理することができます。 このようにして、一般的なAD管理タスクを迅速に実行するための便利なLDAPクエリのコレクションを作成できます。

ADUC mmcスナップインは、Active Directory保存クエリの構築にいくつかのモードをサポートしています。 LDAPフィルタコードを毎回手動で指定する必要はありません。 簡単なグラフィカルウィザードでADクエリを作成することができます。 ADオブジェクトの様々な属性を選択し、それらを用いて、希望する条件に従ってオブジェクトを検索するだけです。 例えば、ドメイン内のすべてのWindows Serverコンピューターオブジェクトをリストアップするには、次のようにします。

  1. Find -> Computers;
  2. Go to the Advanced tab;
  3. Fields -> Operating System;
  4. Stars with -> criteria ‘Windows Server *
wildcard is * (*Server*‘ を指定できます).を指定し、’Field -‘ を指定し、’-‘Submit’ を指定します。 保存したクエリに複数の検索条件を追加できます。

クエリを保存して、ADUCコンソールでオブジェクトリストを更新します。 リストには、ドメイン内のすべてのWindows Serverオブジェクトが表示されます。

保存されたクエリは、作成したコンピュータにローカルに保存されます。 設定を含むXMLファイルは、ここにあります。 C:\Users%USERNAME%AppData³³Roaming³³Microsoft³³MMC³³DSA). AD保存クエリをコンピュータ間で転送するために、dsa.mscにクエリをXMLファイルとしてインポート/エクスポートする機能があります(Export Query Definition/ Import Query Definition)。

Useful Saved Query Examples for Active Directory MMC

Active Directoryオブジェクトを選択するためによく使用するLDAPクエリの例については、次の表で紹介します。 日常的に使用するために、ADUCコンソールに保存することができます。

PowerShellでLDAPフィルターを使用する

上記のLDAPフィルターを使用して、PowerShellコンソールでADオブジェクトを検索することができます。 PowerShell Active Directoryモジュールのほとんどのコマンドレットには、特別なLdapFilterパラメーターがあります。 このパラメーターにLDAPクエリーを指定する必要があります。 例えば:

Get-ADUser, Get-ADComputer, Get-ADGroup コマンドレットは特殊なコマンドレットで、特定のタイプのオブジェクト – ユーザー、コンピューター、またはグループを検索するために使用されるものです。 必要なADオブジェクトの種類がわからない場合、またはすべての種類のオブジェクトに関する情報が必要な場合は、より一般的なGet-ADObjectコマンドレットを使用します。 たとえば、SID:

によってオブジェクトを検索する場合。