创建批量AD域用户的脚本可以使用 PowerShell 来实现。以下是一个简单的示例脚本,用于批量创建用户:
powershellCopy Code# 导入Active Directory模块
Import-Module ActiveDirectory
# 设定要创建用户的数量
$numberOfUsers = 10
# 循环创建用户
for ($i = 1; $i -le $numberOfUsers; $i++) {
$username = "User$i" # 用户名格式可以自行修改
$password = ConvertTo-SecureString -String "P@ssw0rd" -AsPlainText -Force # 设定初始密码,可以根据需要修改
$email = "[email protected]" # 邮箱地址格式可以自行修改
$displayName = "User $i"
$ou = "OU=Users,OU=Company,DC=domain,DC=com" # 设定用户所在的组织单位路径,根据实际情况修改
# 创建新用户
New-ADUser `
-SamAccountName $username `
-UserPrincipalName "[email protected]" `
-Name $displayName `
-DisplayName $displayName `
-GivenName "User" `
-Surname "Lastname" `
-EmailAddress $email `
-AccountPassword $password `
-Enabled $true `
-Path $ou
}
Write-Output "批量创建用户完成。"
请确保在使用此脚本之前,已经安装了Active Directory模块,并且具有足够的权限来创建新用户。此脚本假设用户将被创建在指定的组织单位(OU)中,并且设定了初始密码和邮箱地址。
注意事项:
- 请根据你的实际情况修改
$ou
变量,确保用户被创建在正确的组织单位中。 - 脚本中的密码
P@ssw0rd
是示例密码,强烈建议根据安全最佳实践设定更复杂和安全的初始密码。 - 如果需要设定更多属性(如部门、电话号码等),可以根据需要在
New-ADUser
的参数中添加。
使用此脚本时,建议先在测试环境中进行测试,以确保脚本按预期运行,并避免意外操作。
批量创建AD域用户可以使用VBScript(VBS脚本)来实现。下面是一个简单的示例,演示如何通过VBScript从CSV文件中读取用户信息并创建AD域用户:
-
创建CSV文件:首先,创建一个CSV文件,包含要创建的用户信息。例如,创建一个
Copy Codeusers.csv
文件,内容如下:Username,Password,FirstName,LastName,DisplayName,Description User1,P@ssw0rd,John,Doe,John Doe,Test user 1 User2,P@ssw0rd,Jane,Smith,Jane Smith,Test user 2 User3,P@ssw0rd,Michael,Johnson,Michael Johnson,Test user 3
这个文件包含了用户名、密码、名字、姓氏、显示名称和描述等信息。
-
编写VBScript脚本:创建一个VBScript脚本(例如
vbscriptCopy CodeCreateADUsers.vbs
),用于读取CSV文件并创建AD域用户。示例脚本如下:Const ADS_UF_NORMAL_ACCOUNT = &H200 Const ADS_UF_PASSWD_NOTREQD = &H20 Const ADS_UF_PASSWORD_EXPIRED = &H800000 ' 设置AD路径和域信息 strDomain = "yourdomain.com" ' 修改为你的域名 strOU = "OU=Users,DC=yourdomain,DC=com" ' 修改为你的OU路径 ' 读取CSV文件路径 strCSVFile = "C:\path\to\users.csv" ' 根据实际情况修改文件路径 ' 创建ADODB连接对象和记录集对象 Set objConnection = CreateObject("ADODB.Connection") Set objRecordSet = CreateObject("ADODB.Recordset") objConnection.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strCSVFile & ";Extended Properties=""text;HDR=YES;FMT=Delimited""" ' 执行SQL查询获取CSV文件中的用户信息 strSQL = "SELECT * FROM [" & Replace(strCSVFile, "\", "\\") & "]" objRecordSet.Open strSQL, objConnection ' 遍历记录集,创建AD用户 Do Until objRecordSet.EOF strUsername = objRecordSet.Fields("Username").Value strPassword = objRecordSet.Fields("Password").Value strFirstName = objRecordSet.Fields("FirstName").Value strLastName = objRecordSet.Fields("LastName").Value strDisplayName = objRecordSet.Fields("DisplayName").Value strDescription = objRecordSet.Fields("Description").Value ' 组合用户PrincipalName strUserPrincipalName = strUsername & "@" & strDomain ' 创建用户对象 Set objOU = GetObject("LDAP://" & strOU) Set objUser = objOU.Create("user", "cn=" & strDisplayName) ' 设置用户属性 objUser.Put "sAMAccountName", strUsername objUser.Put "userPrincipalName", strUserPrincipalName objUser.Put "givenName", strFirstName objUser.Put "sn", strLastName objUser.Put "displayName", strDisplayName objUser.Put "description", strDescription objUser.Put "userAccountControl", ADS_UF_NORMAL_ACCOUNT Or ADS_UF_PASSWD_NOTREQD ' 设置用户密码 objUser.SetPassword strPassword objUser.SetInfo ' 输出创建成功信息 WScript.Echo "Created user: " & strDisplayName ' 移动用户到正确的OU objUser.MoveHere "LDAP://" & objOU.ADsPath, strUserPrincipalName ' 继续处理下一条记录 objRecordSet.MoveNext Loop ' 关闭记录集和连接 objRecordSet.Close objConnection.Close
-
运行脚本:双击运行
CreateADUsers.vbs
脚本即可执行批量创建AD域用户的操作。
注意事项:
- 在脚本中,修改
strDomain
和strOU
变量为你的域和正确的组织单位路径。 - 确保CSV文件的路径和字段名与脚本中的一致。
- 确保脚本运行的账户具有足够的权限来创建AD域用户。
通过这个VBScript脚本,你可以批量从CSV文件中创建AD域用户,这在一次性创建多个用户时非常有用。
标签:脚本,objUser,AD,批量,创建,用户,objRecordSet From: https://www.cnblogs.com/suv789/p/18252885