Hintergrund
Angenommen, ich habe diesen Befehl
icacls C:\FullyAccessibleFolder /grant Users:(OI)(CI)F
Dies funktioniert in englischen Windows-Versionen einwandfrei, scheint jedoch in französischen Versionen nicht zu funktionieren. Dies führt zu dem folgenden Fehler, vermutlich weil Users
es in Französisch anders ist. Everyone
wird wie Tout le monde
in Windows übersetzt, das ist also auch keine Lösung.
Users: Le mappage entre les noms de compte et les ID de sécurité n'a pas été effectué.
Welches Google übersetzt als
Users: The mapping between account names and security IDs was not performed.
Frage
Gibt es einen Befehl, mit dem ich einen Ordner und rekursiv den gesamten Inhalt so einstellen kann, dass alle Benutzer über vollständige Berechtigungen verfügen, die für verschiedene Sprachversionen von Windows geeignet sind?
Inhalte aus dem Internet
Diese Seite mit einem weitgehend ähnlichen Problem spricht darüber , wie Everyone
wird Jeder
in Deutsch und Tout le monde
in Französisch.
quelle
icacls C:\FullyAccessibleFolder /grant S-1-5-32-545:(OI)(CI)F
Funktioniert überall.icacls C:\folder /grant *S-1-5-32-545:(OI)(CI)F
, du hast das Sternchen weggelassen .Antworten:
Funktioniert nicht in französischen Versionen, vermutlich weil
Users
es anders istSie haben drei Möglichkeiten, die im Folgenden beschrieben werden:
Verwenden Sie das Sprachportal verwenden , um den übersetzten Namen abzurufen
Rufen Sie den lokalisierten Namen von der
Users
SID abVerwenden Sie die
Users
SID miticacls
Option 1: Verwenden Sie das Sprachportal (kanonische Ressource für Microsoft Terminology).
Eine Suche nach Benutzern gibt Folgendes zurück:
Dies deutet darauf hin, dass der folgende Befehl möglicherweise funktioniert:
Option 2: Rufen Sie den lokalisierten Namen von der
Users
SID ab (S-1-5-32-545
)Quelle Bekannte Sicherheitskennungen in Windows-Betriebssystemen
So rufen Sie den lokalisierten
Users
Gruppennamen ab:Quell- Cacls, Windows 7, vollständige Berechtigungen, lokale Namen von wmz
Option 3: Verwenden Sie die
Users
SID miticacls
Verwenden Sie den folgenden Befehl:
Quellenkommentar von Harry Johnston
quelle
xcacls
scheint ein Skript zu sein, das Sie herunterladen können. Es ist nicht nötig;icacls
ist in Windows integriert und kann den gleichen Job machen.Users
... abgerufen werden kann. Ich habe die Antwort geklärt, da wir denxacls
Teil der angegebenen Lösung nicht benötigen .icacls
direkt mit Kredit zu Ihnen zu verwenden.Sie müssen die AD-Gruppe nicht anhand ihres Namens, sondern anhand der SID-Nummer angeben.
Für Standardgruppen wie "EveryOne", "Domain Users" usw. gibt es standardisierte SID-Nummern, die auf der MSDN-Seite Bekannte Sicherheitskennungen (SIDs) zu finden sind .
Das Folgende sind die häufigsten relativen Bezeichner.
Die Struktur einer SID wird wie folgt beschrieben:
Funktionsweise von Sicherheitskennungen
quelle
S-1-5-32-544
und ändern Sie dann die ACL, um der Gruppe alle Berechtigungen für die544
ist Administratoren,545
ist Benutzer.Wenn Sie PowerShell-Skripte mögen, aber Probleme haben, sich Zahlen für SIDs zu merken:
Ich weiß, das sieht nach einer Menge Tippen aus, aber diese langen Bezeichner sind mit Tabulatoren versehen:
System.Security.Principal.SecurityIdentifier
vonsecurityi
System.Security.Principal.WellKnownSidType
vonwellknownsi
System.Security.AccessControl.FileSystemAccessRule
vonfilesystem
Alle diese Zeichenfolgen sind .NET-Bezeichner, sodass sie nicht lokalisiert werden.
Wenn Sie
Everyone
stattdessen die SID möchten , verwenden SieWorldSid
anstelle vonBuiltinUsersSid
. Eine Liste allerWellKnownSidType
Optionen finden Sie unter MSDN oder führen Sie diesen Befehl aus:quelle
group names
?$sid =
Zeile entfernen und$sid
in der$rule =
Zeile durch eine Zeichenfolge ersetzen , die die Gruppe identifiziert.