建立批次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 = "user$i@example.com" # 郵箱地址格式可以自行修改
$displayName = "User $i"
$ou = "OU=Users,OU=Company,DC=domain,DC=com" # 設定使用者所在的組織單位路徑,根據實際情況修改
# 建立新使用者
New-ADUser `
-SamAccountName $username `
-UserPrincipalName "$username@domain.com" `
-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檔案,包含要建立的使用者資訊。例如,建立一個
users.csv
檔案,內容如下:Copy CodeUsername,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指令碼(例如
CreateADUsers.vbs
),用於讀取CSV檔案並建立AD域使用者。示例指令碼如下:vbscriptCopy CodeConst 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域使用者,這在一次性建立多個使用者時非常有用。