Моя компания использовала инструмент subinacl для исправления неожиданно изменяющихся идентификаторов безопасности. Сейчас мы переходим на Windows 7, и инструмент subinacl больше не используется. Я пытаюсь найти эквиваленты кода функций subinacl для Icacls, и пока единственный, который мне не удалось найти, это / заменить. Функция / substitute похожа, но я не могу сказать, что мне нужно.
Кто-нибудь знает, имеет ли функция / replace в Icacls ту же функциональность, что и / replace? Если нет, знаете ли вы, что я могу использовать, чтобы изменить имя каждого экземпляра SID на другое?
Конечный результат замены такой же, как и замена, но работает немного иначе. Вы не можете просто сделать:
icacls . /substitute oldsid newsid
Замена - это не команда сама по себе.
Вместо этого вам нужно сохранить списки управления доступом для файла, а затем восстановить их с помощью замещающего параметра. Например, это сохранит ACL для всех файлов в текущем каталоге, а затем восстановит при замене sid:
icacls * /save acls.bak
icacls . /substitute oldsid newsid /restore acls.bak
Вот это статья, которая проведет вас через этот процесс.