fundo
Diga que tenho este comando
icacls C:\FullyAccessibleFolder /grant Users:(OI)(CI)F
Isso funciona bem nas versões em inglês do Windows, mas parece não funcionar nas versões em francês, dando o seguinte erro, provavelmente devido a Users
ser diferente em francês. Everyone
é traduzido como Tout le monde
no Windows, então também não é uma solução.
Users: Le mappage entre les noms de compte et les ID de sécurité n'a pas été effectué.
Qual Google traduz como
Users: The mapping between account names and security IDs was not performed.
Questão
Existe um comando que eu possa usar para definir uma pasta e todo o seu conteúdo recursivamente para ter permissões completas para todos os usuários de uma maneira que funcione em versões de idiomas diferentes do Windows?
Conteúdo de toda a web
Esta página com um problema amplamente semelhante fala sobre como Everyone
fica Jeder
em alemão e Tout le monde
em francês.
fonte
icacls C:\FullyAccessibleFolder /grant S-1-5-32-545:(OI)(CI)F
funciona em qualquer lugar.icacls C:\folder /grant *S-1-5-32-545:(OI)(CI)F
, você deixou de fora o asterisco.Respostas:
Não funciona nas versões francesas, provavelmente devido a
Users
ser diferenteVocê tem três opções, detalhadas abaixo:
Use o portal Use the Language para obter o nome traduzido
Recupere o nome localizado do
Users
SIDUse o
Users
SID comicacls
Opção 1: Use o portal de idiomas (recurso canônico da Microsoft Terminology)
Uma pesquisa por Usuários retorna:
Isso sugere que o seguinte comando pode funcionar:
Opção 2: recuperar o nome localizado do
Users
SID (S-1-5-32-545
)Fonte Bem conhecido identificadores de segurança em sistemas operacionais Windows
Para recuperar o
Users
nome do grupo localizado :Cacls de origem , Windows 7, permissões completas, nomes locais por wmz
Opção 3: use o
Users
SID comicacls
Use o seguinte comando:
Comentário da fonte por Harry Johnston
fonte
xcacls
parece ser um script que você pode baixar. Não há necessidade;icacls
está embutido no Windows e pode fazer o mesmo trabalho.Users
... Esclareci a resposta, pois não precisamos daxacls
parte da solução citada.icacls
diretamente com crédito para você.Você precisa especificar o grupo AD não pelo nome, mas pelo número do SID.
Para grupos padrão como "EveryOne", "Usuários do Domínio", etc., existem números SID padronizados, que podem ser encontrados na página MSDN Identificadores de segurança conhecidos (SIDs) .
A seguir estão os identificadores relativos mais comuns.
A estrutura de um SID é descrita da seguinte maneira:
Como funcionam os identificadores de segurança
fonte
S-1-5-32-544
, e, em seguida, modificar o ACL para dar todas as permissões para o grupo para o arquivo ou pasta em questão544
é Administradores,545
é Usuários.Se você gosta de scripts do PowerShell, mas não consegue lembrar os números dos SIDs:
Eu sei que parece uma tonelada de digitação, mas esses identificadores longos são preenchidos por tabulação:
System.Security.Principal.SecurityIdentifier
desecurityi
System.Security.Principal.WellKnownSidType
dewellknownsi
System.Security.AccessControl.FileSystemAccessRule
defilesystem
Todas essas strings são identificadores .NET, para que não sejam localizadas.
Se você deseja o
Everyone
SID, useWorldSid
no lugar deBuiltinUsersSid
. Para obter a lista de todas asWellKnownSidType
opções, consulte o MSDN ou execute este comando:fonte
group names
?$sid =
concordar com isso, poderá remover a linha e substituí$sid
-la$rule =
por uma sequência que identifique o grupo.