PowerShell を使用してユーザーの組織単位を取得する

Marion Paul Kenneth Mendoza 2023年6月20日
  1. Active Directory モジュールの概要
  2. PowerShell で Get AD ユーザー フィルター パラメーターを使用する
PowerShell を使用してユーザーの組織単位を取得する

Get-ADUser コマンドは、AD ユーザー アカウントの検索、レポートの作成などに便利です。また、Active Directory からユーザーとそのプロパティをプルする優れた方法でもあります。

これらのプロパティの 1つは、AD オブジェクトの現在の組織単位の場所です。 この記事では、PowerShell を使用して Active Directory ユーザー オブジェクトの組織単位を照会する方法について説明します。

Active Directory モジュールの概要

記事の次のセクションに進む前に、AD コマンドを使用するには AD モジュールをインストールしてインポートする必要があることに注意してください。 AD モジュールには、リモート サーバー管理ツールまたは RSAT と呼ばれる前提条件パッケージがあります。

[役割と機能] パネルに追加することで、RSAT をインストールできます。 追加してインストールすると、パッケージは Active Directory モジュールと共に自動的に提供されます。

以下のスニペットを使用して、モジュールを PowerShell セッションにインポートできます。

コード例:

Import-Module ActiveDirectory

PowerShell で Get AD ユーザー フィルター パラメーターを使用する

Filter パラメーターを使用すると、ユーザーは条件文をパラメーターの値として指定できます。 条件が満たされると、Get-ADUser はその条件に一致するユーザー アカウントを返します。

Where-Object コマンドレットに似ていますが、唯一の違いは Filter パラメーターが Get-ADUser コマンドレットに含まれていることです。 以下の例では、Filter パラメータを使用しています。

この例では、Active Directory 属性を提供し、条件を設定します。 Filter パラメーターはワイルドカードを受け入れるため、アスタリスク値 (*) をパラメーターに入れると、すべての User オブジェクトが取得されます。

コード例:

Get-ADUser -Filter * -Properties *

出力:

DistinguishedName : CN=AArton,OU=Marketing,DC=test,DC=com
Enabled           : False
GivenName         : Aardvark
Name              : AArton
ObjectClass       : user
ObjectGUID        : 8fc5e4a8-1fda-42ab-9406-a1e6356dd467
SamAccountName    : AArton
SID               : S-1-1-21-4117812001-3332493942-656130396-3163
Surname           : Arton
UserPrincipalName : AArton
<SNIP>

すべてのユーザー オブジェクト プロパティのうち、DistinguishedName プロパティがあります。 識別名は、オブジェクトの場所を識別する 0 個以上の相対識別名コンポーネントで構成されます。

このステートメントは、識別名プロパティが現在の場所またはユーザーの組織単位であることを意味します。 ユーザーの組織単位を取得するには、Select-Object コマンドを前の例にパイプします。

コード例:

Get-ADUser -Filter "samAccountName -eq AArton" -Properties * | Select-Object DistinguishedName

出力:

DistinguishedName : CN=AArton,OU=Marketing,DC=test,DC=com
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn