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 specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn