04 — Hệ điều hành Windows & Active Directory
Mục tiêu bài này: Làm chủ Windows ở góc độ người hỗ trợ (không phải người dùng cuối): quản lý dịch vụ, đọc log lỗi, quản lý tài khoản, và hiểu Active Directory (AD) — "bộ não quản lý danh tính" của mọi doanh nghiệp lớn, bao gồm sân bay. Đối tượng: Người có nền code. Bạn sẽ thấy PowerShell quen thuộc — đây là vũ khí mạnh nhất của bạn. Cách đọc: Mỗi mục có phần "🔧 Thực hành" — làm ngay trên máy thật/VM.
Mục lục
- Bức tranh: Windows trong doanh nghiệp khác máy cá nhân thế nào
- Kiến trúc Windows mà helpdesk cần biết
- Các công cụ quản trị "phải thuộc"
- Quản lý tài khoản cục bộ (Local) vs Domain
- Active Directory — trái tim quản lý danh tính
- Group Policy (GPO) — áp đặt cấu hình hàng loạt
- PowerShell cho helpdesk (vũ khí của dân code)
- Event Viewer — đọc "nhật ký" để chẩn đoán
- Các sự cố Windows thường gặp & cách xử lý
- Bối cảnh sân bay
- Thực hành tổng hợp
- Những điều cần lưu ý
- Thuật ngữ
1. Windows doanh nghiệp vs cá nhân
Máy ở nhà bạn tự quản. Máy trong doanh nghiệp/sân bay được quản lý tập trung.
| Workgroup (cá nhân) | Domain (doanh nghiệp) | |
|---|---|---|
| Quản lý tài khoản | Từng máy riêng | Tập trung tại AD |
| Đăng nhập | Tài khoản cục bộ | Tài khoản domain (vd airport\nva.nguyen) |
| Chính sách | Tự đặt | IT áp qua GPO |
| Quy mô | Vài máy | Hàng trăm–nghìn máy |
🧠 Khái niệm cốt lõi: Trong doanh nghiệp, bạn đăng nhập vào máy bằng tài khoản nằm trên server (Domain Controller), không phải trên máy đó. Đây là lý do một nhân viên hãng bay đăng nhập được ở bất kỳ quầy nào — vì tài khoản nằm tập trung.
2. Kiến trúc Windows
Vài khái niệm Windows mà helpdesk cần "thấy xuyên qua":
| Khái niệm | Là gì | Liên quan helpdesk |
|---|---|---|
| Services (Dịch vụ) | Chương trình chạy nền, không có cửa sổ (vd: Print Spooler, DHCP Client) | Nhiều sự cố = dịch vụ dừng → restart là xong |
| Registry | CSDL phân cấp lưu mọi cấu hình Windows | Một số fix nâng cao chỉnh registry (cẩn thận!) |
| Drivers | Phần mềm cho HĐH "nói chuyện" với phần cứng | Thiết bị lỗi thường do driver |
| Processes | Chương trình đang chạy | Treo máy → kill process trong Task Manager |
| Environment Variables | Biến môi trường (PATH...) | Dân code đã quen |
💡 Liên hệ dân code: Service giống một daemon/background process (như systemd service ở Linux). Registry giống một cây config khổng lồ (kiểu JSON/YAML lồng nhau) cho cả hệ thống.
3. Các công cụ quản trị
Học cách mở nhanh bằng cách gõ vào hộp Run (Win + R) hoặc Start. Thuộc bảng này = làm việc nhanh gấp đôi.
| Lệnh (gõ vào Run) | Công cụ | Dùng để |
|---|---|---|
taskmgr | Task Manager | Xem/kill tiến trình, hiệu năng |
devmgmt.msc | Device Manager | Quản lý phần cứng/driver |
services.msc | Services | Start/stop dịch vụ |
eventvwr.msc | Event Viewer | Đọc log lỗi |
compmgmt.msc | Computer Management | Tổng hợp nhiều công cụ |
diskmgmt.msc | Disk Management | Quản lý phân vùng ổ |
msconfig | System Configuration | Quản lý khởi động |
regedit | Registry Editor | Sửa registry (cẩn thận!) |
gpedit.msc | Local Group Policy | Chính sách cục bộ |
dsa.msc | AD Users & Computers | Quản lý AD (trên server/máy có RSAT) |
control printers | Printers | Quản lý máy in |
ncpa.cpl | Network Connections | Card mạng |
appwiz.cpl | Programs & Features | Gỡ phần mềm |
🔧 Thực hành 3: Mở
Win+R, gõ lần lượt 5 lệnh đầu bảng, quan sát mỗi công cụ. Ghi chú "công cụ này dùng khi nào".
4. Tài khoản Local vs Domain
Quyền hạn (permissions):
- Standard User: dùng bình thường, không cài được phần mềm hệ thống. (Đa số nhân viên.)
- Administrator: toàn quyền trên máy. (IT/helpdesk dùng có kiểm soát.)
⚠️ Nguyên tắc Least Privilege (đặc quyền tối thiểu): Chỉ cấp quyền đủ dùng, không hơn. Nhân viên check-in không cần quyền admin. Đây là nguyên tắc bảo mật nền tảng — đặc biệt nghiêm ngặt ở sân bay.
🔧 Thực hành 4: Mở
lusrmgr.msc(Local Users and Groups) hoặccompmgmt.msc→ xem tài khoản cục bộ & nhóm trên máy bạn. Tài khoản của bạn thuộc nhóm nào (Users hay Administrators)?
5. Active Directory
AD là phần quan trọng nhất bài này. Nó là "danh bạ + bộ não phân quyền" của doanh nghiệp.
5.1. AD là gì?
Active Directory là dịch vụ thư mục (directory service) của Microsoft, chạy trên Domain Controller (DC). Nó lưu trữ và quản lý:
- 👤 Users (tài khoản người dùng)
- 💻 Computers (máy tính trong domain)
- 👥 Groups (nhóm để gom quyền)
- 🖨️ Resources (máy in, thư mục chia sẻ...)
5.2. Cấu trúc phân cấp AD
| Khái niệm | Là gì | Ví von |
|---|---|---|
| Forest | Ranh giới bảo mật cao nhất, chứa nhiều domain | Cả tập đoàn |
| Domain | Đơn vị quản lý (vd airport.local) | Một công ty con |
| OU (Organizational Unit) | Thư mục để tổ chức users/computers + áp GPO | Phòng ban |
| User | Tài khoản người dùng | Nhân viên |
| Group | Tập hợp user để gán quyền hàng loạt | Vai trò/chức danh |
| Computer | Máy đã join domain | Thiết bị |
🧠 Vì sao dùng Group? Thay vì cấp quyền cho từng user một (mệt + dễ sai), bạn cấp quyền cho group rồi cho user vào group. Nhân viên mới → bỏ vào group "Checkin-Counter-Users" → tự có mọi quyền cần thiết. Đây là tư duy RBAC (Role-Based Access Control) — dân code rất quen.
5.3. Tác vụ AD helpdesk làm hằng ngày
| Tác vụ | Tần suất | Công cụ |
|---|---|---|
| Reset password | ⭐⭐⭐ Rất thường | ADUC (dsa.msc) hoặc PowerShell |
| Unlock account (bị khoá do nhập sai nhiều lần) | ⭐⭐⭐ | ADUC / PowerShell |
| Tạo user mới | ⭐⭐ | ADUC / PowerShell |
| Thêm/bớt user khỏi group | ⭐⭐ | ADUC / PowerShell |
| Disable account (nhân viên nghỉ) | ⭐ | ADUC / PowerShell |
| Tìm user/máy | ⭐⭐ | ADUC / PowerShell |
🔧 Thực hành 5 (cần lab có Domain Controller — xem file 15): Trên DC, mở ADUC (
dsa.msc):
- Tạo 1 OU tên "CheckinStaff".
- Tạo 2 user trong đó.
- Tạo group "Checkin-Users", thêm 2 user vào.
- Reset password 1 user. Khoá rồi unlock 1 user.
6. Group Policy (GPO)
GPO = cách IT áp đặt cấu hình/chính sách lên hàng loạt máy & user tự động.
GPO làm được gì? Gần như mọi thứ:
- 🔐 Bảo mật: độ phức tạp mật khẩu, khoá USB, tường lửa.
- 🖥️ Giao diện: hình nền, menu Start, khoá Control Panel.
- 🌐 Mạng: ổ đĩa mạng (mapped drive), máy in mặc định.
- 📦 Phần mềm: triển khai/cấm phần mềm.
Ví dụ sân bay: GPO gắn vào OU "CheckinStaff" có thể:
- Tự map máy in của khu vực quầy.
- Khoá màn hình sau X phút không dùng (bảo mật).
- Cấm cắm USB lạ (chống mã độc).
- Đặt trang chủ trình duyệt = hệ thống nội bộ.
🔧 Lệnh helpdesk hay dùng:
gpupdate /force— ép máy cập nhật GPO ngay (không chờ chu kỳ tự động).gpresult /r— xem máy/user đang nhận những GPO nào (chẩn đoán "vì sao chính sách không áp").
⚠️ Lưu ý: GPO áp theo thứ tự L-S-D-OU (Local → Site → Domain → OU), cái sau ghi đè cái trước. Khi "chính sách không như mong đợi", dùng
gpresultđể xem GPO nào thắng.
7. PowerShell cho helpdesk
🚀 Đây là sân chơi của bạn — dân code. Trong khi đồng nghiệp click chuột mỏi tay, bạn viết 1 dòng script xử lý 100 máy.
7.1. Lệnh nền tảng (làm việc với hệ thống)
# Xem dịch vụ
Get-Service # liệt kê tất cả dịch vụ
Get-Service -Name Spooler # xem 1 dịch vụ
Restart-Service Spooler # restart Print Spooler (fix kẹt in)
# Xem tiến trình
Get-Process # tiến trình đang chạy
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 # top 5 ngốn CPU
Stop-Process -Name notepad # kill tiến trình
# Thông tin hệ thống
Get-ComputerInfo # thông tin máy
Get-CimInstance Win32_LogicalDisk # dung lượng ổ đĩa
7.2. Lệnh mạng (chẩn đoán kết nối)
Test-Connection google.com # giống ping
Test-NetConnection -Port 443 server # kiểm tra cổng có mở không
Get-NetIPConfiguration # cấu hình IP (giống ipconfig)
Resolve-DnsName airport.local # phân giải DNS (giống nslookup)
7.3. Lệnh Active Directory (cần module RSAT/ActiveDirectory)
# Tìm & xem user
Get-ADUser -Identity nva.nguyen
Get-ADUser -Filter * -SearchBase "OU=CheckinStaff,DC=airport,DC=local"
# Reset password
Set-ADAccountPassword -Identity nva.nguyen -Reset -NewPassword (Read-Host -AsSecureString)
# Unlock account
Unlock-ADAccount -Identity nva.nguyen
# Disable / Enable
Disable-ADAccount -Identity nva.nguyen
Enable-ADAccount -Identity nva.nguyen
# Quản lý group
Add-ADGroupMember -Identity "Checkin-Users" -Members nva.nguyen
Get-ADGroupMember -Identity "Checkin-Users"
7.4. Sức mạnh thật — tự động hoá hàng loạt
# Tạo 20 user mô phỏng nhân viên hãng bay từ vòng lặp
1..20 | ForEach-Object {
$name = "staff$_"
New-ADUser -Name $name -SamAccountName $name `
-AccountPassword (ConvertTo-SecureString "P@ssw0rd123" -AsPlainText -Force) `
-Path "OU=CheckinStaff,DC=airport,DC=local" -Enabled $true
Write-Host "Đã tạo $name"
}
💡 Đây chính là lợi thế cạnh tranh của bạn. Người không biết code phải tạo tay 20 lần. Bạn chạy 1 script. Khi phỏng vấn, kể được việc này = điểm cộng lớn.
🔧 Thực hành 7: Mở PowerShell, chạy thử các lệnh ở 7.1 và 7.2 (an toàn, chỉ đọc). Quan sát output. Thử
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5.
8. Event Viewer
Event Viewer = "hộp đen" của Windows. Mọi sự kiện (lỗi, cảnh báo, thông tin) đều ghi vào đây. Đọc được nó = chẩn đoán như thám tử.
Các mức sự kiện:
| Mức | Ý nghĩa |
|---|---|
| 🔴 Error | Lỗi nghiêm trọng (dịch vụ chết, app crash) |
| 🟡 Warning | Cảnh báo (sắp có vấn đề) |
| 🔵 Information | Sự kiện bình thường |
| 🔴 Critical | Lỗi rất nặng (mất dữ liệu, tự tắt) |
Mỗi event có:
- Event ID (số định danh — Google "Event ID 41" sẽ ra ngay vấn đề).
- Source (nguồn gây sự kiện).
- Time (thời điểm — đối chiếu với lúc sự cố xảy ra).
🔧 Thực hành 8: Mở
eventvwr.msc→ Windows Logs → System. Tìm các dòng Error (màu đỏ). Click vào 1 cái, đọc mô tả + ghi lại Event ID. Thử Google Event ID đó để hiểu cách tra cứu.
🧠 Mẹo thám tử: Khi máy gặp sự cố, hỏi "nó xảy ra lúc mấy giờ?" rồi vào Event Viewer lọc theo thời điểm đó → tìm Error trùng giờ. Rất hay tìm ra thủ phạm.
9. Các sự cố Windows thường gặp
| Sự cố | Nguyên nhân thường gặp | Cách xử lý L1 |
|---|---|---|
| Không đăng nhập được | Sai pass / account bị khoá / mất kết nối DC | Reset/unlock; kiểm tra mạng tới DC |
| "Account locked out" | Nhập sai mật khẩu nhiều lần (hoặc app cũ lưu pass cũ) | Unlock-ADAccount; tìm thiết bị giữ pass cũ |
| Máy chậm | Đầy ổ, nhiều app khởi động, thiếu RAM, malware | Task Manager xem ngốn gì; dọn startup (msconfig) |
| Không in được | Print Spooler kẹt | Restart-Service Spooler |
| Không vào mạng | Cáp/IP/DNS/DHCP | Chẩn đoán theo lớp (file 05) |
| Mất profile / desktop trống | Lỗi user profile | Đăng nhập lại; kiểm tra profile lỗi |
| App treo | Tiến trình treo | Kill trong Task Manager, mở lại |
| Cập nhật Windows lỗi | Update hỏng | Chạy Windows Update Troubleshooter |
| Màn hình xanh (BSOD) | Driver/RAM/phần cứng | Ghi mã lỗi, xem Event Viewer, kiểm RAM |
🔧 Quy trình chuẩn cho mọi sự cố Windows:
- Hỏi: triệu chứng chính xác? bắt đầu khi nào? vừa thay đổi gì?
- Tái hiện: xem tận mắt nếu được.
- Khoanh vùng: 1 máy hay nhiều máy? 1 user hay mọi user?
- Kiểm tra log: Event Viewer quanh thời điểm lỗi.
- Thử fix đơn giản: restart dịch vụ/máy, đăng nhập lại.
- Escalate nếu vượt L1, kèm đầy đủ thông tin.
10. Bối cảnh sân bay
Windows & AD ở sân bay có vài đặc thù:
- Đa tổ chức: nhiều hãng bay, đơn vị mặt đất, an ninh — phân quyền (OU/Group/GPO) rất chặt để cách ly.
- Common use + roaming: nhân viên đăng nhập ở nhiều quầy khác nhau → tài khoản domain + profile quản lý tập trung là điều kiện bắt buộc.
- Bảo mật nghiêm: GPO khoá USB, ép khoá màn hình, kiểm soát phần mềm — vì liên quan dữ liệu hành khách (PII) và an ninh hàng không.
- Tài khoản dịch vụ (service accounts): các hệ thống chuyên ngành (DCS, FIDS) chạy bằng tài khoản dịch vụ riêng — đừng nhầm với tài khoản người dùng.
- Tính sẵn sàng: DC thường có dự phòng (nhiều DC) vì nếu AD chết → không ai đăng nhập được ở bất kỳ quầy nào = thảm hoạ.
⚠️ Hệ quả phải nhớ: AD/DC là điểm chết người (single point of failure) nếu không dự phòng. Sự cố AD ở sân bay = sự cố diện rộng (Major Incident), escalate ngay.
11. Thực hành tổng hợp
Bài 1 — Làm chủ công cụ Run
Mở 8 công cụ ở mục 3 bằng Win+R. Với mỗi cái, viết 1 câu "dùng khi nào".
Bài 2 — Thám tử Event Viewer
Vào eventvwr.msc → System → tìm 3 Error gần nhất. Ghi Event ID + Source + đoán nguyên nhân. Google 1 Event ID.
Bài 3 — PowerShell cơ bản
Chạy và quan sát:
Get-Service | Where-Object {$_.Status -eq "Running"} | Measure-Object # đếm dịch vụ đang chạy
Get-Process | Sort-Object WS -Descending | Select-Object -First 5 # top 5 ngốn RAM
Get-CimInstance Win32_LogicalDisk | Select-Object DeviceID, @{N="FreeGB";E={[math]::Round($_.FreeSpace/1GB,1)}}
Bài 4 — Lab AD (sau khi dựng DC ở file 15)
Tạo OU → 3 user → 1 group → reset pass → unlock → thêm user vào group. Làm 2 lần: 1 lần bằng ADUC (chuột), 1 lần bằng PowerShell. So sánh tốc độ.
Bài 5 — Mô phỏng sự cố
Tự khoá tài khoản test (nhập sai pass nhiều lần ở VM) → quan sát thông báo → unlock bằng Unlock-ADAccount. Ghi lại quy trình thành 1 KB article.
12. Những điều cần lưu ý
- 🔑 Reset password & unlock account là việc bạn làm NHIỀU NHẤT. Thành thạo cả 2 cách (chuột + PowerShell).
- 🎯 Least Privilege luôn đúng. Không cấp quyền admin "cho tiện". Đặc biệt ở sân bay.
- 🗄️ AD chết = cả mạng tê liệt. Hiểu vai trò sống còn của Domain Controller; sự cố AD là Major Incident.
- 📓 Event Viewer là bạn thân. Bí sự cố → vào đây xem Error quanh thời điểm lỗi trước khi đoán mò.
- ⚙️ Nhiều sự cố chỉ là một dịch vụ bị dừng. Học phản xạ kiểm tra & restart dịch vụ (
services.msc/Restart-Service). - 🚀 PowerShell là siêu năng lực của bạn. Mọi việc lặp lại → script hoá. Đây là khác biệt giữa bạn và helpdesk không biết code.
- 📋 GPO áp đặt mọi thứ — khi cấu hình "lạ", nghĩ tới GPO. Dùng
gpresult /rđể xem chính sách đang áp. - ⚠️ Registry & GPO sửa sai có thể hỏng cả hệ thống. Cẩn trọng, backup trước, hiểu rồi mới sửa.
- 🧪 Luôn thử trên VM trước. Đừng học AD/GPO trên máy thật của công ty — dựng lab (file 15).
13. Thuật ngữ
| Thuật ngữ | Giải thích |
|---|---|
| AD (Active Directory) | Dịch vụ thư mục quản lý danh tính của Microsoft |
| DC (Domain Controller) | Máy chủ chạy AD, xác thực đăng nhập |
| Domain | Đơn vị quản lý mạng (vd airport.local) |
| Forest | Ranh giới bảo mật cao nhất, chứa nhiều domain |
| OU (Organizational Unit) | Thư mục tổ chức users/computers, điểm gắn GPO |
| GPO (Group Policy Object) | Đối tượng chính sách áp cấu hình hàng loạt |
| RBAC | Role-Based Access Control — phân quyền theo vai trò/nhóm |
| Least Privilege | Nguyên tắc cấp quyền tối thiểu đủ dùng |
| Workgroup | Mô hình mạng không tập trung (máy tự quản) |
| Service / Daemon | Chương trình chạy nền |
| Registry | CSDL cấu hình của Windows |
| GPO precedence (L-S-D-OU) | Thứ tự áp GPO: Local→Site→Domain→OU |
| RSAT | Remote Server Admin Tools — bộ công cụ quản trị AD từ máy client |
| Service Account | Tài khoản dùng cho hệ thống/dịch vụ chạy, không phải người |