Active Directory(AD)で新しいユーザーを作成するのは、必ずしも簡単ではありません。特に、迅速に、あるいは大量に作成しようとする場合はなおさらです。GUIでの操作で問題なく動作する場合もありますが、頻繁に行う場合は、PowerShellを使った自動化によって大幅に時間を節約できます。問題は、パスワードがセキュリティポリシーに準拠していなかったり、権限が正しく設定されていなかったりすると、状況が悪化してしまうことです。このガイドは、インターフェース経由でユーザーを手動で作成したり、スクリプトで自動化したりする必要がある中で、問題が発生したり、より迅速な方法が必要になったりした場合に役立ちます。これらの手順に従えば、1人ずつ作成する場合でも、数百人単位で作成する場合でも、適切な属性を持つ新しいADユーザーをすぐに作成できます。
ADUC (Active Directory ユーザーとコンピューター) を使用して新しい Active Directory ユーザーを作成する方法
GUIを使用して簡単な一回限りの作業を行う
正直なところ、ADで新しいユーザーを作成する最も簡単な方法は、を実行して「 Active Directory ユーザーとコンピューター」コンソールを開くことですdsa.msc。権限が適切であれば(Domain Adminsのメンバーである、または委任された権限を持っているなど)、ユーザーを作成するコンテナを右クリックし、「新規」 → 「ユーザー」を選択するだけです。
- OU (たとえば、Users ) を右クリックし、[新規] → [ユーザー]を選択します。
- 基本情報(名、姓、ユーザーログオン名(userPrincipalName)、sAMAccountName)を入力してください。一貫性を保つようにしてください。
さて、いよいよ難しい部分、パスワードの設定です。ドメインポリシー(複雑さ、長さ)に準拠していることを確認してください。パスワードは確認することも手動で設定することもできます。また、「ユーザーは次回ログオン時にパスワードの変更が必要」などのオプションもここで切り替えられます。
- 作成後、コンソールでユーザーを見つけて右クリックし、[プロパティ]に移動します。
- ここで電話番号、住所、役職、グループメンバーシップなどを追加します。詳細な属性を調整する必要がある場合は、「属性エディタ」タブを使用してください。
注:設定によっては、既存のユーザーからユーザーをコピー(右クリック →コピー)すると時間を節約できます。グループのメンバーシップや一部の属性がコピーされるため、類似したプロファイルを持つユーザーを作成する場合に便利です。ただし、Windows では必要以上に操作が複雑になる場合があるためです。
なぜこれが役立つのか
このアプローチは、1人または少数のユーザーを作成し、各属性を手動で制御したい場合に適しています。信頼性が高く、スクリプトを必要とせず、フィールドを正しく入力するのに少しの忍耐力が必要です。
PowerShell を使用して Active Directory ユーザーを作成する (New-ADUser を使用)
大規模チーム向けのユーザー作成の自動化
頻繁にこのような作業を行う場合は、PowerShell が便利です。このコマンドレットをNew-ADUser使えば、必要な属性をすべて指定したユーザー作成スクリプトを作成できるので、非常に便利です。名前、ログイン名、組織単位(OU)、パスワードを指定し、アカウントの有効化まで一括で行えます。現実的には、すべてを手動で行うのはスケーラブルではないため、多くのユーザーは一括作成のためにスクリプトを作成しています。
- まず、Active Directory モジュールがロードされていることを確認します
Import-Module ActiveDirectory。 - 簡単な構文のヒント: 実行する
Get-Command New-ADUser –Syntaxとすべてのオプションが表示されます。
単純な作成であれば、次のようにするだけで済みます。New-ADUser testuser1ただし、そのユーザーはすぐに無効になってしまうため、パスワードを設定してすぐに有効化する必要があることがよくあります。例えば、次のようにします。
New-ADUser -Name "Albert Schmidt" -GivenName "Albert" -Surname "Schmidt" -SamAccountName "a.schmidt" -UserPrincipalName "[email protected]" -Path "OU=Users, OU=Companies, DC=domain, DC=com" -AccountPassword (Read-Host -AsSecureString "Input Password") -Enabled $true
このコマンドは、ドメインのポリシーに従った複雑なパスワードの入力を促します(簡単すぎるパスワードはダメです)。なぜそうなるのかは分かりませんが、パスワードの複雑さが一致しない場合、パスワードプロンプトでEnterキーを押すとエラーが発生することがあります。
なぜこれが役立つのか
多くのユーザーが同じ設定を必要とする場合、スクリプトは大きな時間節約になります。また、ボタンをクリックするよりもスクリプトの方がミスの繰り返しが少なくなります。ただし、パスワードには注意が必要です。できればスクリプトで生成するか、パスフレーズジェネレーターを使うことをお勧めします。一部の設定ではうまくいきましたが、他の設定では、サイレントパスワードポリシーの問題のために調整が必要でした。
PowerShell 経由で CSV からユーザーを一括作成する
新規採用者や複数のユーザーのリストがある場合
何時間もかけてクリックするだけでは不十分です。代わりに、ユーザーデータ(名、姓、ユーザー名、電話番号、部署、役職、パスワード、OUパス)をCSVファイルで用意してください。Excelを使用して、UTF-8エンコード、区切り文字としてカンマ(またはセミコロン)を使用し、CSV形式で保存してください。OUパスが正しく、引用符で囲まれていることを確認してください。
- サンプルヘッダー:
FirstName;LastName;SamAccountName;Phone;Department;JobTitle;Password;OU
さて、このファイルを処理するための典型的なスクリプトは次のようになります。
Import-Module ActiveDirectory $domain = "@domain.com" Import-Csv "C:\path\to\create_ad_users.csv" -Delimiter ";" | ForEach-Object { $userSAM = $_. SamAccountName # Check if user already exists if (@(Get-ADUser -Filter "SamAccountName -eq '$userSAM'").Count -ne 0) { # Let’s not overwrite in case of duplicates, so prompt for new username Add-Type -AssemblyName Microsoft. VisualBasic $userSAM = [Microsoft. VisualBasic. Interaction]::InputBox("User $_. SamAccountName exists. Enter a new sAMAccountName.", "Duplicate User", $_. SamAccountName) } $userUPN = "$userSAM$domain" $userName = "$($_. LastName) $($_. FirstName)" # Create user with attributes, password is converted from plain text securely New-ADUser -Name $userName -DisplayName $userName -GivenName $_. FirstName -Surname $_. LastName -OfficePhone $_. Phone -Department $_. Department -Title $_. JobTitle -UserPrincipalName $userUPN -SamAccountName $userSAM -Path $_. OU -AccountPassword (ConvertTo-SecureString $_. Password -AsPlainText -force) -Enabled $true }
パスワード ポリシーの異常により、特にパスワードの複雑さに関するエラーが発生する場合は、スクリプトまたは別のツールを使用してパスワードを動的に生成する必要がある場合があります。
なぜこれが役立つのか
これにより、特に複数の新入社員を管理する際に、オンボーディングが大幅にスピードアップします。さらに、ログ記録の追加、既存アカウントの確認、さらにはグループの自動割り当ても、スクリプトを拡張するだけで簡単に行えます。
実行後、「Active Directory ユーザーとコンピューター」を開き、指定されたOUに移動して新しいアカウントを確認します。必要に応じて、この情報を他のスクリプトにパイプ処理して、後でグループメンバーシップを割り当てたり、属性を設定したりすることもできます。
まとめ
ユーザーを手動で作成する場合でも、スクリプトを使って作成する場合でも、これらの方法を理解しておくことで、多くの時間を節約し、イライラするようなエラーを回避できます。パスワードポリシーと権限に注意し、パスと属性値を二重に確認してください。一度コツをつかめば、ADユーザーの管理ははるかに楽になり、しかも迅速になります。少し不思議な感じですが、少し設定するだけで、繰り返しのタスクがほぼ瞬時に完了します。これで、1日のタスクが一つ減ることを願っています。
まとめ
- 手動でユーザーを素早く作成するには、 dsa.msc を使用します。
New-ADUserスクリプトと自動化に活用します。- 正しいパスとフォーマットに注意しながら、大量のユーザー作成用の CSV ファイルを準備します。
- エラーを防ぐために、ドメイン パスワードの複雑さを常に再確認してください。
- 完全な自動化のために、グループ メンバーシップと属性設定のスクリプト化を検討してください。
結論
ADでのユーザーの作成と管理は、GUIまたはPowerShellに慣れれば簡単です。大規模なチームや頻繁なアップデートには自動化が適していますが、簡単なタスクであれば手動で行う方法も依然として有効です。これらのヒントが、作業をスピードアップしたり、頭を悩ませる問題を回避したりするのに役立つことを願っています。誰かが頻繁に壁にぶつかるのを防ぐのに役立つことを願っています。