PowerShell操作の基本について学びたい方は、過去に連載した記事を参照ください。
対象読者
ActiveDirectory管理者またはActiveDirectory管理に興味がある方。
必要な環境
- Windows Server 2008 R2
- PowerShell
OU管理用コマンドレット
ActiveDirectoryモジュールには下表に示す組織単位(以下OU)管理用のコマンドレットがあります。
コマンドレット | 説明 |
---|---|
Get-ADOrganizationalUnit | 1つまたは複数のOUを取得する |
New-ADOrganizationalUnit | 新しいOUを作成する |
Remove-ADOrganizationalUnit | 既存のOUを削除する |
Set-ADOrganizationalUnit | 既存のOUのプロパティを変更する |
OUを取得する
既存のOUを取得するにはGet-ADOrganizationUnitコマンドレットを使用します。
既存のすべての組織単位(OU)情報を取得する
既存のOUをすべて取得するにはFilterパラメーターに”*”を指定します。
Get-ADOrganizationalUnit -Filter "*"
既存のOU名を取得する例
先ほどの例では既存のOU情報を取得しましたが、OU名だけを取得したい場合があります。
このような場合にはSelect-Objectコマンドレットと組み合わせて下記のようにします。
Get-ADOrganizationalUnit -Filter "*" | Select-Object {$_.Name}
任意のOUに属する子のOUを取得する
任意のOUに属する子のOUを取得するには、SerachBaseパラメーターとSearchScopeパラメーターを使用します。
SearchBaseパラメーターには検索を行うAcrtiveDirectoryのパスを、SearchScopeパラメーターにはどの階層のOUまで取得するかを設定します。SearchScopeパラメーターにBaseを指定すれば指定したOUだけを、OneLevelを指定すれば1階層下までのOUを、Subtreeを指定すれば指定したOUに属する全OUを取得します。
下記は"Technical Department"に属する1階層下のOUを取得する例です。
Get-ADOrganizationalUnit -Filter "*" -SearchBase "OU=Technical Department,DC=corp,DC=contoso,DC=com" -SearchScope Onelevel | Select {$_.Name}