Я использую сценарии PowerShell для управления разрешениями на наших файловых серверах. В целом это работает очень хорошо, но иногда каталоги переименовываются. Это, конечно, не влияет на разрешения, но сценарий ссылается на базу данных, в которой хранятся требуемые разрешения. Когда каталог переименовывается, назначенные разрешения больше не могут быть связаны с этим каталогом.
В этой ситуации было бы неплохо иметь возможность идентифицировать каталог на основе информации файловой системы, а не на основе имени каталога. Есть ли способ сделать это?
Файловые серверы работают под управлением Windows Server 2012, и мы используем NTFS в качестве файловой системы.
Возможно, это не лучший способ, но в любом случае это место для начала. Используя сценарии PowerShell, программно сделайте файл, помеченный как системный (скрытый, даже если активировано отображение скрытых файлов), и убедитесь, что только вы, ваш пользователь (или пользователь, под которым выполняются ваши скрипты PowerShell), можете получить к нему доступ для чтения или записи. Каждый раз, когда вы определяете новую папку, добавляйте к ней этот файл и используйте его для идентификации папки (чтобы вы могли назвать ее «Folderid» и иметь в качестве содержимого GUID, который вы создаете и связываете с папкой)
Теперь единственная проблема заключается в том, что если пользователь хочет удалить папку, права на запись в этот файл могут остановить его. Вы можете оставить его открытым для пользователей только для удаления, но это приведет к довольно сумасшедшим разрешениям.
В любом случае, это место для начала. :)