PowerShell操作の基本について学びたい方は、過去に連載した記事を参照ください。
対象読者
ActiveDirectory管理者、またはActiveDirectory管理に興味がある方。
必要な環境
- Windows Server 2008 R2
- PowerShell
グループ管理用コマンドレット
ActiveDirectoryモジュールには下表に示すグループ管理用のコマンドレットがあります。本記事では使用頻度が高いと思われるコマンドレットの使用方法について説明していきます。
コマンドレット | 説明 |
---|---|
Add-ADGroupMember | ActiveDirectoryグループに1つまたは複数のメンバーを追加する |
Add-ADPrincipalGroupMemberShip | 1つまたは複数のActiveDirectoryグループに1つまたは複数のメンバーを追加する |
Add-ADAccountAuthorizationGroup | アカウントトークングループ情報を取得する |
Get-ADGroup | 1つまたは複数のActiveDirectoryグループを取得する |
Add-ADAccountAuthorizationGroup | Active Directoryグループのメンバーを取得する |
Get-ADPrincipalGroupMembership/td> | 指定したユーザー、コンピューター、グループ、またはサービスアカウントを含むActiveDirectoryグループを取得する |
New-ADGroup | Active Directoryグループを作成する |
Remove-ADGroup | Active Directoryグループを削除する |
Remove-ADGroupMember | Active Directoryグループから1つまたは複数のメンバーを削除する |
Remove-ADPrincipalGroupMembership | 1つまたは複数のActive Directoryグループからメンバーを削除する |
Set-ADGroup | Active Directoryグループを変更する |
グループを取得する
ActiveDirectoryグループを取得するにはGet-ADGroupコマンドレットを使用します。
書式は3つあり、Filterパラメーターを使用する方法、Identityパラメーターを使用する方法、LDAPFilterパラメーターを使用する方法があります。その他にもさまざまなパラメーターを持っていますが、まずは大きく3つに分類されていることを押さえておきましょう。
グループを取得する
グループ名(SamAccountName)を指定してActiveDirectoryグループを取得するには下記例のように入力します。パラメーターは省略できるため、Get-ADGroupコマンドレットにグループ名を渡すだけで取得することができます。この例ではグループ名Administratorsを取得します。
Get-ADGroup Administrators
コマンドを実行すると下図のようにグループの情報が表示されます。
識別名を指定してグループを取得する
識別名(DN: Distinguished Name)を指定してグループを取得する場合はIdentityパラメーターを使用します。例えば、crop.contoso.comのビルトインAdministratorsグループを取得する場合は下記のようにします。
Get-ADGroup -Identity "CN=Administrators,CN=Builtin,DC=corp,DC=contoso,DC=com"
LDAPクエリを指定してグループを取得する
LDAPクエリを指定してグループを取得するにはLDAPFilterパラメーターを使用します。
下記はcorp.contoso.comの中から名前がadmで始まるすべてのグループを検索します。 SearchScorpパラメーターは検索の範囲を示しており、SubtreeはSearchBaseパラメーターで指定したパスのすべての子を検索対象とします。
Get-ADGroup -LDAPFilter "(name=adm*)" -SearchScope Subtree -SearchBase "DC=corp,DC=contoso,DC=com"
サーバーから返される出力オブジェクトのプロパティを指定する
Propertyパラメーターを使用することで、サーバーから返される出力オブジェクトのプロパティを指定することができます。 すべての出力オブジェクトを取得する場合は”*”を指定し、任意の出力オブジェクトを指定する場合はプロパティ名をカンマで区切って指定します。
例えばAdministratorsグループの説明(Description)と変更日時(whenChanged)が返されるようにするには下記のようにします。
Get-ADGroup Administrators -Properties Description, whenChanged
CSVに出力する
Get-ADGroupコマンドレットに限った話ではありませんが、Export-Csvコマンドレットを使用すると取得結果をCSVファイルに出力することができます。
例えば、既定のドメイン内のすべてのグループを取得してCSVファイルに出力するには下記のようにします。
Get-ADGroup -Filter * | Export-CSV -Path C:\Work\ADGroups.csv