Назад | Перейти на главную страницу

Удаленно удалить пользователя из группы администраторов и сразу же ввести его в действие

Я пытаюсь написать простой сценарий PowerShell, который рекламирует пользователя домена в локальной группе администраторов на компьютерах с Windows, а затем через 30 минут удаляет их. Это то, что у меня есть.

Param(
  [string]$machineName,
  [string]$group,
  [string]$user
)
$objUser = [ADSI]("WinNT://$user")
$objGroup = [ADSI]("WinNT://$machineName/$group")
$objGroup.PSBase.Invoke("Add",$objUser.PSBase.Path)
sleep 1800
$objGroup.PSBase.Invoke("Remove",$objUser.PSBase.Path)

Этот скрипт вызывается с тремя параметрами и отлично работает. Пользователь добавляется в группу, а через 30 минут удаляется.

Последний момент, в котором мне нужна помощь, - заставить Windows понять, что пользователь больше не является администратором, через 30 минут ...

В настоящее время пользователь должен выйти из системы и снова войти в систему, чтобы реализовать права администратора, что меня устраивает, но я не хочу, чтобы они могли сохранять завивку более 30 минут. Как я могу заставить это случиться? Даже после того, как они были удалены из группы, они все еще могут выполнять задачи администратора, пока не выйдут из системы.

Заранее спасибо.

Я не верю, что то, что вы хотите сделать, технически возможно без какого-либо события выхода из системы. Пока у них есть активный сеанс / процесс, который был первоначально создан, когда он был членом группы, контекст этого сеанса / процесса будет оставаться членом группы до тех пор, пока не завершится. По той же причине им нужно выйти из системы / войти в систему, чтобы «активировать» членство в группе для начала.

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

вы можете заставить пользователя выйти из системы через 30 мин. отметка. использовать Win32Shutdown с Флагом 4 для принудительного выхода.

Это единственный способ заставить пользователя не иметь разрешения по прошествии необходимого времени.

Кроме того, если бы вы могли показать пользователю таймер, сообщающий им, сколько времени у них осталось, было бы полезно для них, чтобы они могли сохранить то, что когда-либо делали, и ничего не испортить.