Как использовать разрешение acl для папок в PowerShell

У меня есть проблема с разрешениями aclall aclll для папок, я подготовил сценарий, который сортирует пользователей, которые старше 10 дней, а затем мне нужно удалить эти папки, перед этим действием мне нужно разрешить удаление папки AppData (мне нужно использовать acl здесь ?). Но, к сожалению, я не могу получить разрешение acl на папки, которые мне нужны. Get-Acl работает с такими путями, как «c: \ users \ someuser», но не работает с переменной $ new2, которая преобразуется в System.String:

$Path = "C:\Users"
$Days = "-10"
$CurrentDate = Get-Date
$OldDate = $CurrentDate.AddDays($Days)
$exclude = @('Administrator', 'All Users', 'Default', 'Default User', 'Public', 'TEMP')
$new = Get-ChildItem $Path -Exclude $exclude | Where-Object { $_.LastWriteTime -lt $OldDate }
$new2 = [string[]]$new
$new2.GetType().FullName
$new2

$acl = Get-Acl $new
$acl.access
0
nl ja de
Попробуйте добавить параметр -force в командлет remove-item ? если вы запускаете скрипт с локальными учетными данными администратора, нет необходимости изменять ACL. Дай мне знать..
добавлено автор CB., источник
Выполняется ли ваш сценарий с консоли с высокими привилегиями (запускается как администратор)?
добавлено автор CB., источник
Но что, если вы попытаетесь удалить из проводника? Нет ошибки?
добавлено автор CB., источник
попробуйте таким образом удалить папки профиля: techibee.com/powershell/…
добавлено автор CB., источник
Если я использую 'code'Remove-Item'code' с параметром -force parametr, powershell srtarting спросит меня следующее: «Элемент в C: \ Users \ someuser имеет дочерние элементы и параметр Recurse не указан. Если вы продолжаете, все дети будут удалены с помощью предмета. Вы действительно хотите продолжить? " Нажатие «Да для всех» не дает никаких результатов, а затем я получаю сообщение о том, что разрешение на удаление папок запрещено. -Recurse parametr также не дает никаких результатов.
добавлено автор murdoqq, источник
Я запускаю этот скрипт из PowerShell ISE, из локальной учетной записи администратора. Я попробую запустить его, как вы посоветовали.
добавлено автор murdoqq, источник
Такая же ситуация. Отказ в доступе к пути (который содержит папку AppData).
добавлено автор murdoqq, источник
Нет ошибок, если я попытаюсь удалить его из проводника. Также у меня есть сценарий, который может удалять все папки с детьми в папке пользователя, но он сохраняет папку AppData. :(
добавлено автор murdoqq, источник
Get-WmiObject Win32_UserProfile | Where-Object {(([WMI] '') .ConvertToDateTime ($ _. LastUseTime) -lt ((Get-Date) .AddDays (-10)))} | % {$ _. Удалить ()} Вот сценарий, который я вспомнил в предыдущем посте.
добавлено автор murdoqq, источник
PowerShellRus - о Powershell (и не только) на русском
PowerShellRus - о Powershell (и не только) на русском
418 участник(ов)

О Powershell на русском

PowerShell Pro
PowerShell Pro
75 участник(ов)

Чат, посвящённый языку PowerShell Правила чата: нет оффтопу, спаму, оскорблениям. Будьте вежливы к коллегам. Приятного общения! Книги можно найти по тегу #books