Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] PowerShell - скрипт блокировки учетных записей AD, не успевших залогиниться до 9:01 (http://forum.oszone.net/showthread.php?t=331244)

Dmit84 16-11-2017 08:00 2777881

PowerShell - скрипт блокировки учетных записей AD, не успевших залогиниться до 9:01
 
Необходим скрипт:
Блокирующий всех пользователей AD не успевших зайти до 9:01
Большое спасибо всем откликнувшимся!

Kazun 16-11-2017 08:46 2777887

С учетом 1 котроллера, если больше 1, то указать -Server и на каждом выполнить:
Код:

Get-ADUser -Filter "LastLogon -gt '$((Get-Date -Hour 9 -Minute 1 -Second 0).ToFileTime())'" | Set-ADUser -Enabled $false

Iska 16-11-2017 09:20 2777897

Цитата:

Цитата Dmit84
Блокирующий всех пользователей AD не успевших зайти до 9:01 »

Dmit84, и в чём глубинный смысл?! Пожелание начальства?

Dmit84 16-11-2017 09:31 2777899

Цитата:

Цитата Iska
Dmit84, и в чём глубинный смысл?! Пожелание начальства? »

Так точно пожелания начальства

megaloman 16-11-2017 10:41 2777911

Dmit84, опоздавших ловите? А что, если на ночь комп не выключать?

Iska 16-11-2017 10:46 2777912

megaloman, тсс! Тут как — «К пуговицам претензии есть™?» Начальник сказал — подчинённый сделал. Остальное не его дело.

Dmit84 16-11-2017 11:22 2777922

Цитата:

Цитата Kazun
С учетом 1 котроллера, если больше 1, то указать -Server и на каждом выполнить:
Код:
Get-ADUser -Filter "LastLogon -gt '$((Get-Date -Hour 9 -Minute 1 -Second 0).ToFileTime())'" | Set-ADUser -Enabled $false »


Get-ADUser -SearchBase "OU=Пользователи,DC=work,DC=local" -Filter "LastLogon -gt '$((Get-Date -Hour 9 -Minute 1 -Second 0).ToFileTime())'" | Set-ADUser -Enabled $false
Скрипт работает - блокируется пользователя, но если пользователь первый раз заходит, то его пустит. Если он разконнектится, то уже второй раз его не пустит пока админ не разблокирует. А как сделать, чтоб его не пускало даже и при первом входе, если он не успел зайти до 9:01 ?

Kazun 16-11-2017 11:46 2777927

Только с жестким определением интервала, что если пользователь не залогинелся с 8-00 до 9-00, то блокировать. Но проблем будет много, поэтому лучше слать уведомления.

Код:

"-NOT (LastLogon -gt '$((Get-Date -Hour 8 -Minute 00 -Second 0).ToFileTime())' -AND LastLogon -lt '$((Get-Date -Hour 9 -Minute 1 -Second 0).ToFileTime())')"

megaloman 16-11-2017 12:04 2777934


Народная мудрость: если опаздываешь, не опаздывай на минуту - обязательно увидит контроль на проходной, опаздывай на час - есть шанс, что этого не заметят, если заметят - последствия практически не отличаются, и, кроме всего, отовраться проще.
Но по делу, наверное резоннее сделать блокировку, например, с 9.01 до 10-00, чтобы минимизировать лишние обращения к админу в случае необходимости повторного залогинивания. Представтье себе, вырубили у клиентов свет, какой вал обращений вы получите после включения?
А еще лучше, если возможно, организовать журнал с отметками, когда пользователь залогинился, без блокировок. Для разбирательства достаточно.

Опиум 21-11-2017 11:24 2779184

я в логон скрипте отправляю на syslog сервер мессагу с %computername% %username% %macadr% %SRVCOMMENT%
И самому удобно смотреть и отчет, если что, тоже элементарно.


Время: 21:38.

Время: 21:38.
© OSzone.net 2001-