Active Directoryで複数のユーザーの属性を一括で変更する方法

組織が大きくなってくると、組織内での部署名の変更や部署異動、職位の変更などが増えてくると思いますが、たいていの場合、Active Directory上の変更もこれに応じて増えてくることになります。
この場合、いちいちユーザーのオブジェクトを開き、属性エディタ(Attribute Editor)から変更を行うのは効率が悪いため、一括で変更する方法について記載したいと思います。

[環境]

  • Windows Server 2012 R2
  • ドメイン環境内のActive Directory上
作業手順
  1. 最初にAD上の任意の場所(ドキュメントの下など)に.ps1ファイルを作成します。
    ※txtファイル等で新規作成し、後でファイルの拡張子を変更してもOKです。
    任意の場所(例ではドキュメントの直下)に.ps1ファイルを作成
    任意の場所(例ではドキュメントの直下)に.ps1ファイルを作成
  2. ファイルの内容を以下のように記述します。
    
    <DC>.<DC>/<OU>/<Target OU>
    
    Get-ADUser -SearchBase 'OU=<Target OU>,OU=<OU>,DC=<DC>,DC=<DC>'-Filter * | Set-ADUser  -StreetAddress "実際の住所"	

    記述例:

    StreetAddress(住所)属性を変更する場合の記述例
    StreetAddress(住所)属性を変更する場合の記述例


    他の属性もまとめて変更したい場合は、以下のように編集します。
    他の属性を追加する場合の記述例
    他の属性を追加する場合の記述例
  3. 次に、同じディレクトリに.ps1を実行させるバッチ(.bat)ファイルを作成します。
    同じ階層に.batファイルを作成
    同じ階層に.batファイルを作成
  4. ファイル内容は以下のように記述します。
    
    powershell -ExecutionPolicy RemoteSigned -File <ファイルのパス>
    pause
    
    記述例:

    実行用.batファイル内記述例
    実行用.batファイル内記述例
  5. .batファイルを右クリックし、管理者として実行
    Run as administrator(管理者として実行)を押下
    Run as administrator(管理者として実行)を押下
  6. Powershellで処理が行われ、エラーがある場合は表示されますのでここで確認してください。完了後コマンドプロンプトに「Press any key to continue…」と表示されますので、何かキーを押すとプロンプトが閉じます。

Acrive Directoryについての関連書籍はこちら
PowerShellについての関連書籍はこちら







コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です