Vis Eller Fjern Active Directory Delegerte Tillatelser

Active Directory-delegering (AD) er en viktig del av mange organisasjoners it-infrastruktur. Ved å delegere administrasjon kan du bare gi brukere eller grupper de tillatelsene de trenger uten å legge til brukere i privilegerte grupper (F.eks. Domeneadministratorer, Kontooperatører). Den enkleste måten å utføre delegering på er Å bruke Veiviseren For Delegering Av Kontroll i snapin-modulen Microsoft Management Console (MMC) Active Directory-Brukere og-Datamaskiner.

Relatert: Administrere Active Directory Med PowerShell

Selv Om Veiviseren For Delegering av Kontroll gir en enkel måte å delegere tillatelser på, er det ingen tilsvarende veiviser for å fjerne delegerte tillatelser. Noen På Microsoft må ha lagt merke til denne mangelen og opprettet et kommandolinjeprogram kalt Dsrevoke.exe som kan fjerne tillatelsesoppføringene lagt til Av Delegering Av Kontrollveiviseren.

imidlertid Dsrevoke.exe-programmet har to viktige tekniske begrensninger, som er dokumentert i Microsoft-artikkelen ” når Du bruker kommandolinjeverktøyet dsrevoke til å rapportere tillatelser for alle organisatoriske enheter i Et Windows Server 2003-basert domene, kan verktøyet ikke returnere alle tilgangskontrolloppføringene.”Disse begrensningene er:

  • Dsrevoke.exe kan finne bare opp til 1000 OUs i et enkelt søk. Den foreslåtte løsningen for denne begrensningen er å starte programmets søk i en dypere nestet organisasjonsenhet (ou) for å redusere antall resultater.
  • Dsrevoke.exe mislykkes hvis Noen OUs inneholder et skråstrek ( / ) tegn i navnene sine. Det er ingen løsning for denne begrensningen annet enn å omdøpe den fornærmende OUs.

når du arbeider Med Dsrevoke.exe nylig var jeg i stand til å omgå det første problemet, men da løp jeg inn i det andre problemet. Av organisatoriske grunner var det ikke et alternativ å omdøpe OUs for å fjerne slash-tegnet. Dessuten er skråstreken et gyldig tegn i ET ou-navn, og Dsrevoke.exe skal fungere uansett om EN OU inneholder en skråstrek i navnet eller ikke. Også arbeidet rundt 1000 ou-grensen i mitt miljø var tidkrevende.

på grunn av disse problemene bestemte jeg meg for å se om det var noen innebygde alternativer Til Dsrevoke.exe. Starter i nyere versjoner Av Windows, Dsacls.exe-programmet gir en måte å fjerne tillatelsene lagt Til Av Delegering Av Kontrollveiviseren. Selv om det ikke mislykkes hvis EN OU inneholder en skråstrek i navnet, Dsacls.exe kan ikke søke underbeholdere for tillatelser som Dsrevoke.exe gjør.

jeg bestemte meg først for å bare skrive et enkelt skript for å søke Etter OUs og ringe Dsacls.exe for å fjerne delegerte tillatelser fra hver OU. Men da jeg tenkte på hvordan jeg ønsket å designe et slikt skript, skjedde det for meg at jeg også vil se en liste over Hvilke OUs hadde tillatelser delegert til en bestemt bruker eller gruppe. Dsrevoke.exe og Dsacler.exe kan produsere en liste over tillatelser, men utgangen er veldig lang og teknisk. Jeg ville ha noe enklere.

på grunn av begrensningene I Dsrevoke.exe og Dsacler.exe, og mitt ønske om å få kortere utgang, bestemte jeg meg for Å skrive Et Windows PowerShell-skript for å få funksjonaliteten jeg ønsket. Resultatet Er Fjern-dsace. ps1. Før jeg diskuterer dette skriptet, må jeg imidlertid gi litt bakgrunnsinformasjon om hva som skjer når du bruker Delegering Av Kontrollveiviseren, samt dekke noen grunnleggende Windows – sikkerhetskonsepter.

Legge Til Delegerte Tillatelser Med Veiviseren

Som jeg tidligere nevnte, Gir Delegering Av Kontrollveiviseren en enkel måte å delegere tillatelser på. Anta for eksempel at du vil at medlemmer Av Gruppen For Tilbakestilling Av Passord skal kunne tilbakestille passord for brukere I ALLE Brukere-OU-En i ANNONSEDOMENET. For å gjøre dette må du utføre disse trinnene:

  1. Åpne Konsollen Active Directory-Brukere og Datamaskiner.
  2. Høyreklikk På ALLE Brukere OU og velg Representantkontroll, som vist I Figur 1. Klikk på neste-knappen for å gå forbi veiviserens velkomstside.

Figur 1: Starte Delegering Av Kontrollveiviseren

  1. klikk Legg til-knappen På siden Brukere Eller Grupper i veiviseren.
  2. i Dialogboksen Velg Brukere, Datamaskiner eller Grupper skriver du inn gruppens navn( Tilbakestilling Av Passord), klikker På Kontroller Navn-knappen for å sikre at gruppens navn er riktig, og klikker OK, som vist i Figur 2.
Figur 2: Angi Gruppens Navn
Figur 2: Angi Gruppens Navn
  1. når du har kontrollert at gruppens navn er oppført På Siden Brukere eller Grupper, klikker Du På Neste, som vist i figur 3.
Figur 3: Kontroller At Gruppens Navn Er Oppført
Figur 3: Sørge For At Gruppens Navn Er Oppført
  1. på Oppgaver Å Delegere-siden velger Du Tilbakestill brukerpassord og fremtvinger passordendring ved neste pålogging og klikker På Neste, som vist i Figur 4.
Figur 4: Velge Oppgavene Som Skal Delegeres
Figur 4: Velge Oppgavene Som Skal Delegeres
  1. Kontroller informasjonen på den siste siden i veiviseren, og klikk Fullfør.

Når Du klikker Fullfør, Legger Veiviseren For Delegering av Kontroll de forespurte tillatelsene Til ALLE Brukere OU. Du kan vise effekten av delegeringen ved å høyreklikke Alle Brukere OU, velge Egenskaper og velge kategorien Sikkerhet. (Hvis Kategorien Sikkerhet ikke er synlig, aktiverer Du Alternativet Avanserte Funksjoner På Vis-menyen I Active Directory-Brukere og Datamaskiner-konsollen.) For en detaljert visning kan du klikke På Avansert-knappen. Figur 5 viser Dialogboksen Avanserte Sikkerhetsinnstillinger som vises.

 Figur 5: Gjennomgang AV DACL For Alle Brukere OU
Figur 5: Gjennomgang AV DACL for Alle Brukere OU

Acler, Ess og Trustees—Oh My!

hvis du vil forstå informasjonen som gis I Dialogboksen Avanserte Sikkerhetsinnstillinger, må du vite om Følgende Windows – sikkerhetskonsepter: TILGANGSKONTROLLLISTE (ACL), TILGANGSKONTROLLOPPFØRING (ACE), forvalter og arv. Du må også forstå disse konseptene for Å bruke Remove-dsace. ps1.

ACL. Det finnes to Typer Acler: skjønnsmessige Acler (Dacler) og system Acler (Sacler). EN DACL identifiserer kontoene som er tillatt eller nektet tilgang til et objekt. EN SACL beskriver hvordan en administrator ønsker å logge forsøk på å få tilgang til et objekt (dvs.overvåking).

ESS. EN ACL består av Ess. HVERT ESS identifiserer en forvalter og angir forvalterens tilgang (tillat, avslå eller overvåk) for objektet. Veiviseren For Delegering av Kontroll legger Til Ess i DACL FOR EN ANNONSEBEHOLDER. Figur 5 viser DACL For Alle Brukere OU. I denne figuren er begrepet tillatelsesoppføring synonymt MED ACE.

Forvalter. En forvalter er enheten (en bruker, sikkerhetsgruppe eller påloggingsøkt) SOM ET ESS gjelder for. HVERT ESS gjelder for en enkelt forvalter. I figur 5 er Begrepet Rektor synonymt med forvalter. Figur 5 viser at det er to Ess som er tildelt Gruppen For Tilbakestilling Av Passord. Med Andre ord, Passord Reset gruppen er bobestyrer (rektor) for disse to Ess.

Arv. ET ESS kan brukes direkte på et objekt, eller det kan arves fra ressursens overordnede objekt. I Figur 5 arves Ikke De To Essene for Alle Brukere OU som inneholder Gruppen Tilbakestilling av Passord som forvalter fra den overordnede beholderen (Dvs. Kolonnen Arvet Fra Leser Ingen) fordi Veiviseren For Delegering av Kontroll la Dem direkte til DACL. Figur 6 viser DACL for Regnskap OU. Regnskaps OUS DACL inneholder to Ess for Tilbakestillingsgruppen For Passord, men Disse Essene er arvet Fra Alle Brukere OU (Dvs.Den Arvede fra kolonnen leser OU=Alle Brukere,DC=fabrikam,DC=local).

Figur 6: Gjennomgang AV DACL For Regnskap OU
Figur 6: Gjennomgang AV DACL For Regnskap ou

Innføring Av Remove-dsace.ps1

jeg skrev Remove-dsace.ps1 (kort for fjern katalogtjeneste Ess) for å oppnå følgende mål:

  • Finn OUs som inneholder ikke-arvede Ess som inneholder en trustee.
  • Rekurser inn i Sub-OUs hvis ønskelig.
  • Fjern Ikke-arvede Ess som inneholder en bobestyrer.
  • Produsere konsis utgang.

skriptets syntaks er som følger:

Remove-DSACE path 

parameteren-Rapport eller-Fjern bestemmer om skriptet vil liste eller fjerne Ikke-arvede Ess. Hvis du angir-Rapport, finner skriptet Ikke-arvede Ess som inneholder forvaltere, men det fjerner dem ikke. Hvis du angir-Fjern, fjerner skriptet De ikke-arvede Essene. Det er veldig viktig å forstå at skriptet vil fjerne alle ikke-arvede Ess for forvalteren, ikke Bare Ess lagt til Av Delegasjonen Av Kontrollveiviseren. Dette skyldes at det ikke er noen måte å bestemme hvordan De ikke-arvede Essene ble lagt til.

Parameterne-Rapport Og-Fjern er valgfrie, men skriptet antar-Rapportparameteren som standard. Skriptet vil kaste en feil hvis du angir begge parametrene samtidig.

du bruker Parameteren-Path til å angi Ett Eller Flere distinguished names (DNs) FOR AD OUs. Parameternavnet-Path er valgfritt og godtar pipeline-inngang. Selv om du kan angi Flere DNs, kan du ikke bruke jokertegn.

– Trustee-parameteren navngir trustee som skal finnes i Essene. Skriptet undersøker hver OU ER DACL for ikke-arvet Ess som inneholder den navngitte bobestyrer. Du kan angi flere forvaltere ved hjelp av en kommadelt liste eller en matrise, men du kan ikke bruke jokertegn. Du kan angi forvalternavn ved hjelp av noen av navneformatene som er oppført i Tabell 1.

Format Eksempel
Tabell 1: Navneformater For Parameteren-Trustee
windows NT 4.0 navngi format (NT4) FABRIKAM \ KenDyer
objektets DN CN = Ken Dyer,Cn = Brukere, DC=fabrikam, DC=com
objektets kanoniske navn fabrikam.com/Users/Ken Dyer
objektets hovednavn (UPN ))

du inkluderer parameteren-Recurse hvis du vil søke etter OUs under den angitte OU. Hvis du vil koble til EN bestemt DOMENEKONTROLLER (DC), kan du angi servernavnet med parameteren
-Servernavn. Både-Recurse-og-ServerName-parameterne er valgfrie.

skriptet støtter alternative legitimasjon. Parameteren-Legitimasjon bruker Et PSCredential-objekt som inneholder brukernavnet og passordet skriptet skal bruke til å koble til domenet.

skriptet støtter også-Confirm-parameteren. – Confirm-parameteren er bare meningsfull i kombinasjon med-Remove-parameteren. Parameteren-Confirm er aktivert som standard, med mindre du deaktiverer den ved å angi-Confirm:$FALSE eller ved å angi variabelen $ConfirmPreference Til None. Du bør bare deaktivere-Confirm-parameteren når du er helt sikker på at du fjerner de riktige Essene.

skriptet produserer utdataobjekter som inneholder egenskapene som er oppført I Tabell 2.

Eiendom Beskrivelse
Tabell 2: Utdata Objektegenskaper For Fjern-DSACE.ps1
Sti OUS DN
Bobestyrer bobestyrer navn I DOMENE \ navn format
Ess antall Ikke-arvede Ess i OUS ACL
Resultat * ordet “Fjernet”eller en feilmelding
*Resultat-egenskapen finnes bare når du bruker parameteren-Fjern.

skriptet inneholder bare OUs med ikke-arvet Ess som inneholder en bobestyrer. Arvet Ess for en bobestyrer er ikke inkludert i utdataene. Figur 7 viser to eksempler. Den første kommandoen i figur 7 gir ingen utdata fordi DACL for Regnskap OU ikke inneholder noen ikke-arvet Ess for Gruppen Tilbakestilling av Passord. (Regnskaps OU har to Ess for Passord Reset gruppen, men Disse Essene er arvet Fra Alle Brukere OU, som vist I Figur 6.) Den andre kommandoen i Figur 7 produserer utdata. Det er to Ikke-arvede Ess for Tilbakestillingsgruppen For Passord I Alle Brukere OU (som vist I Figur 5).

 Figur 7: Sammenligning Av Utdata Fra To Kommandoer
Figur 7: Sammenligning Av Utdata Fra To Kommandoer

Real-World Eksempel

La oss se på hvordan Du kan bruke Remove-dsace. ps1 i den virkelige verden. Anta at en administrator i fabrikam.lokalt domene hadde brukt Delegering Av Kontrollveiviseren til å delegere tillatelser til Sekretærpersonalgruppen I Alle Brukere OU og noen Av OUs under den, men han husker ikke hvilken OUs. Du må fjerne disse delegerte tillatelsene slik at du kan delegere tillatelsene til andre grupper.

først må du se en liste OUs som har ikke-arvet Ess som inneholder Sekretærpersonalgruppen. For å gjøre dette kan du bruke kommandoen:

Remove-DSACE -Report ` -Path "OU=All Users,DC=fabrikam,DC=local" ` -Trustee "FABRIKAM\Secretarial_Staff" ` -Recurse | Format-List

denne kommandoen og dens utgang er vist i Figur 8.

 Figur 8: Notering Av Ou-Er Som Ikke Har Arvet Ess Som Inneholder Sekretærpersonalgruppen
Figur 8: Notering Av Ou-Er Som Ikke Har Arvet Ess Som Inneholder Sekretærpersonalgruppen

fra denne utgangen kan du se at det er tre Ou-Er som ikke har arvet Ess som inneholder Sekretærpersonalgruppen. Etter at du har bekreftet at du kan fjerne Disse Essene, kan du erstatte-Report-parameteren med-Remove-parameteren og gjenta kommandoen, som vist i Figur 9. Som jeg nevnte tidligere, hvis Sekretærpersonalgruppen har blitt tildelt andre tillatelser utenfor Delegasjonen Av Kontrollveiviseren, vil de også bli fjernet.

Figur 9: Fjerning Av Ouer Som Har Ikke-Arvede Ess Som Inneholder Sekretærpersonalgruppen
Figur 9: Fjerning Av Ou-Er Som Har Ikke-Arvede Ess Som Inneholder Sekretærpersonalgruppen

Ta Kontroll Over Ad-Delegasjonen

Delegeringen Av Kontrollveiviseren er et veldig nyttig verktøy, men det er ingen enkel måte å raskt vise eller reversere effektene på. Selv om Du kan bruke Dsrevoke.exe og Dsacler.exe for å utføre disse oppgavene har disse verktøyene noen begrensninger. Hvis Du bruker Remove-dsace. ps1-skriptet i stedet, har du bedre kontroll over delegerte tillatelser I AD. Du kan laste ned dette skriptet ved å klikke Last Ned Koden-knappen øverst på siden.

Relaterte videoer fra Brian Desmond (KUN VIP-tilgang):
Økt 1: Mastering Av Active Directory-Tillatelser Delegering
Økt 2: Mastering Av Active Directory-Sikkerhetstillatelser Delegering

Leave a Reply