TSF – Giải pháp IT toàn diện cho doanh nghiệp SMB | HCM

P10 - Tạo User Hàng Loạt Trong Active Directory Bằng PowerShell

📘 WinServer2025 – P10: Tạo User Hàng Loạt trong Active Directory bằng PowerShell

Trong môi trường doanh nghiệp, quản trị viên CNTT thường xuyên phải tạo hàng chục hoặc hàng trăm user cùng lúc. Nếu thực hiện thủ công bằng Active Directory Users and Computers, quá trình này vừa tốn thời gian, vừa dễ sai sót, lại không thể mở rộng khi quy mô tổ chức tăng lên.

Vì vậy, Tạo User Hàng Loạt trong Active Directory bằng PowerShell kết hợp với file CSV được xem là phương pháp chuyên nghiệp, hiệu quả và chuẩn enterprise.

Trong Phần 10 của chuỗi Windows Server 2025, bài viết này hướng dẫn toàn bộ quy trình end-to-end để tạo user hàng loạt bằng PowerShell, dựa trên mô hình lab thực tế thường gặp trong môi trường doanh nghiệp.


👥 Vì Sao Tạo User Hàng Loạt Lại Quan Trọng?

Khi số lượng nhân sự tăng nhanh, việc onboarding user thủ công sẽ phát sinh nhiều vấn đề:

❌ Mất nhiều thời gian thao tác lặp lại
❌ Dễ sai sót thông tin user
❌ Không đồng nhất thuộc tính tài khoản
❌ Không phù hợp cho môi trường lớn

💡 PowerShell + CSV là giải pháp tối ưu giúp tự động hóa quá trình tạo user, đảm bảo nhanh – chính xác – dễ quản lý.

Đây là phương pháp được sử dụng phổ biến trong doanh nghiệp, dự án triển khai AD, migration và tích hợp hệ thống.


🧩 Tổng Quan Lab Demo

Demo này bao gồm đầy đủ các bước cần thiết để Tạo User Hàng Loạt:

📄 Chuẩn bị dữ liệu user trong Excel
🧹 Làm sạch tên tiếng Việt (loại bỏ ký tự phân tách)
✂️ Tách First NameLast/Middle Name
📁 Chuẩn bị file CSV và PowerShell script
⚙️ Thực hiện tạo user hàng loạt trong Active Directory

Mỗi bước đều đóng vai trò quan trọng để đảm bảo automation hoạt động ổn định.


🔧 Bước 1: Loại Bỏ Ký Tự Phân Tách Trong Tên Tiếng Việt

Tên tiếng Việt thường chứa khoảng trắng không đồng nhất hoặc ký tự ẩn, dễ gây lỗi khi automation.

🧹 Làm Sạch Dữ Liệu Bằng Unikey

1️⃣ Mở file Excel
2️⃣ Copy cột chứa họ tên đầy đủ
3️⃣ Mở Unikey → nhấn Ctrl + Shift + F6
4️⃣ Chọn Unicode
5️⃣ Chọn Remove separatorConvert encodingOK
6️⃣ Paste lại dữ liệu đã làm sạch vào Excel

✅ Tên user đã được chuẩn hóa, sẵn sàng cho automation.


✂️ Bước 2: Tách First Name và Last/Middle Name

Active Directory sử dụng các thuộc tính như GivenNameSurname, vì vậy cần tách tên chính xác.

📌 Lấy First Name (Ô E2)

 
=TRIM(RIGHT(C2,LEN(C2)-FIND(“@”,SUBSTITUTE(C2,” “,”@”,LEN(C2)-LEN(SUBSTITUTE(C2,” “,””))))))
 

📌 Lấy Last + Middle Name (Ô D2)

 
=LEFT(C3,LEN(C3)-LEN(E3))
 

🎯 Việc này đảm bảo ánh xạ chính xác sang các thuộc tính AD như GivenNameSurname.


📁 Bước 3: Chuẩn Bị File Import

📄 File CSV

File CSV chứa toàn bộ dữ liệu user, cần lưu ý:

  • Các cột được phân cách bằng TAB

  • Bao gồm các trường:

    • Username

    • Password

    • Full Name

    • First Name

    • Last Name

    • Organizational Unit

    • Enabled

File CSV càng chuẩn thì quá trình Tạo User Hàng Loạt càng ổn định.


📜 PowerShell Script (PS1)

💻
filename.bash
Import-Module ActiveDirectory

[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null

$dialog = New-Object System.Windows.Forms.OpenFileDialog
$dialog.Filter = "CSV (*.csv)| *.csv"
$dialog.ShowDialog() | Out-Null

$CSVFile = $dialog.FileName

if (!(Test-Path $CSVFile)) {
    Write-Host "File not found"
    exit
}

$CSV = Import-Csv -LiteralPath $CSVFile -Delimiter "`t"

foreach ($user in $CSV) {

    if ([string]::IsNullOrWhiteSpace($user.Username)) { continue }

    $SecurePassword = ConvertTo-SecureString ($user.Password.Trim()) -AsPlainText -Force

    New-ADUser `
        -Name $user.'Full Name' `
        -GivenName $user.'First Name' `
        -Surname $user.'Last Name' `
        -SamAccountName $user.Username `
        -UserPrincipalName "$($user.Username)@tsf.local" `
        -EmployeeID $user.'Employee ID' `
        -Description $user.Description `
        -Path $user.'Organizational Unit' `
        -AccountPassword $SecurePassword `
        -Enabled ([System.Convert]::ToBoolean($user.Enabled)) `
        -ChangePasswordAtLogon $false

    Write-Host "Created user: $($user.Username)"
}

Read-Host "Script complete. Press Enter to exit"

Script này cho phép chọn file CSV và tự động tạo user trong Active Directory.


▶️ Bước 4: Chạy PowerShell Script

Thực hiện theo các bước sau:

1️⃣ Cài LibreOffice hoặc dùng Excel
2️⃣ Đặt file CSV và PS1 vào C:\ hoặc thư mục bất kỳ
3️⃣ Chuột phải file .ps1Run with PowerShell
4️⃣ Chọn file CSV khi được yêu cầu
5️⃣ Chờ script chạy xong và kiểm tra user trong AD

✅ User được tạo tự động, đồng loạt và chính xác.


🔐 Best Practices Khi Tạo User Hàng Loạt

Để đảm bảo an toàn và ổn định, luôn tuân thủ các nguyên tắc sau:

🛡️ Test script trong lab trước khi chạy production
📁 Tạo user theo OU-based provisioning
🔐 Không hardcode mật khẩu trong script
📏 Áp dụng least privilege cho tài khoản chạy script


👨‍💻 Đối Tượng Phù Hợp

Hướng dẫn Tạo User Hàng Loạt này phù hợp với:

👨‍💻 System Administrator
🧑‍🔧 IT Helpdesk định hướng lên System
🎓 Người học automation Active Directory
🏢 Đội ngũ IT doanh nghiệp

Nội dung tập trung vào automation thực tế, sẵn sàng production.


🧩 Tổng Kết

Tạo User Hàng Loạt trong Active Directory bằng PowerShell là kỹ năng bắt buộc đối với quản trị viên hệ thống hiện đại. Automation giúp tiết kiệm thời gian, giảm lỗi và đảm bảo tính nhất quán trong môi trường doanh nghiệp.

Hoàn thành tutorial này giúp bạn sở hữu một quy trình provisioning chuyên nghiệp, có thể tái sử dụng cho onboarding, migration và vận hành Active Directory trên Windows Server 2025.

Nếu bạn thấy bài viết hữu ích, đừng quên chia sẻ và theo dõi để cập nhật thêm nhiều tutorial Windows Server thực chiến khác 🚀

Tham khảo thêm bài viết cùng chủ đề

P19 – Hạ Domain Controller Chuẩn An Toàn

P19 – Hạ Domain Controller Chuẩn An Toàn https://youtu.be/vLgyzgmxzPI WinServer 2025 – P19 Hạ Domain Controller Giữ Toàn Bộ FSMO Roles Việc Hạ Domain Controller về Windows Server khi máy chủ đang giữ toàn bộ FSMO roles là một thao tác quan trọng trong hệ thống Active Directory. Nếu thực...

Read More

P18 – Critical Fix Guide Xóa ADC Fail Server 2025

P18 – Critical Fix Guide Xóa ADC Fail Trên Windows Server 2025 https://youtu.be/82fvirmHZ2k WinServer2025 – P18 Critical Fix Remove Dead ADC from Active Directory (Server 2025) Khi một Additional Domain Controller (ADC) bị lỗi vĩnh viễn, việc để nó tồn tại trong Active Directory có thể gây ra nhiều vấn...

Read More

P17 – Hướng Dẫn Xóa PDC Fail Server 2025

P17 – Hướng Dẫn Xóa PDC Fail Trên Windows Server 2025 https://youtu.be/ipF1EziL_C8 WinServer2025 – P17 How to Remove a Failed Domain Controller in Windows Server 2025 Khi Primary Domain Controller (PDC) bị lỗi hoàn toàn và không thể khôi phục, việc chỉ tắt máy hoặc xóa VM là chưa đủ....

Read More