Фон
Скажи, у меня есть эта команда
icacls C:\FullyAccessibleFolder /grant Users:(OI)(CI)F
Это отлично работает в английских версиях Windows, но, похоже, не работает во французских версиях, приводя к следующей ошибке, предположительно из-за Users
различий во французском языке. Everyone
переводится как Tout le monde
в Windows, так что это тоже не решение.
Users: Le mappage entre les noms de compte et les ID de sécurité n'a pas été effectué.
Какой Google переводит как
Users: The mapping between account names and security IDs was not performed.
Вопрос
Можно ли использовать команду, чтобы задать папку и рекурсивно все ее содержимое, чтобы иметь полные разрешения для всех пользователей таким образом, чтобы это работало в разных языковых версиях Windows?
Контент со всего Интернета
Эта страница с во многом похожей проблемой рассказывает о том, как Everyone
делается Jeder
на немецком и Tout le monde
французском языках.
источник
icacls C:\FullyAccessibleFolder /grant S-1-5-32-545:(OI)(CI)F
работает везде.icacls C:\folder /grant *S-1-5-32-545:(OI)(CI)F
, ты пропустил звездочку.Ответы:
Не работает во французских версиях, предположительно из-за
Users
отличияУ вас есть три варианта, подробно описано ниже:
Используйте языковой портал, чтобы получить переведенное имя
Получить локализованное имя из
Users
SIDИспользуйте
Users
SID сicacls
Вариант 1. Использование языкового портала (канонический ресурс по терминологии Microsoft)
Поиск пользователей возвращает:
Это говорит о том, что может работать следующая команда:
Вариант 2: Получить локализованное имя из
Users
SID (S-1-5-32-545
)Источник Известные идентификаторы безопасности в операционных системах Windows
Чтобы получить локализованное
Users
имя группы:Исходные Cacls, Windows 7, полные права, локальные имена от wmz
Вариант 3: использовать
Users
SID сicacls
Используйте следующую команду:
Комментарий источника от Гарри Джонстона
источник
xcacls
Похоже, это скрипт, который вы можете скачать. Не нужно;icacls
встроен в Windows и может выполнять ту же работу.Users
... Я уточнил ответ, поскольку нам не нужнаxacls
часть указанного решения.icacls
напрямую с кредитом для вас.Группу AD нужно указывать не по ее имени, а по номеру SID.
Для стандартных групп, таких как «EveryOne», «Пользователи домена» и т. Д., Существуют стандартизированные номера SID, которые можно найти на странице MSDN. Известные идентификаторы безопасности (SID) .
Ниже приведены наиболее распространенные относительные идентификаторы.
Структура SID описывается следующим образом:
Как работают идентификаторы безопасности
источник
S-1-5-32-544
, а затем измените ACL, чтобы дать все разрешения группе для рассматриваемого файла или папки544
это Администраторы,545
это Пользователи.Если вам нравятся скрипты PowerShell, но у вас проблемы с запоминанием чисел для идентификаторов безопасности:
Я знаю, что это похоже на тонну набора текста, но эти длинные идентификаторы завершены:
System.Security.Principal.SecurityIdentifier
отsecurityi
System.Security.Principal.WellKnownSidType
отwellknownsi
System.Security.AccessControl.FileSystemAccessRule
отfilesystem
Все эти строки являются идентификаторами .NET, поэтому они не локализуются.
Если вы хотите
Everyone
вместо этого SID, используйтеWorldSid
вместоBuiltinUsersSid
. Чтобы получить список всехWellKnownSidType
опций, посмотрите MSDN или выполните эту команду:источник
group names
?$sid =
строку и заменить$sid
в$rule =
строке со строкой , идентифицирующей группу.