Uanset Windows -sprog, hvordan kan jeg få ICACLS -kommandoen til at indstille en mappe til at have fuld adgang til alle?

Regardless Windows Language



Løsning:

Virker ikke i franske versioner, formodentlig pgaBrugere er forskellige

Du har tre muligheder, beskrevet nedenfor:

  1. Brug portalen Brug sprog til at få det oversatte navn



  2. Hent det lokaliserede navn fraBrugere SID



  3. BrugBrugere SID medicacls




Mulighed 1: Brug sprogportalen (kanonisk ressource til Microsoft Terminology)

En søgning efter brugere returnerer:

Oversættelser i lokaliserede Microsoft -produkter

Engelsk oversættelse Produktbrugere Windows 7 -brugere Windows 7 -brugere Windows 8 -brugere Moderne stemmebrugere Windows 8 -brugere Windows 8.1 -brugere BRUGERE BRUGERE Windows 8.1 -brugere Windows 10 -brugere Windows 10 -brugere Windows 10 -brugere Jubilæumsbrugere Opdater brugere Windows 10 Jubilæumsbrugere Opdater

Dette tyder på, at følgende kommando kan fungere:



icacls C:  FullyAccessibleFolder / grant Brugere: (OI) (CI) F

Mulighed 2: Hent det lokaliserede navn fraBrugere SID (S-1-5-32-545)

SID: S-1-5-32-545

Navn: Brugere

Beskrivelse: En indbygget gruppe. Efter den første installation af operativsystemet er det eneste medlem gruppen Autentificerede brugere. Når en computer slutter sig til et domæne, tilføjes gruppen Domænebrugere til gruppen Brugere på computeren.

Kilde Kendte sikkerheds-id'er i Windows-operativsystemer

For at hente det lokaliseredeBrugergruppenavn:

Dette enkle script giver dig det faktiske navn på 'Brugere'(S-1-5-32-545) gruppe på en given pc:

Indstil objWMIService = GetObject ('winmgmts: \.  Root  cimv2') Indstil objAccount = objWMIService.Get ('Win32_SID.SID =' S-1-5-32-545 '') Wscript.Echo objAccount.AccountName

Sæt den i en fil med vbs -udvidelse (Lad os antageusersName.vbs).

Kør nu:

ekko Y | for /f 'delims =' %i in ('cscript -Nologo usersName.vbs') do cacls foldername /G ' %i': F

Source Cacls, Windows 7, fulde tilladelser, lokale navne efter wmz


Mulighed 3: BrugBrugere SID medicacls

Brug følgende kommando:

icacls C:  FullyAccessibleFolder /grant *S-1-5-32-545: (OI) (CI) F

Kildekommentar af Harry Johnston


Du skal angive AD-gruppen ikke ved dens navn, men med SID-nummeret.
For standardgrupper som 'EveryOne', 'Domain Users' osv. Er der standardiserede SID-numre, som findes på MSDN-siden Kendte sikkerheds-id'er (SID'er).

Følgende er de mest almindelige relative identifikatorer.

indtast billedbeskrivelse her

Strukturen af ​​et SID beskrives som følgende:

Komponenterne i et SID er lettere at visualisere, når SID'er konverteres fra binært til strengformat ved hjælp af standardnotation:

S-R-X-Y1-Y2-Yn-1-Yn

Komponentdefinition S Angiver, at strengen er et SID R Revisionsniveau X Identifikatorens autoritetsværdi Y En række subautoritetsværdier, hvor n er antallet af værdier

For eksempel er SID'et for den indbyggede administratorgruppe repræsenteret i standardiseret SID-notation som følgende streng:

S-1-5-32-544

Denne SID har fire komponenter:

  • Et revisionsniveau (1)

  • En identifikationsmyndighedsværdi (5, NT Authority)

  • En domæneidentifikator (32, indbygget)

  • En relativ identifikator (544, administratorer)

Sådan fungerer sikkerhedsidentifikatorer


Hvis du kan lide PowerShell -scripts, men har problemer med at huske tal til SID'er:

$ acl = Get-Acl.  myfolder $ sid = New-Object System.Security.Principal.SecurityIdentifier ([System.Security.Principal.WellKnownSidType] :: BuiltinUsersSid, $ null) $ rule = New-Object System.Security.AccessControl .FileSystemAccessRule ($ sid, 'FullControl', 'ObjectInherit, ContainerInherit', 'None', 'Allow') $ acl.AddAccessRule ($ rule) Set-Acl.  Myfolder $ acl

Jeg ved, at det ligner masser af indtastninger, men disse lange identifikatorer er fuldført med faner:

  • System.Security.Principal.SecurityIdentifier frasecurityi
  • System.Security.Principal.WellKnownSidType fravelkendt
  • System.Security.AccessControl.FileSystemAccessRule frafilsystem

Alle disse strenge er .NET -id'er, så de ikke bliver lokaliseret.

Hvis du vil haveAlle SID i stedet, brugWorldSid i stedet forBuiltinUsersSid. For at få listen over alleWellKnownSidType muligheder, se MSDN eller kør denne kommando:

[System.Security.Principal.WellKnownSidType] .DeclaredFields | vælg Navn