返回

批处理命令实现批量添加用户到WinServer AD域的两种方法

电脑技巧

使用批量添加用户简化 AD 用户管理

简介

作为一名系统管理员,管理 Active Directory (AD) 域中的用户可能是一项耗时且容易出错的任务。手动逐个创建用户既乏味又效率低下。为了简化这一过程,可以使用批量添加用户的方法,使管理员能够高效地创建多个用户。本文将探讨使用 CMD 命令和 PowerShell 脚本批量添加用户的两种方法,并提供有关此过程的注意事项。

方法 1:使用 CMD 命令

步骤:

  1. 创建文本文件: 在记事本或其他文本编辑器中,创建包含用户名和密码对的文本文件。每一行包含一个用户名和密码,用逗号分隔。例如:
username1,password1
username2,password2
username3,password3
  1. 保存文本文件: 将文件保存为带有 ".bat" 扩展名的批处理文件,例如 "addusers.bat"。

  2. 创建批处理文件: 使用以下内容创建批处理文件:

@echo off
setlocal EnableDelayedExpansion
for /f "tokens=1,2,3 delims=," %%i in (users.txt) do (
    net user %%i %%j /add /domain
    if !errorlevel! equ 0 (
        echo Successfully created user %%i.
    ) else (
        echo Failed to create user %%i.
    )
)
  1. 运行批处理文件: 将 "addusers.bat" 批处理文件和 "users.txt" 文件复制到 AD 域控制器的桌面上。以管理员身份打开命令提示符,导航到文件位置并运行 "addusers.bat"。

方法 2:使用 PowerShell 脚本

步骤:

  1. 创建 PowerShell 脚本: 在记事本或其他文本编辑器中,创建包含以下内容的 PowerShell 脚本:
$users = Get-Content "users.txt" | ConvertFrom-Csv
foreach ($user in $users) {
    $username = $user.username
    $password = $user.password
    $domain = "yourdomain.com"

    New-ADUser -Name $username -Password $password -DisplayName $username -Enabled $true -AccountPasswordNeverExpires $true -Domain $domain
}
  1. 保存 PowerShell 脚本: 将文件保存为带有 ".ps1" 扩展名的 PowerShell 脚本,例如 "addusers.ps1"。

  2. 运行 PowerShell 脚本: 将 "addusers.ps1" 脚本文件和 "users.txt" 文件复制到 AD 域控制器的桌面上。以管理员身份打开 PowerShell,导航到文件位置并运行以下命令:

powershell.exe -ExecutionPolicy Bypass -File addusers.ps1

注意事项

  • 在使用任何方法之前,请备份 AD 域的数据。
  • 确保使用的是最新的 AD 域版本。
  • 检查脚本或批处理文件中的语法错误。
  • 如果遇到问题,请咨询 Microsoft 支持或 IT 专业人士。

结论

使用 CMD 命令或 PowerShell 脚本批量添加用户是一种简化 AD 用户管理任务的有效方法。通过遵循本文所述的步骤,管理员可以高效且准确地创建多个用户,从而节省时间和提高效率。

常见问题解答

  1. 我可以使用这些方法在 Azure AD 中添加用户吗?

    • 否,这些方法仅适用于 Windows Active Directory。
  2. 批量添加用户时,如何处理密码复杂性要求?

    • PowerShell 脚本提供了显式设置密码的方法,而 CMD 命令无法控制密码复杂性。
  3. 能否同时创建多个用户组和用户?

    • 是的,PowerShell 脚本可以根据需要使用 New-ADGroupNew-ADUser 命令动态创建组和用户。
  4. 如何从文件中排除某些用户?

    • 使用 PowerShell 脚本,可以使用 Where-Object 过滤命令来排除符合特定条件的用户。
  5. 批量添加用户时,如何处理用户锁定策略?

    • 在 PowerShell 脚本中,可以使用 -AccountUnlockTime 参数指定用户解锁时间。