Записки системного администратора

Ещё один блог о системном администрировании, операционных системах, СУБД, сетях, костылях-велосипедах и пр.

Windows Server 2008 R2: Ограничиваем работу RDP пользователей рабочим временем

Иногда могут возникнуть ситуации, когда необходимо ограничить по времени работу некоторых пользователей на терминальном сервере. Если сервер в домене Active Directory, то с этим проблем возникнуть не должно - все делается просто в оснастке Users and Computers в свойствах учетной записи, вход которой нужно ограничить по времени. Но как быть, если сервер не в домене, а ограничения для некоторых пользователей всетаки нужно сделать? Об этом я и напишу в этой заметке.

Для таких целей у меня есть два скриптика. Первый - отключает пользовательские сессии и делает учетную запись пользователя неактивной (пользователь не может залогиниться), второй - делает учетные записи активными (пользователь может залогиниться). Список пользователей в отдельном файле, скрипты выполняются через назначенные задания.

Скрипт №1 (usrs_lock.cmd)

@echo off

for /F "eol=#" %%N in (C:\scripts\users_lock\userslist.txt) do (
  net user %%N /active:no

  query user %%N >"C:\scripts\users_lock\session.txt"
  for /F "skip=1 tokens=3," %%i in (C:\scripts\users_lock\session.txt) do logoff %%i
  del session.txt
)

Скрипт №2 (usrs_unlock.cmd)

@echo off

for /F "eol=#" %%N in (C:\scripts\users_lock\userslist.txt) do (
  net user %%N /active:yes
)

Данная конструкция работает на Windows Server 2008 R2, возможно взлетит и на 2012 R2, я не проверял.
Вот такой вот костыль :) Но у меня работает в одной конторе.

Комментарии (RSS)

Комментарий ожидает проверки

HTML Preview:

Коротко о себе:

Привет! Меня зовут Вадим. В этом блоге я пишу об интересующих меня вещах, о проблемах, с которыми сталкиваюсь во время работы, и о путях их решения.

Связаться со мной можно, написав письмо на адрес vadim@adminbook.click