P11 - Export User Active Directory Ra File CSV
📘 WinServer2025 – P11: Export User Active Directory Ra File CSV để Báo Cáo & Kiểm Toán
Trong môi trường doanh nghiệp, Active Directory (AD) là hệ thống lõi quản lý danh tính người dùng. Quản trị viên thường xuyên cần xuất danh sách user Active Directory ra file CSV để phục vụ nhiều mục đích khác nhau như báo cáo, kiểm toán bảo mật và quản lý vận hành.
Việc kiểm tra thủ công bằng Active Directory Users and Computers vừa tốn thời gian, vừa không phù hợp với hệ thống có số lượng user lớn. Vì vậy, Export User Active Directory Ra File CSV bằng PowerShell được xem là phương pháp chuyên nghiệp, chính xác và chuẩn enterprise.
Trong Phần 11 của chuỗi Windows Server 2025, bài viết này hướng dẫn chi tiết nhiều kịch bản export user AD ra CSV thường được sử dụng trong môi trường doanh nghiệp thực tế.
📊 Vì Sao Cần Export User Active Directory Ra File CSV?
Trong thực tế vận hành hệ thống, quản trị viên cần báo cáo user AD cho nhiều bộ phận:
📋 Onboarding / Offboarding cho HR
🔍 Kiểm toán bảo mật và phân quyền
📊 Báo cáo tuân thủ & inventory
🧾 Tổng hợp cho quản lý và audit nội bộ
File CSV có thể dễ dàng mở bằng Excel, LibreOffice, Power BI hoặc nhập vào các hệ thống báo cáo khác.
👉 Export User Active Directory Ra File CSV là kỹ năng bắt buộc với System Administrator.
🧠 Có Thể Xuất Những Thông Tin Gì Từ Active Directory?
Khi export user AD bằng PowerShell, bạn có thể lấy được nhiều thuộc tính quan trọng:
👤 Username (SamAccountName)
📧 Email
🧑 Tên hiển thị
🏢 OU (Organizational Unit)
🔐 Trạng thái tài khoản (Enabled / Disabled)
📅 Last Logon
🆔 Employee ID
Nhờ định dạng CSV, dữ liệu có thể phân tích, lọc và tổng hợp rất linh hoạt.
🧰 Công Cụ Sử Dụng Trong Demo
🖥️ Windows Server 2025
🧑💼 Active Directory Domain Services
⚙️ PowerShell
📄 File CSV
Tất cả script trong bài đều phù hợp cho môi trường production khi được test kỹ.
🔧 Các Bước Export User Active Directory Ra File CSV
📌 Bước 1: Mở PowerShell
Chạy PowerShell bằng tài khoản có quyền đọc đối tượng user trong Active Directory.
Trong demo sử dụng:
👤 User: it02
🔐 Quyền: Domain Admin
📌 Bước 2: Export Thành Viên Của Một Group AD
Xuất danh sách user thuộc một group cụ thể (ví dụ: Company).
Select Name, SamAccountName, DistinguishedName |
Export-Csv –Path C:\Users\it02\Desktop\MemberofGroup.csv –NoTypeInformation
📌 Ứng dụng:
Kiểm tra quyền truy cập
Audit group
Báo cáo theo phòng ban
📌 Bước 3: Export Toàn Bộ User Active & Last Logon Chuẩn
Script dưới đây lấy Last Logon chính xác từ tất cả Domain Controller.
Import-Module ActiveDirectory
function Get-ADUsersLastLogon {
$dcs = Get-ADDomainController -Filter *
$users = Get-ADUser -Filter 'Enabled -eq $true' -Properties DistinguishedName
foreach ($user in $users) {
$time = 0
foreach ($dc in $dcs) {
$currentUser = Get-ADUser $user.SamAccountName -Server $dc.HostName `
-Properties lastLogon, lastLogonTimestamp
if ($currentUser.lastLogon -gt $time) {
$time = $currentUser.lastLogon
}
if ($currentUser.lastLogonTimestamp -gt $time) {
$time = $currentUser.lastLogonTimestamp
}
}
[PSCustomObject]@{
Name = $user.Name
SamAccountName = $user.SamAccountName
LastLogon = ([DateTime]::FromFileTime($time)).ToString("yyyy-MM-dd HH:mm")
OU = $user.DistinguishedName
}
}
}
Get-ADUsersLastLogon |
Export-Csv -Path C:\Users\it02\Desktop\users.csv -NoTypeInformation -Encoding UTF8📌 Ứng dụng:
Phát hiện user lâu không đăng nhập
Kiểm tra hoạt động tài khoản
📌 Bước 4: Export LastLogonDate Chi Tiết (Toàn Domain)
Script này tổng hợp LastLogon, LogonCount, Password Last Set, Account Expire.
Import-Module ActiveDirectory
$properties = ("Name","SamAccountName","lastLogon","createTimeStamp","logonCount","pwdLastSet","employeeID","accountExpires","distinguishedName")
$users = @{}
foreach ($hostname in (Get-ADDomainController -Filter { IsReadOnly -eq $false }).HostName) {
foreach ($user in (Get-ADUser -Server $hostname -Filter 'enabled -eq $true' -properties $properties | Select-Object $properties)) {
if ($users.Item($user.SamAccountName)) {
if ($user.lastLogon -gt $users.Item($user.SamAccountName).lastLogon) {
$users.Item($user.SamAccountName).lastLogon = $user.lastLogon
}
$users.Item($user.SamAccountName).logonCount += $user.logonCount
} else {
$users.Add($user.SamAccountName, $user)
}
}
}
foreach ($user in $users.Values) {
if ($user.lastLogon) { $user.lastLogon = [DateTime]::FromFileTime($user.lastLogon) }
if ($user.pwdLastSet) { $user.pwdLastSet = [DateTime]::FromFileTime($user.pwdLastSet) }
}
$users.Values | Export-Csv -Path C:\users\bao.tran\desktop\UserLastLogonDate.csv -NoTypeInformation -Encoding UTF8📌 Bước 5: Export User Không Đăng Nhập X Ngày Trong Sub OU
Import-Module ActiveDirectory
$DaysInactive = 10
$Time = (Get-Date).Adddays(-$DaysInactive)
Get-ADUser -Filter { LastLogonTimeStamp -lt $Time -and enabled -eq $true } `
-SearchBase "OU=BRO-HCM,OU=Users,OU=XYZ.LOCAL,DC=xyz,DC=local" -Properties * |
Select Name, SamAccountName, DistinguishedName, LastLogonDate |
Export-Csv "c:\users\bao.tran\desktop\usernologon10day.csv" -Encoding UTF8 -NoTypeInformation📌 Ứng dụng:
Cleanup user
Hardening bảo mật
Audit định kỳ
🔐 Best Practices Khi Export User Active Directory
🛡️ Sử dụng tài khoản read-only khi có thể
📁 Lưu file CSV ở vị trí an toàn
📏 Chỉ export thuộc tính cần thiết
🕒 Lập lịch export định kỳ nếu cần
“Báo cáo Active Directory chính xác giúp tăng bảo mật, khả năng kiểm soát và hiệu quả vận hành.”
🔥 Tại Sao Điều Này Quan Trọng?
Active Directory là xương sống danh tính của doanh nghiệp.
Khả năng Export User Active Directory Ra File CSV giúp:
✔️ Kiểm soát bảo mật
✔️ Đáp ứng compliance
✔️ Tối ưu vận hành IT
🧩 Tổng Kết
Export User Active Directory Ra File CSV bằng PowerShell là kỹ năng bắt buộc với quản trị viên hệ thống hiện đại. Nó giúp bạn nhìn rõ hệ thống, kiểm soát user, và tự động hóa báo cáo một cách chuyên nghiệp.
Hoàn thành tutorial này, bạn đã có trong tay bộ script sẵn sàng production để phục vụ audit, reporting 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 MoreP18 – 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 MoreP17 – 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