Active Directory環境では、ユーザー追加や属性変更をGUIの「Active Directory ユーザーとコンピューター(ADUC)」から実施するケースが多いですが、運用規模が大きくなるほど手作業では限界が発生します。
実際の運用現場では、数十〜数百アカウントの一括作成、部署異動対応、無効化処理などを短時間で確実に実行する必要があります。
筆者も運用業務の中で、GUI操作による設定ミスや作業時間の増大に直面しましたが、PowerShellによるActive Directory管理へ移行したことで、作業時間と人的ミスを大幅に削減できました。
本記事では、PowerShellを使用してActive Directoryユーザーを管理する基本操作から実務レベルの運用方法について解説します。
PowerShellでActive Directoryを操作するための事前準備
Active DirectoryをPowerShellで管理するには、以下のモジュールが必要です。
Active Directoryモジュールの確認
PowerShellを管理者権限で起動し、次を実行します。
|
1 |
Get-Module -ListAvailable ActiveDirectory |
表示されない場合は、RSAT(Remote Server Administration Tools)が未導入です。

RSATのインストール(Windows 10 / 11)
設定 → システム → オプション機能 → 機能を表示→「RSAT」で検索
以下を追加します。
・RSAT: Active Directory Domain Services and Lightweight Directory Services Tools
インストール後、PowerShellで読み込みます。
|
1 |
Import-Module ActiveDirectory |
Active Directoryユーザー一覧を取得する
最も基本となるコマンドです。
Get-ADUser -Filter *
ユーザー数が多い環境では以下を使用します。
|
1 |
Get-ADUser -Filter * -SearchBase "OU=Users,DC=example,DC=com" |
主な取得オプション
| コマンド | 内容 |
|---|---|
| Get-ADUser -Identity user01 | 特定ユーザー取得 |
| -Properties * | 全属性取得 |
| Select Name,Enabled | 必要項目のみ表示 |
| Export-Csv | CSV出力 |
例:
|
1 2 |
Get-ADUser -Filter * -Properties Department | Select Name,Department | Export-Csv users.csv -NoTypeInformation |
新規ユーザーを作成する方法
PowerShellでは1行でユーザー作成が可能です。
|
1 2 3 4 5 |
New-ADUser -Name "Taro Yamada" -GivenName "Taro" -Surname "Yamada" -SamAccountName "t.yamada" -UserPrincipalName "t.yamada@example.com" -Path "OU=Users,DC=example,DC=com" -AccountPassword (ConvertTo-SecureString "Password123!" -AsPlainText -Force) -Enabled $true |
実務ポイント
| 項目 | 説明 |
|---|---|
| SamAccountName | ログオンID |
| UserPrincipalName | メール形式ログオン |
| Path | 作成OU |
| Enabled | 有効化 |
ユーザー情報を変更する
部署変更や表示名更新などに使用します。
|
1 |
Set-ADUser -Identity t.yamada -Department "Sales" |
複数項目変更例:
|
1 2 |
Set-ADUser -Identity t.yamada -Title "Manager" -OfficePhone "03-0000-0000" |
ユーザーを無効化・有効化する
退職者対応などで頻繁に使用します。
無効化
|
1 |
Disable-ADAccount -Identity t.yamada |
有効化
|
1 |
Enable-ADAccount -Identity t.yamada |
パスワードをリセットする
Reset操作は非常に使用頻度が高い管理作業です。
|
1 2 |
Set-ADAccountPassword -Identity t.yamada -NewPassword (ConvertTo-SecureString "NewPass123!" -AsPlainText -Force) -Reset |
次回ログオン時変更を強制する場合:
|
1 |
Set-ADUser -Identity t.yamada -ChangePasswordAtLogon $true |
ユーザーをOUへ移動する
部署異動時に使用します。
|
1 2 |
Move-ADObject -Identity "CN=Taro Yamada,OU=Users,DC=example,DC=com" -TargetPath "OU=Sales,DC=example,DC=com" |
グループへユーザーを追加する
|
1 |
Add-ADGroupMember -Identity "Sales_Group" -Members t.yamada |
削除する場合:
|
1 |
Remove-ADGroupMember -Identity "Sales_Group" -Members t.yamada |
CSVからユーザーを一括作成する(実務向け)
大量登録では必須の方法です。
CSV例
Name,SamAccountName,Department
Taro Yamada,t.yamada,Sales
PowerShell
|
1 2 3 4 5 |
Import-Csv users.csv | ForEach-Object { New-ADUser -Name $_.Name -SamAccountName $_.SamAccountName -Department $_.Department -Enabled $true } |
手作業登録と比較すると、数百ユーザーでも数分で完了します。
Active Directory管理でよく使うコマンド一覧
| 操作 | コマンド |
|---|---|
| ユーザー取得 | Get-ADUser |
| 作成 | New-ADUser |
| 変更 | Set-ADUser |
| 削除 | Remove-ADUser |
| 無効化 | Disable-ADAccount |
| パスワード変更 | Set-ADAccountPassword |
| グループ追加 | Add-ADGroupMember |
よくある質問(Q & A)
- ドメインコントローラー以外でも実行できますか?
-
RSATがインストールされており、ドメイン参加済みPCであれば実行可能です。
- 実行時に「Get-ADUser が認識されない」と表示されます
-
ActiveDirectoryモジュールが読み込まれていません。
Import-Module ActiveDirectory を実行してください。 - PowerShell実行ポリシーでエラーになります
-
管理者権限で以下を実行します。
1Set-ExecutionPolicy RemoteSignedPowerShell実行時に「スクリプトの実行が無効になっています」と表示される場合は、実行ポリシーが原因の可能性があります。
以下の記事でエラー解除手順を詳しく解説しています。覚え書き.com – 「駑馬十駕」を信…
PowerShell実行ポリシーを変更する方法|エラー解除手順 – 覚え書き.com PowerShellの実行ポリシーエラーを解除する手順を丁寧に解説。RemoteSignedやUnrestrictedの違い、スコープ別の変更方法まで分かりやすくまとめています。 - GUI管理とPowerShellはどちらが安全ですか?
-
操作ログをスクリプトとして残せるため、PowerShellの方が再現性と監査性に優れています。
- Import-Module ActiveDirectoryで警告が表示されます
-
Active Directory Web Services(ADWS)へ接続できない場合に表示される警告です。
RSATやモジュールのインストール失敗ではありません。ドメイン接続状態やVPN接続を確認してください。
まとめ
PowerShellを利用したActive Directoryユーザー管理は、運用効率と作業品質を大きく向上させます。
特にユーザー数が増える環境では、GUI操作のみでの管理は非効率になりやすく、人的ミスの原因にもなります。
ユーザー作成・変更・無効化・グループ管理をPowerShellへ移行することで、作業時間短縮だけでなく標準化された運用が実現できます。
まずはユーザー取得や無効化など日常業務からPowerShell化を進めることをおすすめします。




