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

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

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

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

Вот строка PS:

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

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

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

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

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

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

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

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

решение1

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

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

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

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

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

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

Связанный контент