Назад | Перейти на главную страницу

Разрешения PowerShell Icacls с группой домена

Я пытаюсь использовать icacls для установки разрешений для группы домена, но по какой-то причине это не работает.

icacls "C:\Temp\ACL" /T /C /grant ("Everyone"+':F') ("System"+':F') ("Administrators"+':F') ("DOMAIN\groupname"+':C') >> C:\temp\c.log

Я пытаюсь запустить его с помощью Powershell, но получаю следующую ошибку:

Invalid parameter "DOMAIN\groupname:C"

Я пробовал несколько решений, и он работает без ("DOMAIN\groupname"+':C').

Как указал Клейтон, контроль доступа будет M скорее, чем C. Я также хотел бы дополнительно отметить, что большинство дополнительных символов, которые вы вставляете в командную строку, не нужны. PowerShell довольно хорошо разбирается в командной строке без особой «помощи». Это должно работать, как ожидалось:

icacls C:\Temp\ACL /T /C /grant Everyone:F System:F Administrators:F DOMAIN\GroupName:M

Вы должны включать кавычки только в том случае, если что-то содержит в себе пробел (это то же самое, как если бы вы вводили команду в cmd.exe Подсказка). Иногда нужно что-то немного изменить, но в большинстве случаев это «просто работает».

Дополнительные сведения см. В этой статье:

ИТ-профессионал сегодня - запуск исполняемых файлов в PowerShell

У меня был старый скрипт, который делал это ... ваш код выглядел правильно, очень похоже на мой. Однако я предоставлял полный контроль, а вы - изменение. Другие инструменты CLI, такие как SUBINACL, CALCS использовали "C" для изменения, но казалось бы ICACLS решил использовать "M" для модификации.

Если вы измените ("DOMAIN\groupname"+':C') к ("DOMAIN\groupname"+':M') тебе повезет больше

Из результатов использования ICACLS:

perm is a permission mask and can be specified in one of two forms:
    a sequence of simple rights:
            N - no access
            F - full access
            M - modify access
            RX - read and execute access
            R - read-only access
            W - write-only access
            D - delete access