Удалить разрешения полного доступа из общих папок с исключениями - PullRequest
0 голосов
/ 09 октября 2018

В основном на моей новой работе у нас есть общая сетевая область с отдельными папками для каждого отдела.Каждая папка имеет несколько подпапок.Проблема заключается в том, что предыдущий менеджер назначил права доступа «полный доступ» на каждую папку и подпапку абсолютно всем, включая группу «все».Я хотел бы изменить разрешения безопасности «полный доступ» для модификации, но не для определенных групп безопасности, таких как администраторы домена и некоторые другие группы безопасности.

У меня есть некоторый код в PowerShell, который дает мне список которыхгруппы имеют разрешения на полный доступ, но мне нужно иметь возможность взять этот список и изменить их для изменения.

Это то, что я бесстыдно украл и изменил у кого-то другого.

$path = "\\srv-shared\sharedfolders"
$ExcludeUsers = 'Domain\Domain Admins',
                'NT AUTHORITY\SYSTEM',
                'BUILTIN\Administrator',
                'domain\Administrator'

# Create regex-pattern to match all excluded users
$ExcludeUsersRegex = ($ExcludeUsers | % { [regex]::Escape($_) }) -join '|'

Get-Childitem $path -Recurse -Directory | ForEach-Object {
    $file = $_

    Get-Acl -Path $file.FullName |
        Select-Object -ExpandProperty Access |
        Where-Object {
            $_.IdentityReference -notmatch $ExcludeUsersRegex -and
            $_.AccessControlType -eq "Allow" -and
            $_.FileSystemRights -eq "FullControl"
        } | ForEach-Object {
            #Foreach ACL
            New-Object psobject -Property @{
                Path = $file.FullName
                ACL  = $_.IdentityReference
            }
        }
} | Select-Object -Property Path, ACL | Export-Csv e:\check_acl.csv -NoTypeInformation

В основном враздел #Foreach ACL. Мне нужно, чтобы он изменил разрешение на полный доступ для группы / пользователя, которого он только что нашел, и изменил его, чтобы изменить вместо него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...