Để đăng xuất người dùng bị ngắt kết nối trong khi vẫn kết nối người dùng hiện tại, hãy sao chép mã tập lệnh sau vào tệp .cmd, chẳng hạn như "Log OfferUsers.cmd" và sau đó chạy dưới dạng dịch vụ vào nửa đêm:
@echo off
for /f "tokens=1-7 delims=,: " %%a in ('query user ^| find /i "disc"') do logoff %%b
Kịch bản hoạt động bằng cách sử dụng lệnh truy vấn để tìm người dùng bị ngắt kết nối bằng cách tìm kiếm cụm từ "đĩa", sau đó đăng xuất chúng.
Nếu bạn muốn tập lệnh thay vì chạy liên tục như một dịch vụ, hãy đăng xuất người dùng khi họ bị ngắt kết nối / không hoạt động trong một khoảng thời gian nhất định, thay vào đó bạn sẽ sử dụng:
@echo off
:Top
for /f "tokens=1-7 delims=,: " %%a in ('query user ^| find /i "disc"') do if %%d GTR 32 (logoff %%b) else %%e GTR 32 (logoff %%b)
choice /T 120 /C 1 /D 1 /N
goto top
Tập lệnh này sử dụng cùng một lệnh truy vấn, nhưng cũng kiểm tra thêm phần "IDLE TIME" của kết quả, đăng xuất người dùng nếu thời gian nhàn rỗi lớn hơn 32 ("GTR 32"). Cụm từ đó xảy ra hai lần vì mã thông báo "IDLE TIME" có thể xảy ra hai vị trí hơi khác nhau. Sau đó, dòng bắt đầu bằng "sự lựa chọn" đợi 2 phút trước khi thực hiện lại thao tác bằng cách lặp lại từ đầu. Bạn có thể tăng hoặc giảm giá trị "32" theo nhu cầu của mình.
Tìm thấy ở đây .