none
Как задать срок действия учетной записи в минутах RRS feed

Все ответы

  • Как сделать чтобы задача запускалась при входе пользователя в домен

    задачи создаются на каждом компьютере, на котором должны выполнятся. Т.е. если задача только на сервере - то только там и будет работать.
    Для того, чтобы задачи создавались на всех компьютерах можно использовать групповые политики.
    Если вам нужно запускать скрипты при входе пользователя, то кроме задач можно использовать логон-скрипты в групповых политиках:

    для powershell нужно разрешать выполнение скриптов:

    Set-ExecutionPolicy RemoteSigned

    или через GPO:


    16 декабря 2016 г. 10:13
    Модератор
  • Как сделать чтобы задача запускалась при входе пользователя в домен

    задачи создаются на каждом компьютере, на котором должны выполнятся. Т.е. если задача только на сервере - то только там и будет работать.
    Для того, чтобы задачи создавались на всех компьютерах можно использовать групповые политики.
    Если вам нужно запускать скрипты при входе пользователя, то кроме задач можно использовать логон-скрипты в групповых политиках:

    для powershell нужно разрешать выполнение скриптов:

    Set-ExecutionPolicy RemoteSigned

    или через GPO:


    Нет, вы не поняли. Задача должна запускаться на сервере, но запуск должен происходит когда пользователь вход в домен на машине клиента
    • Изменено Shambet 16 декабря 2016 г. 10:22
    16 декабря 2016 г. 10:17
  • правильно ли я понял, что задача должна запускаться на сервере 2012 R2, когда пользователь входит в систему на другом компьютере?
    16 декабря 2016 г. 10:22
    Модератор
  • правильно ли я понял, что задача должна запускаться на сервере 2012 R2, когда пользователь входит в систему на другом компьютере?
    да
    16 декабря 2016 г. 10:26
  • задача звучит как тост костыль:-)

    А вы не поделитесь зачем вам это нужно и почему вы действуете мягко скажем через попу?

    возможно существуют более правильные решения.


    • Изменено Svolotch 16 декабря 2016 г. 10:35
    16 декабря 2016 г. 10:33
  • задача звучит как тост костыль:-)

    А вы не поделитесь зачем вам это нужно и почему вы действуете мягко скажем через попу?


    Ребята из учебного заведения решили дать нам такое задание. Это задание для экзамена. 

    Суть задания: Ограничить время работы группы пользователей, а также ограничить время работы одного пользователя. Мне попалось чтобы через 59 минут у группы пользователь система блокировалась и они не могли входит в компьютеры пока системный администратор не разрешить. Также и для одного пользователя (у него ограничение 12 минут) Я пытался решит это несколькими способами. 1 Написать скрипт(скрипт отключается учетную запись пользователя, который запускается при входе пользователя в систему(через групповые политики), но скрипт запускается на машине клиента (а скрипту нужна серверная машина). 2 Способ. Пытался тоже написать скрипт, которые меняет пароль от учетки пользователя и выкидывает его из системы, но пароль так не меняется т.к учетная запись не локальная и хранится на сервере. 3 способ пытаюсь решит через планировщик задачи. 

    Извините за ошибки в тексте, т.к. скоро экзамен, а я не готов и нет времени на грамоту





    • Изменено Shambet 16 декабря 2016 г. 10:45
    16 декабря 2016 г. 10:42
  • правильно ли я понял, что задача должна запускаться на сервере 2012 R2, когда пользователь входит в систему на другом компьютере?

    да

    как я уже говорил - задача на определённом сервере выполняется только в том случае, когда что-то происходит на этом сервере.

    Для того, чтобы сделать то, что Вы задумали, можно придумать "костыли" (если такой вариант вобще рабочий) - логон скрипт на пользователя, в скрипте написать что-то вроде - подключится к серверу и выполнить задачу.

    так же можно пересмотреть постановку задачи - какова у Вас цель?

    16 декабря 2016 г. 10:47
    Модератор
  • правильно ли я понял, что задача должна запускаться на сервере 2012 R2, когда пользователь входит в систему на другом компьютере?

    да

    как я уже говорил - задача на определённом сервере выполняется только в том случае, когда что-то происходит на этом сервере.

    Для того, чтобы сделать то, что Вы задумали, можно придумать "костыли" (если такой вариант вобще рабочий) - логон скрипт на пользователя, в скрипте написать что-то вроде - подключится к серверу и выполнить задачу.

    так же можно пересмотреть постановку задачи - какова у Вас цель?

     Ограничить время работы группы пользователей (59 минут), а также ограничить время работы одного пользователя (12 мин). И чтобы повторный (после истечение времени) вход происходил только с разрешения системного администратора и вход только также на 59 минут


    • Изменено Shambet 16 декабря 2016 г. 10:53
    16 декабря 2016 г. 10:51
  • отключение учетки в ад не приводит к тому что залогиненный пользователь на компе что либо заметит(разве что после отключения учетки он не сможет получить доступ до удаленных ресурсов на которые он до этого нее входил или входил, но истекло время токена)

    вам как нужно быстро, но не кошерно или правильное решение?

    16 декабря 2016 г. 10:58
  • отключение учетки в ад не приводит к тому что залогиненный пользователь на компе что либо заметит(разве что после отключения учетки он не сможет получить доступ до удаленных ресурсов на которые он до этого нее входил или входил, но истекло время токена)

    вам как нужно быстро, но не кошерно или правильное решение?

    если через 12 мину после входа пользователя его учетная запись отключиться это будет решением моей задачи, т.к. после отключения пользователя запуститься скрипт на перезапуск (точнее на выход) системы, а после того как учетка будет отключена и у системы будет перезапуск он(пользователь) не сможет войти в систему пока сисадмин не включить его учетку. 

    Всё выше сказанное(если все получиться решит) решит мою задачу


    • Изменено Shambet 16 декабря 2016 г. 11:04
    16 декабря 2016 г. 11:03
  • если правильно(не рассматриваем несколько дополнительных фишек не указанных в тз явно, как например пользователь может залогинится на одном компе и через 50 минут параллельно входит в систему на другом)

    1) запретить вход в систему при недоступности домен контроллера 

    2) мониторить аудит на предмет входа пользователя на контроллерах домена и выставлять время жизни учетки в 1 час(12 минут) 

    3) запускать задачу в момент входа пользователя также и на клиенте которая принудительно выкинет его по истечении часа(12 минут) 

    UPD по пунктам 2 и 3

    при этом нужно проверить что пользователь не заходил недавно (что мешает пользователю перезайти по истечении 50 минут и сбросить счетчик)

    • Изменено Svolotch 16 декабря 2016 г. 11:13
    16 декабря 2016 г. 11:05
  • если правильно(не рассматриваем несколько дополнительных фишек не указанных в тз явно, как например пользователь может залогинится на одном компе и через 50 минут параллельно входит в систему на другом)

    1) запретить вход в систему при недоступности домен контроллера 

    2) мониторить аудит на предмет входа пользователя на контроллерах домена и выставлять время жизни учетки в 1 час(12 минут)

    3) запускать задачу в момент входа пользователя также и на клиенте которая принудительно выкинет его по истечении часа(12 минут)

    1. Думаю это делается в групповых политиках верно?

    2. Как мониторить аудит на предмет входа пользователя на контроллерах домена (я где то читал про то что когда пользователь входит в домен его ID можно выловить, но не знаю как. Как установить время жизни учетной записи (срок действия учетной записи)  меньше 1 дня? Я в настройках видел минимум 1 день 

    3. Это единственное, что я понял сразу :)



    • Изменено Shambet 16 декабря 2016 г. 11:14
    16 декабря 2016 г. 11:12
  • если правильно(не рассматриваем несколько дополнительных фишек не указанных в тз явно, как например пользователь может залогинится на одном компе и через 50 минут параллельно входит в систему на другом)

    1) запретить вход в систему при недоступности домен контроллера 

    2) мониторить аудит на предмет входа пользователя на контроллерах домена и выставлять время жизни учетки в 1 час(12 минут) 

    3) запускать задачу в момент входа пользователя также и на клиенте которая принудительно выкинет его по истечении часа(12 минут) 

    UPD по пунктам 2 и 3

    при этом нужно проверить что пользователь не заходил недавно (что мешает пользователю перезайти по истечении 50 минут и сбросить счетчик)

    Вот само задание: 

    Я выполнил политики только для 1 и 3 группы


    • Изменено Shambet 16 декабря 2016 г. 11:17
    16 декабря 2016 г. 11:17
  • если правильно(не рассматриваем несколько дополнительных фишек не указанных в тз явно, как например пользователь может залогинится на одном компе и через 50 минут параллельно входит в систему на другом)

    1) запретить вход в систему при недоступности домен контроллера 

    2) мониторить аудит на предмет входа пользователя на контроллерах домена и выставлять время жизни учетки в 1 час(12 минут) 

    3) запускать задачу в момент входа пользователя также и на клиенте которая принудительно выкинет его по истечении часа(12 минут) 

    UPD по пунктам 2 и 3

    при этом нужно проверить что пользователь не заходил недавно (что мешает пользователю перезайти по истечении 50 минут и сбросить счетчик)

    Можешь ли помочь хотя бы с 1 задачей: надо сделать так чтобы при входе пользователя в систему через 12 минут его учетная запись отключалась в AD. Остальное я решу сам. Помоги только с этим
    16 декабря 2016 г. 11:22
  • Вот само задание:

    если это экзамен, то может так быть, что экзаменатор ожидает какого-то конкретного решения. Или любое рабочее подойдёт?

    судя по первому заданию, Вы решили его с помощью Active Directory Administrative Center... Возможно там так же можно создовать политики на время "жизни" учётной записи...

    16 декабря 2016 г. 11:25
    Модератор
  • Вот само задание:

    если это экзамен, то может так быть, что экзаменатор ожидает какого-то конкретного решения. Или любое рабочее подойдёт?

    судя по первому заданию, Вы решили его с помощью Active Directory Administrative Center... Возможно там так же можно создовать политики на время "жизни" учётной записи...

    Для начала хотя бы любое рабочее. Расскажите как через Active Directory Administrative Center настроит время "жизни" учетки в минутах? 

    P.S. именно через Active Directory Administrative Center я и настроил политики паролей :)

    16 декабря 2016 г. 11:28
  • Возможно подойдет такой вариант.

    У каждого юзера в АД есть атрибут "LastLogon" - время последнего логина

    1. Шэдулим задание которое с интервалом например в минуту чекает этот атрибут (на PS: Get-ADObject -Properties LastLogon, SamAccountName).

    2. Если разница между ним и текущим временем меньше минуты значит юзер залогинился.

    3. Выставляем ему в АД срок истечения учетной записи LastLogon +59 минут.

    4. Иначе ставим например неограниченный срок.



    • Изменено xoxaru 16 декабря 2016 г. 11:35
    16 декабря 2016 г. 11:28
  • Active Directory Administrative Center настроит время "жизни" учетки в минутах?

    политики Аутентификации (но я не уверен). Но там ограничение на пользователя, а не на группу. и от 45 минут:


    Я предлагаю создать Вам новую тему, т.к. вопрос с планировщиков задач отвечен?

    16 декабря 2016 г. 11:34
    Модератор
  • Возможно подойдет такой вариант.

    У каждого юзера в АД есть атрибут "LastLogon" - время последнего логина

    1. Шэдулим задание которое с интервалом например в минуту чекает этот атрибут (на PS: Get-ADObject -Properties LastLogon, SamAccountName).

    2. Если разница между ним и текущим временем меньше минуты значит юзер залогинился.

    3. Выставляем ему в АД срок истечения учетной записи текущее время +59 минут.

    4. Иначе ставим например неограниченный срок.


    КАК ЗАДАТЬ СРОК ДЕЙСТВИЯ УЧЕТНОЙ ЗАПИСИ В МИНУТАХ???

    16 декабря 2016 г. 11:37
  • КАК ЗАДАТЬ СРОК ДЕЙСТВИЯ УЧЕТНОЙ ЗАПИСИ В МИНУТАХ???
    да, вот такую тему и создайте. или переименуйте эту. у меня, увы, пока идей нет... пойду на обед, может после что придёт в голову )))
    16 декабря 2016 г. 11:42
    Модератор
  • TGT - это нечто иное, а мы с вами бабники! (с) КВН

    LastLogon - не реплицируется между КД, будет нормально работать только для единственного КД для домена

    а как сделан 1й пункт с длиной пароля?




    • Изменено Svolotch 16 декабря 2016 г. 11:49
    16 декабря 2016 г. 11:45
  • TGT - это нечто иное, а мы с вами бабники! (с)

    LastLogon - не реплицируется между КД, будет нормально работать только для единственного КД для домена

    а как сделан 1й пункт с длиной пароля?



    P.S. именно через Active Directory Administrative Center я и настроил политики паролей :)
    16 декабря 2016 г. 11:50
  • ок, можно в п.3 например передавать время (LastLogon + 59 минут) еще одной зашэдуленной задаче которая будет блочить учетку юзера или выставлять срок действия учетки на вчерашний день например.

    Еще важно понять что именно нужно: чтобы его выкинуло через 59 минут или чтобы по истечении времени больше не залогинился, но текущий сеанс не прерывался.

    В общем тут большой простор для фантазии)




    П.С. Просьба в следующих скринах стрелочки рисовать побольше. у меня очень плохое зрение.

    • Изменено xoxaru 16 декабря 2016 г. 11:58
    16 декабря 2016 г. 11:52
  • ок, можно в п.3 например передавать время (LastLogon + 59 минут) еще одной зашэдуленной задаче которая будет блочить учетку юзера или выставляла срок действия учетки на вчерашний день например.

    Еще важно понять что именно нужно: чтобы его выкинуло через 59 минут или чтобы по истечении времени больше не залогинился, но текущий сеанс не прерывался.

    В общем тут большой простор для фантазии)



    Нужно чтобы через 59 минут входа пользователя его выкидывало, на текущий сеанс пофиг
    16 декабря 2016 г. 11:56
  • П.С. Просьба в следующих скринах стрелочки рисовать побольше. у меня очень плохое зрение.

    Извините, просто давно уже пытаюсь решит эту задачу.
    16 декабря 2016 г. 11:59
  • P.S. именно через Active Directory Administrative Center я и настроил политики паролей :)

    fine grained password policies?
    16 декабря 2016 г. 12:03
  • КАК ЗАДАТЬ СРОК ДЕЙСТВИЯ УЧЕТНОЙ ЗАПИСИ В МИНУТАХ???

    да, вот такую тему и создайте. или переименуйте эту. у меня, увы, пока идей нет... пойду на обед, может после что придёт в голову )))

    да блин хоть в миллисекундах

    16 декабря 2016 г. 12:08
  • КАК ЗАДАТЬ СРОК ДЕЙСТВИЯ УЧЕТНОЙ ЗАПИСИ В МИНУТАХ???

    да, вот такую тему и создайте. или переименуйте эту. у меня, увы, пока идей нет... пойду на обед, может после что придёт в голову )))

    да блин хоть в миллисекундах

    т.е. надо каким-то образом узнать действующее значение атрибута на данный момент логона (например 131264892000000000 это соответвует 00:00 17.12.2016), добавить к нему 59 минут в 100-наносекундах (один час равен 36000000000 у.е. этого атрибута, а 59 минут 35400000000), а после этого выполнить задачу с задержкой на 59 минут на компьютере пользователя на выход из системы...

    весело.....



    16 декабря 2016 г. 12:23
    Модератор
  • КАК ЗАДАТЬ СРОК ДЕЙСТВИЯ УЧЕТНОЙ ЗАПИСИ В МИНУТАХ???

    да, вот такую тему и создайте. или переименуйте эту. у меня, увы, пока идей нет... пойду на обед, может после что придёт в голову )))

    да блин хоть в миллисекундах


    и таки да, "аккаунт истекает" можно задать с точностью до миллисекунд.

    • Изменено xoxaru 16 декабря 2016 г. 12:30
    16 декабря 2016 г. 12:26
  • т.е. надо каким-то образом узнать действующее значение атрибута на данный момент логона (например 131264892000000000 это соответвует 00:00 17.12.2016), добавить к нему 59 минут в 100-наносекундах, а после этого выполнить задачу с задержкой на 59 минут на компьютере пользователя на выход из системы...

    весело.....

    ээээ ((get-date).addyears(-1600).AddMinutes(59)).Ticks
    16 декабря 2016 г. 12:36
  • т.е. надо каким-то образом узнать действующее значение атрибута на данный момент логона (например 131264892000000000 это соответвует 00:00 17.12.2016), добавить к нему 59 минут в 100-наносекундах, а после этого выполнить задачу с задержкой на 59 минут на компьютере пользователя на выход из системы...

    весело.....

    ээээ ((get-date).addyears(-1600).AddMinutes(59)).Ticks
    да, я про это. теперь у ТС есть всё, чтобы выполнить требуемую задачу )))
    16 декабря 2016 г. 12:40
    Модератор
  • т.е. надо каким-то образом узнать действующее значение атрибута на данный момент логона (например 131264892000000000 это соответвует 00:00 17.12.2016), добавить к нему 59 минут в 100-наносекундах (один час равен 36000000000 у.е. этого атрибута, а 59 минут 35400000000),

    Как это реализовать? Где можно это узнать? Как изменить?

    Много вопросов мало ответов...

    16 декабря 2016 г. 12:40
  • т.е. надо каким-то образом узнать действующее значение атрибута на данный момент логона (например 131264892000000000 это соответвует 00:00 17.12.2016), добавить к нему 59 минут в 100-наносекундах, а после этого выполнить задачу с задержкой на 59 минут на компьютере пользователя на выход из системы...

    весело.....

    ээээ ((get-date).addyears(-1600).AddMinutes(59)).Ticks

    да, я про это. теперь у ТС есть всё, чтобы выполнить требуемую задачу )))

    Так я что-то не понимаю. Как использовать это  ((get-date).addyears(-1600).AddMinutes(59)).Ticks ?

    Пожалуйста объясните

    16 декабря 2016 г. 12:44
  • ксати, можно обойтись и без 131264892000000000.......... сейчас в нормальный вид приведу.

    16 декабря 2016 г. 12:55
    Модератор
  • вы повершелл вообще знаете?

    вы на чем скриптовать собрались?

    вам вообще про это рассказывали? или от вас ожидают решения аля новичок?

    16 декабря 2016 г. 12:57
  • ксати, можно обойтись и без 131264892000000000.......... сейчас в нормальный вид приведу.

    PS C:\> w32tm /ntte 131264892000000000
    151926 23:00:00.0000000 - 18.12.2016 2:00:00



    • Изменено Svolotch 16 декабря 2016 г. 13:05
    16 декабря 2016 г. 12:59
  • вы повершелл вообще знаете?

    вы на чем скриптовать собрались?

    вам вообще про это рассказывали? или от вас ожидают решения аля новичок?

    Про PowerShell и про Windows Server в принципе никто нам ничего не объяснял. Сказали вот задание и google в помощь. Хоть какие нибудь знания про PowerShell (знания практически нет) получил гугля его в интернете
    • Изменено Shambet 16 декабря 2016 г. 13:06
    16 декабря 2016 г. 13:05
  • PS C:\> w32tm /ntte 131264892000000000
    151926 23:00:00.0000000 - 18.12.2016 2:00:00
    это вообще можно не использовать.......

    ксати, можно обойтись и без 131264892000000000.......... сейчас в нормальный вид приведу.

    вот этот логон скрипт будет опредлять время логона и записывать это значение в файл (для каждого пользователя свой файл) на файловый сервер:

    $user = whoami /upn
    get-date -DisplayHint date -UFormat "%d/%m/%Y %H:%M:%S" > \\server\share\$user.txt

    далее, как говорилось выше, на сервере мониторить папку с файлами.
    к числу из файла как-то добавить 59 минут ($today + что-то там = $lock)
    и всё полученное число записать в свойства учётной записи:

    Set-ADAccountExpiration -Identity $user -DateTime "$lock"
    полный скрипт не могу пока написать. Более опытные коллеги помогут.
    16 декабря 2016 г. 13:07
    Модератор
  • Про PowerShell и про Windows Server в принципе никто нам ничего не объяснял.

    после экзамена ну очень хотелось бы узнать правильный ответ от преподователя

    к числу из файла как-то добавить 59 минут ($today + что-то там = $lock)
    только что коллега сказал, что надо будет не просто добавить 59 минут, а изменить день, месяц, год если пользователь вошёл в систему 31 декабря 23 часа 55 минут......... да пребудет с нами Kazun ))))
    16 декабря 2016 г. 13:10
    Модератор
  • Anahaym, а ну да,

    я просто привык напрямую с атрибутами работать :-)

    16 декабря 2016 г. 13:11
  • только что коллега сказал, что надо будет не просто добавить 59 минут, а изменить день, месяц, год если пользователь вошёл в систему 31 декабря 23 часа 55 минут......... да пребудет с нами Kazun ))))

    дык пишите сразу не текущее время, а время + 59 минут чо туда-сюда конвертить то?

    get-date ((get-date).AddMinutes(59)) -DisplayHint date -UFormat "%d/%m/%Y %H:%M:%S"

    16 декабря 2016 г. 13:23
  • дык пишите сразу не текущее время, а время + 59 минут чо туда-сюда конвертить то?

    get-date ((get-date).AddMinutes(59)) -DisplayHint date -UFormat "%d/%m/%Y %H:%M:%S"


    16 декабря 2016 г. 13:26
    Модератор
  • а вообще решение с шарой имхо излишне,

    не проще ли разрешить править атрибуты пользователей компам и выставлять атрибут непосредственно с компов?

    P.S. хотя на компах ад модуля может не быть, там придется либо через попу либо VBS фигачить

    • Изменено Svolotch 16 декабря 2016 г. 13:35
    16 декабря 2016 г. 13:32
  • а вообще решение с шарой имхо излишне,

    не проще ли разрешить править атрибуты пользователей компам и выставлять атрибут непосредственно с компов?

    всё можно сделать, но по Вашей ссылке только доменный админ может править сей атрибут:

    The domain administrator sets this attribute.
    нужно ещё подумать.............
    16 декабря 2016 г. 13:36
    Модератор
  • >>после экзамена ну очень хотелось бы узнать правильный ответ от преподователя

    правильных ответов может быть море, это я вам как "тоже преподаватель" говорю :-)

    16 декабря 2016 г. 13:39
  • я имел ввиду, ответ, который знает сам преподователь и ожидает его от студента. Ибо ответ - стоять с секундомером рядом с компом и выдёргивать питание через 59 минут после входа в систему - тоже правильный ответ.
    16 декабря 2016 г. 13:44
    Модератор