Fondo
Di que tengo este comando
icacls C:\FullyAccessibleFolder /grant Users:(OI)(CI)F
Esto funciona bien en las versiones en inglés de Windows, pero no parece funcionar en las versiones en francés, dando el siguiente error, probablemente debido a Users
ser diferente en francés Everyone
se traduce como Tout le monde
en Windows, por lo que tampoco es una solución.
Users: Le mappage entre les noms de compte et les ID de sécurité n'a pas été effectué.
Que traduce Google como
Users: The mapping between account names and security IDs was not performed.
Pregunta
¿Hay algún comando que pueda usar para configurar una carpeta y recursivamente todo su contenido para tener permisos completos para todos los usuarios de una manera que funcione en diferentes idiomas de Windows?
Contenido de toda la web.
Esta página con un problema en gran medida similar habla de cómo Everyone
se convierte en Jeder
en aleman y Tout le monde
en francés.
fuente
icacls C:\FullyAccessibleFolder /grant S-1-5-32-545:(OI)(CI)F
Funciona en todas partes.icacls C:\folder /grant *S-1-5-32-545:(OI)(CI)F
, dejaste fuera el asterisco.Respuestas:
No funciona en versiones francesas, presumiblemente debido a
Users
Ser diferenteTienes tres opciones, detalladas a continuación:
Usa el uso del Portal de idiomas para obtener el nombre traducido
Recuperar el nombre localizado de la
Users
SIDUtilizar el
Users
SID conicacls
Opción 1: utilizar el Portal de idiomas (recurso canónico para la terminología de Microsoft)
Una búsqueda de Usuarios devoluciones:
Esto sugiere que el siguiente comando puede funcionar:
Opción 2: recuperar el nombre localizado de la
Users
SID (S-1-5-32-545
)Fuente Identificadores de seguridad conocidos en sistemas operativos Windows
Para recuperar lo localizado.
Users
Nombre del grupo:Fuente Cacls, Windows 7, permisos completos, nombres locales por wmz
Opción 3: utilizar el
Users
SID conicacls
Usa el siguiente comando:
Fuente de comentario por Harry Johnston
fuente
xcacls
Parece ser un script que puedes descargar. No hay necesidad;icacls
Está integrado en Windows y puede hacer el mismo trabajo.Users
... He aclarado la respuesta ya que no necesitamos elxacls
parte de la solución citada.icacls
directamente con crédito para usted.Debe especificar el grupo de AD no por su nombre, sino por el número SID.
Para grupos estándar como "EveryOne", "Domain Users", etc. hay números SID estandarizados, que se pueden encontrar en la página de MSDN Identificadores de seguridad conocidos (SID) .
Los siguientes son los identificadores relativos más comunes.
La estructura de un SID se describe de la siguiente manera:
Cómo funcionan los identificadores de seguridad
fuente
S-1-5-32-544
y luego modifique la ACL para otorgar todos los permisos al grupo para el archivo o carpeta en cuestión544
es Administradores,545
es Usuarios.Si le gustan los scripts de PowerShell pero tiene problemas para recordar los números de los SID:
Sé que parece una tonelada de escritura, pero estos identificadores largos se completan mediante pestañas:
System.Security.Principal.SecurityIdentifier
desdesecurityi
System.Security.Principal.WellKnownSidType
desdewellknownsi
System.Security.AccessControl.FileSystemAccessRule
desdefilesystem
Todas estas cadenas son identificadores .NET, por lo que no se localizan.
Si quieres el
Everyone
SID en su lugar, useWorldSid
en lugar deBuiltinUsersSid
. Para obtener la lista de todosWellKnownSidType
opciones, ver MSDN o ejecuta este comando:fuente
group names
?$sid =
alinear y reemplazar$sid
en el$rule =
línea con una cadena que identifica el grupo.