建立批次AD域使用者的指令碼可以使用 PowerShell 來實現。以下是一個簡單的示例指令碼,用於批次建立使用者:

suv789發表於2024-06-17

建立批次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域使用者:

  1. 建立CSV檔案:首先,建立一個CSV檔案,包含要建立的使用者資訊。例如,建立一個 users.csv 檔案,內容如下:

    Copy Code
    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

    這個檔案包含了使用者名稱、密碼、名字、姓氏、顯示名稱和描述等資訊。

  2. 編寫VBScript指令碼:建立一個VBScript指令碼(例如 CreateADUsers.vbs),用於讀取CSV檔案並建立AD域使用者。示例指令碼如下:

    vbscriptCopy Code
    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
  3. 執行指令碼:雙擊執行 CreateADUsers.vbs 指令碼即可執行批次建立AD域使用者的操作。

注意事項

  • 在指令碼中,修改 strDomainstrOU 變數為你的域和正確的組織單位路徑。
  • 確保CSV檔案的路徑和欄位名與指令碼中的一致。
  • 確保指令碼執行的賬戶具有足夠的許可權來建立AD域使用者。

透過這個VBScript指令碼,你可以批次從CSV檔案中建立AD域使用者,這在一次性建立多個使用者時非常有用。


相關文章