В последнее время я работал с одним из наших специалистов по хранению данных над проектом, который включал в себя некоторую тщательную проверку больших общих файловых ресурсов, которые компания использовала в течение многих лет. Часто мы сталкиваемся с каталогами или файлами, которые нам недоступны (с учетной записью администратора домена) по одной или нескольким из следующих причин:
Есть несколько инструментов, которые могут помочь в этих ситуациях, от Microsoft (например, TAKEOWN.EXE и ICALCS.EXE) или третьих лиц (например, SETACL.EXE). Иногда требуются другие уловки, такие как запуск одной из команд под учетной записью SYSTEM с PSEXEC.EXE. Даже просто выяснить, какие шаги делать и в каком порядке - непросто ...
Например, я хотел бы иметь возможность устранять неполадки с помощью следующего потока:
\\?\
префикс, затем проверьте еще раз.Выполнение описанных выше шагов вручную - это боль и неразумно, когда нам нужно исправить сотни каталогов. Я пробовал писать сценарии, чтобы помочь с этим, но обнаружил, что трудно сделать сценарий «умным» в отношении принимаемых им решений, и поэтому часто бывает проще применить метод грубого исправления, такой как восстановление только унаследованных разрешений.
Может ли кто-нибудь порекомендовать другое программное обеспечение и / или скрипты, которые помогут в этом процессе? Или как вы решите такие проблемы с разрешениями?
Я бы рекомендовал использовать fileacl - он может устанавливать ACL с помощью SeBackupPrivelege, таким образом не требуя, чтобы пользователь, под которым вы запускаете команду, имел разрешения на изменение ACL для данного объекта. Кроме того, он изначально поддерживает функции наследования после NTFS-5 и легко создается сценариями, поэтому с некоторой логикой сценариев оболочки он должен делать то, что вы хотите.