none
Как скриптом установить "Условия" в NTFS ACL? RRS feed

  • Вопрос

  • Есть необходимость раздать Powershell скриптом права. С обычными ACL проблем нет, но как установить условия из скрипта? Всё что я смог найти связано с использованием Cetral Access Policy, но нам это не подходит, к сожалению.

    Чтобы было понятнее: классификация ресурсов, разные параметры для них у нас настроены, всё работает - условия мы ставим через GUI, и всё работает как часы. Но есть большое желание это автоматизировать, но пока у меня ничего не получается...


    15 сентября 2017 г. 7:51

Ответы

Все ответы

  • В Powershell класс, который описывает ACE - System.Security.AccessControl.FileSystemAccessRule - согласно документации, к сожалению, не имеет полей и методов, содержащих условие для условных ACE. Поэтому стандартные методы работы с ACL через Powershell не годятся.

    Единтсвенная пришедшая мне в голову идея, как решить задачу - задать условный ACL из строки, содержащей ACL в формате SDDL методом SetSecurityDescriptorSddlForm, примерно так (код я не проверял):

    $ACL = New-Object System.Security.AccessControl.DirectorySecurity

    $ACL.SetSecurityDescriptorSddlForm('строка SDDL')

    Set-ACL папка $ACL

    Но формат SDDL - это совершенно не подарок, работать с ним трудно.

     


    Слава России!


    • Изменено M.V.V. _ 15 сентября 2017 г. 13:52
    15 сентября 2017 г. 13:50
  • https://rohnspowershellblog.wordpress.com/2015/08/29/reading-and-creating-conditional-aces-with-powershell-kind-of/

    PowerShellAccessControl Module 3.0/4.0

    • Изменено KazunEditor 15 сентября 2017 г. 14:30
    • Помечено в качестве ответа xscout 16 сентября 2017 г. 15:47
    15 сентября 2017 г. 14:30
    Отвечающий
  • Спасибо, это очень сильно помогло! Теперь мне ясно куда копать. 
    16 сентября 2017 г. 15:47