Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

PowerShellによるActiveDirectory管理
――グループ管理編

PowerShellによるActiveDirectory管理(3)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2011/09/05 14:00

 本連載ではPowerShellを使用したActiveDirectoryの管理方法について紹介していきます。今回は、ActiveDirectoryモジュールが提供するコマンドレットを利用してグループを管理する方法について紹介します。

目次

 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パラメーターで指定したパスのすべての子を検索対象とします。

LDAPクエリを使用してグループを取得するコマンドの例
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ファイルに出力するには下記のようにします。

取得結果をCSVファイルに出力するコマンドの例
Get-ADGroup -Filter * | Export-CSV -Path C:\Work\ADGroups.csv

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • HIRO(ヒロ)

    HIRO's.NETのHIROです。 とある半導体工場のSEです。 VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。 最近はBlog でPowerShellについて書いています。 2008/07/07にPowerShell from Japan!!という...

バックナンバー

連載:PowerShellによるActiveDirectory管理
All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5