tło
Powiedz, że mam to polecenie
icacls C:\FullyAccessibleFolder /grant Users:(OI)(CI)F
Działa to dobrze w angielskich wersjach systemu Windows, ale wydaje się, że nie działa w wersjach francuskich, dając następujący błąd, prawdopodobnie z powodu Users
różnicy we francuskim. Everyone
zostanie przetłumaczony jak Tout le monde
w systemie Windows, więc nie jest to również rozwiązanie.
Users: Le mappage entre les noms de compte et les ID de sécurité n'a pas été effectué.
Które Google tłumaczy jako
Users: The mapping between account names and security IDs was not performed.
Pytanie
Czy istnieje polecenie, którego mogę użyć, aby ustawić folder i rekursywnie całą jego zawartość, aby mieć pełne uprawnienia dla wszystkich użytkowników w sposób, który działałby w różnych wersjach językowych systemu Windows?
Treści z całej sieci
Ta strona z bardzo podobnym problemem mówi o tym, jak Everyone
staje się Jeder
po niemiecku i Tout le monde
francusku.
źródło
icacls C:\FullyAccessibleFolder /grant S-1-5-32-545:(OI)(CI)F
działa wszędzie.icacls C:\folder /grant *S-1-5-32-545:(OI)(CI)F
, że pominąłeś gwiazdkę.Odpowiedzi:
Nie działa w wersjach francuskich, prawdopodobnie z powodu
Users
różnicMasz trzy opcje wyszczególnione poniżej:
Użyj portalu językowego, aby uzyskać przetłumaczoną nazwę
Pobierz zlokalizowaną nazwę z
Users
SIDUżyj
Users
SID zicacls
Opcja 1: skorzystaj z portalu językowego (kanoniczne źródło terminologii Microsoft)
Wyszukiwanie użytkowników zwraca:
Sugeruje to, że następujące polecenie może działać:
Opcja 2: Pobierz zlokalizowaną nazwę z
Users
SID (S-1-5-32-545
)Źródło Dobrze znane identyfikatory bezpieczeństwa w systemach operacyjnych Windows
Aby pobrać zlokalizowaną
Users
nazwę grupy:Źródło Cacls, Windows 7, pełne uprawnienia, lokalne nazwy wg WMZ
Opcja 3: użyj
Users
SID zicacls
Użyj następującego polecenia:
Komentarz źródłowy Harry Johnston
źródło
xcacls
wydaje się być skryptem, który można pobrać. Nie ma potrzeby;icacls
jest wbudowany w system Windows i może wykonywać tę samą pracę.Users
... Wyjaśniłem odpowiedź, ponieważ nie potrzebujemyxacls
części cytowanego rozwiązania.icacls
bezpośrednio z kredytu.Musisz podać grupę AD nie według nazwy, ale numeru SID.
W przypadku standardowych grup, takich jak „EveryOne”, „Użytkownicy domeny” itp. Istnieją znormalizowane numery SID, które można znaleźć na stronie MSDN Dobrze znane identyfikatory zabezpieczeń (SID) .
Poniżej przedstawiono najczęstsze identyfikatory względne.
Struktura SID jest opisana następująco:
Jak działają identyfikatory bezpieczeństwa
źródło
S-1-5-32-544
, a następnie zmodyfikuj listę ACL, aby nadać grupie wszystkie uprawnienia do danego pliku lub folderu544
to Administratorzy,545
to Użytkownicy.Jeśli lubisz skrypty PowerShell, ale masz problem z zapamiętywaniem liczb dla identyfikatorów SID:
Wiem, że wygląda to na mnóstwo pisania, ale te długie identyfikatory są uzupełniane tabulatorami:
System.Security.Principal.SecurityIdentifier
odsecurityi
System.Security.Principal.WellKnownSidType
odwellknownsi
System.Security.AccessControl.FileSystemAccessRule
odfilesystem
Wszystkie te ciągi są identyfikatorami .NET, więc nie można ich zlokalizować.
Jeśli
Everyone
zamiast tego chcesz użyć identyfikatora SID, użyjWorldSid
zamiastBuiltinUsersSid
. Aby uzyskać listę wszystkichWellKnownSidType
opcji, zobacz MSDN lub uruchom to polecenie:źródło
group names
?$sid =
linię i zastąpić$sid
w$rule =
niej łańcuchem identyfikującym grupę.