Cấu hình "Network security: Force logoff when logon hours expire" trong Group Policy
Chính sách này buộc đăng xuất người dùng khi hết giờ cho phép đăng nhập (Logon Hours) trong Active Directory. Áp dụng cho máy tính tham gia Domain.
Đường dẫn Group Policy
Computer Configuration → Policies → Windows Settings → Security Settings → Local Policies → Security Options
→ "Network security: Force logoff when logon hours expire"
Các trạng thái
- Enabled: Buộc logoff ngay khi hết giờ (SMB session bị ngắt, ứng dụng mạng mất kết nối).
- Disabled (Mặc định): Cho phép session hiện tại tiếp tục, nhưng ngăn đăng nhập mới.
- Not Defined: Kế thừa từ GPO cấp cao hơn hoặc mặc định Disabled.
Tạo GPO triển khai
- Mở Group Policy Management Console (GPMC) (
gpmc.msc). - Tạo GPO mới: Right-click Group Policy Objects → New → Đặt tên (VD:
POL-ForceLogoff-LogonHours). - Right-click GPO → Edit.
- Điều hướng theo đường dẫn trên → Double-click policy → Chọn Enabled → OK.
- Link GPO đến OU chứa Computer Account (không phải User OU).
- Chạy
gpupdate /forcetrên client hoặc đợi refresh tự động (90-120 phút).
Cấu hình Logon Hours cho User
- Mở Active Directory Users and Computers (ADUC) (
dsa.msc). - Tìm User → Right-click → Properties → Tab Account.
- Nhấn nút Logon Hours....
- Mặc định: Tất cả ô xanh (Allowed). Click drag để chọn ô → Chọn Logon Denied (Đỏ) cho khung giờ cấm.
- VD: Chỉ cho phép 7:00-19:00 Thứ 2-6. Cuối tuần/Đêm: Denied.
- OK → Apply → OK.
Tại sao "Không hoạt động"? (Troubleshooting)
- GPO áp dụng cho User thay vì Computer: Policy này là Computer Configuration. Phải link đến OU chứa Computer Object.
- GPO bị chặn/ghi đè: Kiểm tra Inheritance, Enforced, Block Inheritance, WMI Filter, Security Filtering. Dùng
gpresult /h report.htmlhoặcrsop.msctrên client. - Client không nhận GPO: Chạy
gpupdate /force, kiểm tra Event Viewer → System → Source: GroupPolicy (Event ID 1500, 1501, 1119). - Logon Hours không set đúng: Kiểm tra ADUC → User → Account → Logon Hours. Múi giờ (Timezone) của DC và Client phải đồng bộ.
- Session không phải Network Logon: Policy này chỉ ảnh hưởng Network Logon (Type 3): SMB/File Share, RPC, IIS, RD Gateway. KHÔNG ảnh hưởng: Interactive Logon (Type 2 - đăng nhập tại console), RDP (Type 10), Service (Type 5), Batch (Type 4).
- Kerberos Ticket TTL: TGT mặc định 10h. User có thể vẫn truy cập resource cho đến khi ticket hết hạn. Cần giảm
MaxTicketAge(Domain Policy) nếu cần ép buộc nhanh hơn. - Windows Version: Hỗ trợ từ Windows 2000/XP trở lên. Một số bản Home/Pro không có gpedit.msc (dùng secpol.msc local hoặc Registry).
Kiểm tra Registry (Local Policy / Non-Domain)
Path: HKLM\SYSTEM\CurrentControlSet\Control\Lsa
Value: ForceLogoffWhenLogonHoursExpire (REG_DWORD)
Data: 1 = Enabled, 0 = Disabled
Ép buộc logoff thủ công (Admin)
- Task Manager (Local): Ctrl+Shift+Esc → Tab Users → Right-click user → Sign off.
- Command Line:
logoff(cần quyền Admin, session_id từ/server: query session /server:). - PowerShell (Remote):
Invoke-Command -ComputerName PC01 -ScriptBlock { logoff (Get-Process -Id (Get-WmiObject Win32_LogonSession | Where-Object {$_.LogonType -eq 3}).AuthenticationPackage) }(Phức tạp, dùng PSLoggedOn hoặc tool SysinternalsPsLoggedOndễ hơn).
Lưu ý quan trọng
- Chính sách này KHÔNG khóa máy tính / khóa màn hình / logout interactive session. Chỉ ngắt Network Session (SMB/RPC).
- Để khóa màn hình/ép logout interactive: Dùng Screen Saver Timeout + Password Protect, hoặc Scheduled Task chạy
shutdown /l /ftại giờ cấm (cần test kỹ). - Kết hợp với Account Lockout Policy và Fine-Grained Password Policy (PSO) cho bảo mật toàn diện.