"Пинком под срандель"

Sep 06, 2013 17:44

Задача:
Ежедневно в 0200 ночи выполнять force logoff всем терминальным пользователям сервера.

Решение №1. Очевидное, но неправильное.
1. В свойствах пользователей устанавливаем разрешенные/запрещенные часы работы.
2. Запускаем gpedit.msc и создаём следующую политику:
Computer configuration/Policies/Windows Settings/Security Settings/Local Policies/Security Options/Microsoft Network Server/Microsoft network server:Disconnect clients when logon hours expire: Enabled

Computer configuration/Policies/Windows Settings/Security Settings/Local Policies/Security Options/Microsoft Network Server/Network security: Force logoff when logon hours expire: Enabled

Это не сработает. и вот почему.
Кому лень читать целиком, цитирую:
Based on my research, currently, we couldn't force user to logoff through GP when permitted logon hours expire.Alternatively, please search on internet to see if there is any third-party tool that can realize this function.

Решение №2. Не столь очевидное, но тоже неправильное.

1. В свойствах пользователей устанавливаем active и idle session limit.

Но и это тоже не сработает.

Решение №3. Unix-way, правильное.
1. Создаём *.bat файл со следующим содержимым:
query session >logoff.txt
for /f "skip=2 tokens=3," %%i in (logoff.txt) DO logoff %%i
del logoff.txt

2. Вваливаемся в консоль taskschd.msc, создаем там basic task, устанавливаем время и периодичность, в качестве application/script, разумеется, указываем наш файл.
3. Выполняем задание с highest privileges.
4. PROFIT

гайдлайн, batch, windows, win2008r2

Previous post Next post
Up