在本篇的文章中🎈,我们将为大家详细介绍三种在 Windows Server 2025 Active Directory 中创建用户的独特方式🎉。每一种方式都独具特色😎,拥有其自身的优势和适用场景。大家可以根据实际的工作场景和需求,精心挑选出最为合适的方式来进行用户创建💪。
使用 Active Directory 用户和计算机管理控制台(ADUC)
打开 “Active Directory 用户和计算机” 管理控制台。可以通过在服务器管理器中找到 “工具” 菜单,然后选择 “Active Directory 用户和计算机” 来打开。
在控制台树中,展开要在其中创建用户的域和组织单位(OU)。右键单击要创建用户的容器(域或 OU),指向 “新建”,然后单击 “用户”。
在 “新建对象 – 用户” 对话框中,输入用户的相关信息,如姓名、登录名等。例如,在 “姓名” 字段中输入用户的全名,在 “用户登录名” 字段中输入用户用于登录的名称。
根据需要设置用户密码和其他账户选项,如密码永不过期、用户下次登录时须更改密码等。
完成设置后,单击 “完成” 按钮,即可创建用户。
账户选项解释:
- 用户下次登录时须更改密码
- 选项解读: 当设置此选项时,用户在下次登录到系统时,系统会强制要求用户更改密码。这是一种安全策略,主要用于在管理员创建初始密码后,确保用户使用自己独有的、安全的密码。例如,管理员为新用户创建了一个简单的初始密码(如 “123456”),通过设置 “用户下次登录时须更改密码”,可以让用户在首次登录时将密码修改为只有自己知道的复杂密码。
- 应用场景:
- 新用户账户创建时。为了安全起见,管理员通常会使用一个临时密码创建账户,然后要求用户在初次登录时修改密码。
- 密码可能已泄露的情况下。如果怀疑某个用户的密码已经被泄露,管理员可以重置用户密码,并要求用户下次登录时更改密码,以保障账户安全。
- 用户不能更改密码
- 选项解读:此选项限制用户对自己账户密码的修改权限。用户将无法通过常规的方式(如按 Ctrl + Alt + Del 然后选择 “更改密码”)来修改密码。只有具有足够权限的管理员才能对该用户的密码进行修改。
- 应用场景:
- 共享账户场景。在一些情况下,企业可能会有共享的账户用于特定的服务或设备访问,如一个用于监控系统访问的共享账户,为了确保密码的一致性和安全性,不允许用户随意更改密码,只有管理员可以根据需要修改。
- 高度管控的系统环境。对于一些安全级别要求极高的系统,密码的管理由专门的安全团队负责,普通用户不被允许修改密码,以防止因用户修改密码而可能导致的安全漏洞或不符合安全策略的情况。
- 密码不过期
- 选项解读:默认情况下,AD 中的用户密码是有有效期的,通常会在一定时间后(如 90 天)要求用户更改密码。当设置 “密码不过期” 选项时,用户的密码将不受有效期的限制,不会因为密码过期而被系统强制要求更改。
- 应用场景:
- 服务账户。一些用于运行系统服务或应用程序的账户,如 SQL Server 服务账户,如果密码过期可能会导致服务中断。为了避免这种情况,可以将这些服务账户的密码设置为不过期。
- 特殊权限账户。对于一些具有高权限的管理账户,在某些特定情况下(如安全审计期间需要保持账户状态稳定),可以设置密码不过期,以确保系统的稳定运行和管理操作的连续性。
- 账户已禁用
- 选项解读:当账户被设置为 “账户已禁用” 时,用户将无法使用该账户登录到系统。这是一种用于暂时或永久禁止用户访问系统的手段。账户虽然存在于 AD 中,但处于不可用状态。
- 应用场景:
- 员工离职。当员工离开公司时,管理员可以禁用其账户,以防止离职员工继续访问公司的系统和资源。
- 安全违规。如果用户存在安全违规行为(如多次尝试错误密码、未经授权访问敏感资源等),管理员可以暂时禁用账户,进行调查和处理。
通过PowerShell 脚本创建用户
单个用户创建命令
假设要创建一个名为 John Doe 的用户,用户名是 jdoe
,放置在 OU=Users,DC=contoso,DC=intra
中:
New-ADUser -GivenName "John" -Surname "Doe" -Name "John Doe" -SamAccountName "jdoe" `
-UserPrincipalName "jdoe@contoso.intra" -Path "OU=test,DC=contoso,DC=intra" `
-AccountPassword (ConvertTo-SecureString -AsPlainText "Password123" -Force) -Enabled $true
批量创建用户命令
需要准备一个存放用户信息的csv文件(users.csv)并在文件中设置列名如下:
Username,FirstName,LastName,Password
user1,John,Doe,Password123
user2,Jane,Smith,AnotherPass456
批量创建用户的PowerShell脚本
Import-Module ActiveDirectory
$csvPath = "C:Users.csv"
$users = Import-Csv -Path $csvPath
$ouPath = "OU=test,DC=contoso,DC=intra"
foreach ($user in $users) {
$username = $user.Username
$firstName = $user.FirstName
$lastName = $user.LastName
$password = $user.Password
New-ADUser -Name "$firstName $lastName" -SamAccountName $username -GivenName $firstName -Surname $lastName -AccountPassword (ConvertTo-SecureString -AsPlainText $password -Force) -Enabled $true -Path $ouPath
}
通过命令行工具创建用户
单个用户创建命令
dsadd user "CN=John Doe,OU=test,DC=contoso,DC=intra" -samid jdoe -upn jdoe@contoso.intra -fn John -ln Doe -display "John Doe" -pwd Password123
批量创建用户命令
需要准备一个存放用户信息的csv文件(users.csv)并在文件中设置列名如下:
CommonName,SamID,UPN,FirstName,LastName,Password
John Doe,jdoe,jdoe@contoso.intra,John,Doe,Password123
Jane Smith,jsmith,jsmith@contoso.intra,Jane,Smith,Password456
编写一个批处理脚本 CreateUsers.bat
,读取CSV文件中的信息并使用 dsadd
命令创建用户:
@echo off
setlocal enabledelayedexpansion
REM Define CSV file path
set "csvFile=C:users.csv"
REM Check if the CSV file exists
if not exist "%csvFile%" (
echo CSV file not found at %csvFile%
pause
exit /b
)
REM Read CSV file line by line
for /f "skip=1 tokens=1,2,3,4,5,6 delims=," %%A in (%csvFile%) do (
set "commonName=%%A"
set "samID=%%B"
set "upn=%%C"
set "firstName=%%D"
set "lastName=%%E"
set "password=%%F"
REM Set Distinguished Name for the user
set "dn=CN=!commonName!,OU=test,DC=contoso,DC=intra"
REM Execute dsadd user command
dsadd user "!dn!" -samid !samID! -upn !upn! -fn !firstName! -ln !lastName! -display "!commonName!" -pwd !password!
REM Output result of each user creation
if !errorlevel! equ 0 (
echo User !samID! created successfully.
) else (
echo Failed to create user !samID!.
)
)
REM Keep window open after execution
pause
运行批处理文件:
CreateUsers.bat
此文章为原创文章,作者:胖哥叨逼叨,如若转载,请与我联系并注明出处:https://www.pangshare.com/3234.htm