On-Premisss Solutions Script

Active Directory の運用で使える PowerShell 【ユーザーアカウント/セキュリティグループ】

2022年12月15日

自分
閲覧ありがとうございます。ゆっくり よんでいってください

本記事に記載の内容は、
「 Active Directory の運用で使える PowerShell」について解説します。

利便性も高く、悩みの種になりがちなユーザーアカウントの整備方法にアプローチしています。

ユーザーアカウントを全て手動管理されていた方にオススメの記事です。

Active Directory画面例

 

ユーザーアカウントの属性を一括設定する

Azure AD Connectや、その他IdPを導入する時に 必ずと言っても過言ではない 属性整理作業があります。

1アカウントずつ設定していっても良いのですが、数が多くなると自動化したくなりますよね・・・。そんな時に活用できるコマンドになっているので、活用してみてください。

 

属性を一括設定するPowerShell コマンド

コマンドは必要に応じて書き換えて運用してください。
記載するコマンドでは、以下属性の設定が可能です。

CSVファイルの読み取りが必要なので、続くCSVに作成章も読んでくださいね。

  • Surname:姓
  • GivenName:名
  • DisplayName:表示名
  • EmailAddress:メールアドレス
  • Department:部署
  • Title:役職
  • Office:事業所

import-csv -Encoding Default "CSVのディレクトリパス\CSV名" | Foreach-Object {
$userid=$_."ユーザID"
$setuser_args = @{
Identity=$userid
Surname=$_."姓"
GivenName=$_."名"
DisplayName=$_."名前"
EmailAddress=$_."電子メール"
Department=$_."部署"
Title=$_."役職"
Office=$_."事業所"
}
Set-ADUser @setuser_args
}

 

属性を一括設定するPowerShell を実行するために必要なCSVファイル

CSVファイルの作成例として記載しています。

以下表を参考にCSVを作成し、上記章[属性を設定するPowerShell コマンド]を実行してみてください。

ユーザID 名前 電子メール 部署 役職 事業所
hogetaro 帆毛 太郎 帆毛 太郎 hogetaro@xxx.co.jp △営業所 部長 △事業所

文字コードはUTF-8で作成してくださいね。

 

 

セキュリティグループに所属しているユーザーアカウントを管理するのって大変ですよね。。。

ましてや、ADの管理者が複数人いると・・・余計大変です。
何かをきっかけに、把握しなくてはいけなくなった時、活用してみてください。

 

全てのセキュリティグループを抽出し、所属ユーザーアカウントを一覧化する PowerShell

AD上の全てのセキュリティグループを対象に動作します。

抽出した情報をCSVとして吐き出します。

 

 command
Get-ADGroup -Filter * | Get-ADGroupMember | Export-CSV -Path "CSV出力ディレクトリパス\CSVファイル名.csv" -NoTypeInformation -Encoding UTF8 -Append

 

 

特定のOUにあるセキュリティグループを抽出し、所属ユーザーアカウントを一覧化する PowerShell

Script内で指定したOUに存在しているセキュリティグループを対象として動作します。

対象とされたセキュリティグループに所属しているユーザーアカウントを一覧化します。

抽出した情報はCSVとして吐き出されます。

 

 command
Get-ADGroup -Filter * -SearchBase "OU=セキュリティグループOU,DC=hogefoo,DC=local" | Get-ADGroupMember | Export-CSV -Path "CSV出力ディレクトリパス\CSVファイル名.csv" -NoTypeInformation -Encoding UTF8 -Append

 

 

指定したセキュリティグループに所属しているユーザーアカウントを一覧化する PowerShell

ユーザー情報を取得したいセキュリティグループが決まっている場合は、

本Scriptにて対象としてセキュリティグループを指定して、所属しているユーザーアカウントを一覧化することが可能です。

実行結果としてユーザーアカウントを一覧をCSVとして吐き出します。

 

 command
Get-ADGroupMember -Identity "セキュリティグループ名" | Export-CSV -Path "CSV出力ディレクトリパス\CSVファイル名.csv" -NoTypeInformation -Encoding UTF8 -Append

 

よくある質問と回答

  • AD上のユーザーアカウント属性を一括設定したいよ! アカウント1つずつ設定するのは大変!!
    • 本記事の[ユーザーアカウントの属性を一括設定する]を参考に試してください。CSVを作成しないといけないですが・・・かなり楽ですよ。
  • 記載されている[ユーザーアカウントの属性を一括設定する]で設定できる属性が以外も設定したい!
    • Scriptを少し編集することで実現可能です。
      属性指定している箇所に、設定したい属性を追加してみてください。
  • セキュリティグループを一覧で取得したけど、Excelで管理したい。
    • CSV形式のファイルは、Excelで開くことも可能です。
      Officeファイルがインストールされている端末にCSVをコピーし、Excelで開いてみてください。

-On-Premisss Solutions, Script