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

Способ очистки папки загрузок пользователя при входе в систему

Вроде простая задача, но ни одно из моих решений не помогло. Обычный домен AD с постоянными пользователями. Мы используем терминальные серверы с не перемещаемыми профилями, поэтому все хранится на диске TS. Мы хотим очистить их папку загрузок при входе в систему, потому что они никогда не делают этого сами, и мы устали от переполнения дисков.

Итак, естественно, я делаю простой сценарий PowerShell и создаю объект групповой политики для его запуска при входе в систему. Проблема в том, что для сценария ps требуется повышение прав, а сценарии входа в систему выполняются на уровне разрешений этого пользователя и не могут быть повышены.

Вот строчка PS:

Get-ChildItem C:\Users\*\Downloads\* | Remove-Item -Force

Отлично работает, если вы запускаете его вручную из экземпляра PowerShell с повышенными привилегиями.

Хорошо, так что нет GPO. Следующая мысль - создать запланированную задачу на каждом сервере терминалов и запустить ее с учетной записью службы с правами администратора.

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

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

Кто-нибудь знает:

  1. Способ очистки папки загрузки при входе пользователя в систему через GPO без запуска сценария для этого. или
  2. Способ улучшить сценарий, позволяющий рекурсивно просматривать папку каждого пользователя, находить папку загрузок и очищать ее ... без необходимости указывать имя каждого пользователя.

Как это легко сделать? Спасибо

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

Вы, конечно же, хотите удалить Загрузки каждого конкретного пользователя. Итак, если Загрузки находятся в каталоге их профиля:

Get-ChildItem $env:USERPROFILE\downloads | Remove-Item -recurse

Возможно, вам потребуется подписать свой сценарий или установить -ExecutionPolicy Bypass в зависимости от вашей политики выполнения для Powershell. Существует множество советов о том, как запустить Powershell в сценарии входа в систему.

Если вы делаете это в старом командном файле, это просто:

rd /s /q %USERPROFILE%\Downloads\*
del /q  %USERPROFILE%\Downloads\*.*