Кажется, что это простая задача, но ни одно из моих решений не сработало. Обычный домен AD с обычными пользователями. Мы используем терминальные серверы с неперемещаемыми профилями, поэтому все хранится на диске TS. Мы хотим очистить их папку загрузок при входе в систему, потому что они никогда не делают этого сами, и нам надоело, что диски заполняются.
Итак, естественно, я создаю простой скрипт powershell и создаю GPO для его запуска при входе в систему. Проблема в том, что скрипт ps требует повышения, а скрипты входа в систему запускаются на уровне разрешений этого пользователя и не могут быть повышены.
Вот строка PS:
Get-ChildItem C:\Users\*\Downloads\* | Remove-Item -Force
Работает отлично, если вы вручную запускаете его из экземпляра PowerShell с повышенными правами.
Хорошо, так что нет GPO. Следующая мысль — создать запланированную задачу на каждом терминальном сервере и запустить ее с учетной записью службы, имеющей права администратора.
Проблема в том, что невозможно очистить папку загрузок каждого пользователя... только учетную запись службы.
Итак, я не хочу статически вводить путь к папке загрузки каждого пользователя в файл .ps1, потому что это, очевидно, станет кошмаром для управления.
Кто-нибудь знает:
- Способ очистки папки загрузки при входе пользователя в систему через GPO без запуска соответствующего скрипта. или
- Способ улучшить скрипт, чтобы он рекурсивно просматривал папку каждого пользователя, находил папку загрузок и очищал ее... без необходимости указывать имя каждого пользователя.
Как это можно легко сделать? Спасибо
решение1
Проблема с этим скриптом входа пользователя заключается в том, что вы пытались удалить ВСЕ содержимое загрузок пользователей, если вы использовали эту команду.
Вы наверняка хотите удалить Загрузки каждого конкретного пользователя. Так что если Загрузки находятся в каталоге их профиля:
Get-ChildItem $env:USERPROFILE\downloads | Remove-Item -recurse
Вам может потребоваться подписать ваш скрипт или установить его -ExecutionPolicy Bypass
в зависимости от политики выполнения, которая у вас есть для Powershell. Существует множество советов о том, как запустить Powershell в скрипте входа.
Если вы делаете это в старом пакетном файле, то это просто:
rd /s /q %USERPROFILE%\Downloads\*
del /q %USERPROFILE%\Downloads\*.*