Я пытаюсь найти способ определить папки, к которым у меня нет доступа. Я нашел эту команду, которая рекурсивно сообщает о разрешениях каждой папки в дереве папок:
dir -recurse | where { $_.PSIsContainer -eq "TRUE" } | get-acl
Однако он застревает в папке, для которой у меня нет разрешений, возвращая эту ошибку:
get-acl : Attempted to perform an unauthorized operation.
At line:1 char:56
+ dir -recurse | where { $_.PSIsContainer -eq "TRUE" } | get-acl
+ ~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-Acl], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetAclCommand
Я знаю, что это связано с тем, что у пользователя нет прав доступа к этой конкретной папке. Проблема в том, что отчет останавливается там, независимо от того, какие другие папки могут быть.
В конечном счете, именно эти папки меня интересуют, чтобы я мог определить, какие папки должны проверять их разрешения. Так есть ли какой-нибудь способ, которым я могу заставить эту команду просто зарегистрировать "несанкционированный доступ", а затем продолжить?