Заметки · 07.07.2022

Рекурсивная зачистка профилей

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

Для массовой зачистки профилей пользователей был написан вот такой ps1 скрипт:

$dirlist = @(
             "C:\Users\*\AppData\Local\Folder001",
             "C:\Users\*\AppData\Local\Folder002",
             "C:\Users\*\AppData\Local\Folder003",
             "C:\Users\*\AppData\Local\Folder004"
            )

$dirlist | ForEach-Object { Remove-Item -Path $_ -Recurse -Force -ErrorAction Ignore }

Скрипт построен на массиве, в который можно внести дополнительные пути. Цикл пробегает по указанным в массиве директориям и удаляет их. И, разумеется, необходимо заменить в массиве Folder00X на нужные директории.

Из обнаруженных проблем: занятая папка (ожидаемо) не даёт себя удалить. Лечится завершением пользовательской сессии на сервере.