Inleiding tot Active Directory. Active Directory-schemaversie. Wat is een schema?

Een directoryservice wordt gebruikt om gebruikers en bronnen op het netwerk te identificeren. In vergelijking met eerdere versies van Windows, Microsoft Windows 2003 zijn de mogelijkheden van Active Directory aanzienlijk uitgebreid. Active Directory biedt een uniform hulpprogramma voor netwerkbeheer waarmee u eenvoudig gebruikers en bronnen kunt toevoegen, verwijderen en verplaatsen.

Introductie van Active Directory

Met Active Directory-tools kunt u de directorystructuur ontwerpen op de manier die uw organisatie nodig heeft. In deze les leert u over het gebruik van Active Directory-objecten en het doel van de componenten ervan.

Na het bestuderen van de stof in deze les, ben je in staat om:

    het doel van de attributen van het object uitleggen, en Actieve schema's Directory;

    de functionaliteit van Active Directory-componenten definiëren en beschrijven.

Active Directory-objecten

Net als alle services die informatie toegankelijk en nuttig maken, slaat Active Directory informatie op over: netwerkbronnen... Deze bronnen, zoals gebruikersgegevens, beschrijvingen van printers, servers, databases, groepen, computers en beveiligingsbeleid, worden objecten genoemd.

Een object is een afzonderlijke benoemde set attributen die een netwerkbron vertegenwoordigt. Attributen van een object zijn de kenmerken ervan in de catalogus. Kenmerken van gebruikersaccounts kunnen bijvoorbeeld voor- en achternaam, afdeling en e-mailadres zijn (Afbeelding 2-1)

In Active Directory kunnen objecten worden georganiseerd in klassen, dat wil zeggen in logische groepen. Een voorbeeld van een klasse is een groepering van objecten die gebruikersaccounts, groepen, computers, domeinen of organisatie-eenheden (OE's) vertegenwoordigen.

Opmerking Objecten die andere objecten kunnen bevatten, worden containers genoemd. Een domein is bijvoorbeeld een containerobject dat gebruikers, computers en andere objecten kan bevatten.

Welke objecten precies in Active Directory kunnen worden opgeslagen, wordt bepaald door het schema.

SchemaActiefDirectory

Een Active Directory-schema is een lijst met definities die de soorten objecten definiëren die in Active Directory kunnen worden opgeslagen en de soorten informatie daarover. Deze definities zelf worden ook opgeslagen als objecten, zodat Active Directory ze beheert via dezelfde bewerkingen die worden gebruikt voor andere objecten in Active Directory.

Er zijn twee soorten definities in een schema: attributen en klassen. Ze worden ook schema-objecten of metadata genoemd.

Attributen worden afzonderlijk van klassen gedefinieerd. Elk attribuut wordt slechts één keer gedefinieerd en mag over meerdere klassen worden toegepast. Het kenmerk Description wordt bijvoorbeeld in veel klassen gebruikt, maar wordt slechts één keer in het schema gedefinieerd om de integriteit ervan te waarborgen.

Klassen, ook wel objectklassen genoemd, beschrijven welke Active Directory-objecten kunnen worden gemaakt. Elke klasse is een verzameling attributen. Wanneer een object wordt gemaakt, slaan attributen de informatie op die het beschrijft. De kenmerken van de klasse User zijn bijvoorbeeld Network Address, Home Directory, enz. Elk object in Active Directory is een instantie van een objectklasse.

Windows 2000 Server bevat een set van: basisklassen en attributen. Door nieuwe klassen en nieuwe attributen voor bestaande klassen te definiëren, kunnen ervaren ontwikkelaars en netwerkbeheerders het schema dynamisch uitbreiden. Als u bijvoorbeeld informatie over gebruikers moet opslaan die niet in het schema is gedefinieerd, kunt u het schema uitbreiden voor de klasse Gebruikers. Een dergelijke uitbreiding van de regeling is echter een nogal gecompliceerde operatie met mogelijk ernstige gevolgen. Aangezien het schema niet kan worden verwijderd, maar alleen gedeactiveerd en automatisch wordt gerepliceerd, moet u de uitbreiding ervan voorbereiden en plannen.

Het belang van het "Active Directory Schema" voor netwerken die bovenop een Active Directory-domeinomgeving zijn gebouwd, is moeilijk te onderschatten. Dit is de basis van de AD-technologie en het is erg belangrijk om de principes van de werking ervan goed te begrijpen. De meeste systeembeheerders besteden onvoldoende aandacht aan de regeling omdat ze er zelden mee te maken hebben. In dit artikel zal ik je vertellen wat een schemaversie is, waarom we deze moeten kennen en, belangrijker nog, hoe je de huidige versie kunt bekijken.

Allereerst een paar woorden over het schema zelf, elk object dat in Active Directory is gemaakt, of het nu een gebruiker of een computer is, heeft bepaalde parameters die attributen worden genoemd. Het meest eenvoudig voorbeeld het attribuut "Achternaam" van het gebruikersobject kan worden gebruikt. Het schema definieert welke objecten we in Active Directory kunnen maken en welke attributen ze zullen hebben.

Met Active Directory kunnen meerdere domeincontrollers binnen dezelfde organisatie worden gebruikt op basis van: verschillende versies Windows-besturingssysteem. Namelijk op basis van Windows-server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008. Aangezien deze versies in verschillende jaren zijn uitgebracht en elke nieuwe versie meer functionaliteit bevat dan de vorige, is het begrip van het schema voor elk besturingssysteem anders. Daarom, bij het toevoegen van een nieuwe controller aan: Windows gebaseerd Server 2008 naar een organisatie waar bestaande controllers zijn gebouwd op Windows Server 2003, moest u het hulpprogramma uitvoeren " Adprep". Door dit te doen, hebt u uw organigram bijgewerkt tot het niveau waarmee het werkt. Windows Server 2008.

Het schema-updateproces is uitgevoerd voordat de eerste werd geïnstalleerd Windows-controller Server 2008 en de eigenlijke procedure voor het installeren van een nieuwe controller zijn mogelijk niet uitgevoerd. Als u net begint te werken met een soort Active Directory-organisatie en niet weet welke acties zijn uitgevoerd voordat u lid werd, moet u, om de volledigheid van de structuur te begrijpen, weten op welk niveau het schema van de huidige organisatie werkt.

Mogelijke schemaversies:

13 - Windows 2000-server
30 - Windows Server 2003 RTM, Windows 2003 Met Service Pack 1, Windows 2003 Met Service Pack 2
31 - Windows Server 2003 R2
44 - Windows Server 2008 RTM

Zelfs als alle controllers in uw organisatie Windows Server 2003 R2 gebruiken en de schemaversie "44" toont, zou het u niet moeten verbazen, dit geeft aan dat het schema al is geüpgraded naar Windows-niveau Server 2008 RTM, maar de controller zelf is om de een of andere reden niet geïnstalleerd.

U kunt de versie van het schema op verschillende manieren bekijken, de eenvoudigste is de manier waarop u het hulpprogramma "DSQuery" gebruikt. voor dit in opdrachtregel u moet een opdracht invoeren met de volgende parameters:

"Dsquery * cn = schema, cn = configuratie, dc = domeinnaam, dc = local -scope base -attr objectVersion"

Uiteraard in het deel “ dc = domeinnaam, dc = lokaal " u moet uw eigen domeinnaam vervangen. (Voorbeeld: dc = microsoft, dc = com )

Het resultaat van het invoeren van de opdracht is om het attribuut " ObjectVersie", Wat het versienummer van het schema zal zijn:

Rijst. een De schemaversie ophalen via het hulpprogramma "DSQuery".

De tweede methode is langer en omvat het gebruik van een snap " ADSIEdit.msc "... Om de versie van het schema te bekijken, moet u verbinding maken met de Active Directory-sectie van het schema.

"CN = Schema, CN = Configuratie, DC = domein, DC = lokaal"

En zoek de waarde van het attribuut " objectVersie".

Figuur 2 De versie van het schema ophalen via de module " ADSIEdit.msc».

Als u de versie van het schema kent, kunt u altijd met vertrouwen zeggen of het schema moet worden bijgewerkt en, indien nodig, tot welk niveau.

Opgemerkt moet worden dat schema-updates kunnen worden uitgevoerd door software die nauw is geïntegreerd met Active Directory. de slimste Microsoft voorbeeld Exchange-server... En vaak in een organisatie planning Exchange-implementatie Server, moet u weten of de schemavoorbereiding is uitgevoerd? En zo ja, welke versie van Exchange Server. Op de dit moment Er zijn drie versies van Exchange die met Active Directory werken, maar er zijn zes opties om het schema te wijzigen. Begrijpen of het Active Directory-schema is gewijzigd Exchange-server je kunt het attribuut gebruiken " bereikBovenste ", die de volgende waarden aanneemt:

4397 - Exchange Server 2000 RTM
4406 - Exchange Server 2000 met Service Pack 3
6870 - Exchange Server 2003 RTM
6936 - Exchange Server 2003 met Service Pack 3
10628 - Exchange Server 2007
11116 - Exchange 2007 met Service Pack 1

Zoals u kunt zien, vindt de schema-update ook plaats wanneer u een set updates SP3 voor Exchange Server 2000/2003 en SP1 voor Exchange 2007 installeert.

Bekijk de waarde van het attribuut " bereikBovenste " u kunt het hulpprogramma DSQuery gebruiken:

"dsquery * CN = ms-Exch-Schema-Version-Pt, cn = schema, cn = configuratie, dc = domeinnaam, dc = local -scope base -attr rangeUpper"

Rijst. 3 Het attribuut krijgen " bereikBovenste " via het DSQuery-hulpprogramma.

Als na het invoeren van deze opdracht een antwoord wordt geretourneerd dat de afwezigheid van het kenmerk " bereikBovenste " kan worden geconcludeerd dat de regeling niet is gewijzigd.

Het schema-updateproces is erg belangrijk punt voor elk organisaties Actief Directory, dus u moet onnodige, ongerechtvaardigde acties vermijden. De essentie van de attributen begrijpen " objectVersion "en« bereikBovenste " geeft de technicus een voordeel bij het werken met Active Directory in een onbekende organisatie, en is ook een hulpmiddel bij het oplossen van problemen.

Materiaal geleverd door de bron

04/07/2011 Brian Desmond

Het is gewoon zo dat Active Directory (AD)-beheerders en IT-managers meestal op hun hoede zijn om het AD-schema uit te breiden. Veel van de angst komt voort uit de Windows 2000-documentatie van Microsoft, die schema-uitbreiding afschildert als een complexe operatie die uiterste voorzichtigheid vereist. Met een redelijke planning is schema-uitbreiding echter volledig risicovrij.

Het AD-schema definieert de structuur van de gegevens die in de directory zijn opgeslagen. AD ondersteunt native vele soorten objecten (bijvoorbeeld gebruikers) en kenmerken (bijvoorbeeld voor- en achternaam). Als het onderliggende AD-schema niet goed past bij de gegevens die u in de directory wilt opslaan, kunt u dit aanvullen met aangepaste objecten en attributen.

Doorgaans wordt het AD-schema om verschillende redenen uitgebreid, waarvan de meest voorkomende in veel organisaties de implementatie is van een toepassing waarvoor schema-uitbreiding vereist is. Illustratief voorbeeld - Microsoft Exchange... Soms leveranciers software nodig hebben om het schema uit te breiden om compatibel te zijn met hun toepassingen. Vaak wordt het schema uitgebreid voor toepassingen zelf ontwikkeld of voor het gemak van het opslaan van bedrijfsgegevens in AD.

Opbergmogelijkheden

Bij het plannen van een schema-uitbreiding, vooral voor: interne toepassingen, moet u allereerst weten of de gegevens geschikt zijn om in AD op te slaan. Het is vooral handig om relatief statische (zelden veranderende) gegevens in AD op te slaan die bedrijfsbreed worden gebruikt (over domeingrenzen heen gerepliceerd) en niet vertrouwelijk zijn (het wordt bijvoorbeeld niet aanbevolen om geboortedatums, sofi-kaartnummers, enz. in AD).

Als de gegevens niet aan deze criteria voldoen, maar toch in de LDAP-directory moeten staan, is de tweede optie optimaal. AD Lightweight Directory Services (AD LDS, voorheen ADAM) - zelfstandige versie AD, dat kan functioneren als een service op een server, domeinlid (of domeincontroller - DC), en, net als AD, verzoeken afhandelt die naar LDAP zijn gericht. De noodzaak om AD-domeincontrollers te hosten voor authenticatie en toepassingsondersteuning is geen vervelende beperking, maar de mogelijkheid om strikt te controleren wie de gegevens kan lezen en de richting van gegevensreplicatie door AD LDS-instanties op de juiste locaties te plaatsen.

Primitieven voor gegevensopslag

Twee termen spelen een sleutelrol bij het begrijpen van het AD-schema: klasse en kenmerk. Alle AD-elementen, inclusief schema, zijn gedefinieerd in termen van klassen en attributen. Klassen zijn de soorten gegevens die u wilt opslaan. Gebruiker is bijvoorbeeld een klasse in AD, net als computer. Attributen zijn eigenschappen van klassen. De gebruikersklasse heeft een attribuut voor de voornaam (givenName) en een attribuut voor de achternaam (sn). De klasse "computer" heeft het attribuut " besturingssysteem". Een AD-schema wordt gedefinieerd in termen van twee klassen: classSchema voor klassen en attributeSchema voor attributen.

Naar analogie met een typische database kunt u klassen vergelijken met tabellen in een database en attributen met kolommen in een tabel. Maar houd er rekening mee dat de structuur van de AD Directory Information Tree (DIT)-database eigenlijk heel anders is.

Bij het oplossen van het probleem van het opslaan van gegevens van een nieuw type in AD, moet u nadenken over hoe de gegevens worden toegewezen aan klassen en attributen. In de meeste typische gevallen het is voldoende om een ​​attribuut toe te voegen aan een bestaande klasse (bijvoorbeeld een gebruiker of een groep). Als je gewoon wilt besparen nieuw fragment objectgegevens bestaand type(zoals een gebruiker), probeer eerst de juiste attributen te vinden tussen de attributen die beschikbaar zijn in AD. Het schema bevat duizenden attributen, waarvan de meeste niet betrokken zijn. Daarom, bijvoorbeeld om informatie op te slaan over: postadres gebruiker, kunt u het kenmerk physicalDeliveryOfficeName toepassen.

Het opnieuw toewijzen van een attribuut voor andere doeleinden dan het oorspronkelijke gebruik is een slechte benadering. Stel je voor dat een attribuut opnieuw is toegewezen, en dan wordt een applicatie aangeschaft die dat attribuut voor het oorspronkelijke doel gebruikt. Zal moeten voldoen dubbel werk, aangezien het nodig is om opnieuw te configureren oude applicatie met behulp van het attribuut en verplaats vervolgens de gegevens. Over het algemeen is het altijd veiliger om een ​​aangepast kenmerk toe te voegen.

Maar soms is alleen een klassikale benadering mogelijk. In twee gevallen is het handiger om een ​​nieuwe klasse aan het schema toe te voegen dan om attributen te gebruiken. De eerste is de noodzaak om te volgen nieuw type gegevens in de map. Als u bijvoorbeeld de auto's van een bedrijf in AD wilt volgen, kunt u in het schema een nieuwe autoklasse definiëren. Een ander geval is een-op-veel-toewijzing.

Een perfect voorbeeld hiervan is Microsoft Exchange Server 2010. Elk mobiel apparaat dat u synchroniseert met Exchange via ActiveSync, wordt opgeslagen als een instantie van een speciale objectklasse msExchActiveSyncDevice in de directory. Deze mobiele toestellen opgeslagen als onderliggende objecten van de gebruiker, de eigenaar van het apparaat. Deze structuur biedt een mapping een groot aantal attributen (voor elk apparaat) aan één gebruiker.

Invoergegevens voor schema-extensie

Om een ​​schema-uitbreiding voor te bereiden, moet u een aantal invoergegevens verzamelen. Alleen dan kan een speciaal attribuut of klasse in de ontwikkelomgeving worden geïmplementeerd. Veel inputs moeten wereldwijd uniek zijn, dus het is belangrijk om de nodige voorbereiding te doen. Tegelijkertijd dreigt nalatigheid met gevaarlijke gevolgen.

Selecteer eerst de naam van de klasse of het attribuut. Het belangrijkste deel van de naam is het voorvoegsel. De namen van attributen en klassen in het schema (en in het klantenschema toepassing van derden) moet uniek zijn, dus het toevoegen van een voorvoegsel zorgt ervoor dat er geen conflicten zijn tussen kenmerk-ID's.

Meestal wordt de afgekorte bedrijfsnaam als voorvoegsel gebruikt. Ik gebruik bijvoorbeeld bdcLLC als voorvoegsel voor de kenmerken van ons bedrijf Brian Desmond Consulting LLC. Voor ABC Corporation kan het voorvoegsel abcCorp worden gebruikt. Zorg ervoor dat u voor de uniciteit van het voorvoegsel zorgt, want algemeen register er zijn geen voorvoegsels. Als het bedrijf een typische of afgekorte naam heeft, zoek dan uit hoe u deze uniek kunt maken.

Nadat u de naam hebt gekozen, moet u een Object Identifier (OID) toewijzen aan het attribuut of de klasse. OID's - extra onderdeel die wereldwijd uniek moet zijn. AD (meer in het algemeen, LDAP) is niet het enige raamwerk dat OID's als identificatie gebruikt, dus de Internet Assigned Numbers Authority (IANA) wijst unieke OID-bomen toe op verzoek van bedrijven. Een aanvraag voor een Private Enterprise Number, dat deel uitmaakt van de OID-boom die uniek is voor een bedrijf, wordt in ongeveer 10 minuten gratis afgehandeld. U moet het hebben voordat u begint met het maken van aangepaste schema-extensies. U kunt een Private Enterprise-nummer aanvragen op www.iana.org/cgi-bin/assignments.pl.

Met een Private Enterprise Number kunt u een vrijwel onbeperkt aantal unieke OID's maken en organiseren. De afbeelding toont de OID-boomstructuur voor het privé-ondernemingsnummer van ons bedrijf. OID's worden gebouwd door vertakkingen aan de structuur toe te voegen, dus veel bedrijven beginnen met het maken van een AD Schema-vertakking (1.3.6.1.4.1.35686.1 in de afbeelding) en vervolgens een klassenvertakking en een attribuutvertakking daaronder. Onder elk van deze takken worden OID's toegewezen aan elk nieuw attribuut of elke nieuwe klasse. De afbeelding toont de OID (1.3.6.1.4.1.35686.1.2.1) die is toegewezen aan het aangepaste kenmerk myCorpImportantAttr. Het is erg belangrijk om een ​​intern volgmechanisme op te stellen (bijvoorbeeld spreadsheet Excel- of SharePoint-lijst) om ervoor te zorgen dat OID's uniek zijn.

Tekening. OID-hiërarchie

Microsoft biedt een script dat een OID met een willekeurige waarde kan genereren, maar er is geen garantie dat het uniek zal zijn. De beste manier- vraag een unieke branch in de IANA-organisatie aan en gebruik deze voor schema-uitbreidingen. Het proces is zo eenvoudig dat u het Microsoft OID-generatiescript niet hoeft te gebruiken.

De overige twee invoerparameters zijn specifiek voor attributen en zijn afhankelijk van hun type. Gebonden attributen zijn uitermate handig voor het opslaan van koppelingen tussen objecten in AD. Ze worden opgeslagen als verwijzingen in de AD-database, zodat de koppelingen tijdig worden bijgewerkt om de locatie van het object in het forest weer te geven. Twee typische voorbeelden gerelateerde attributen zijn groepslidmaatschap (lid en memberOf) en relatie manager/medewerker (manager/directReports). De concepten van forward links en backlinks zijn van toepassing op gekoppelde attributen. De voorwaartse link is het bewerkbare deel van de relatie tussen attributen. In het geval van groepslidmaatschap is het lidattribuut voor de groep bijvoorbeeld een voorwaartse link; het memberOf-attribuut voor de gebruiker is de backlink. Wanneer u groepslidmaatschap bewerkt, worden de wijzigingen aangebracht in het lidattribuut (voorwaartse link), niet in het memberOf-attribuut van het lidobject (terugkoppeling).

Om gekoppelde kenmerken in AD te definiëren, moet u twee kenmerken (forward link en backlink) definiëren en aan elk van deze kenmerken een link-ID (linkID) koppelen. Link-ID's moeten uniek zijn binnen het forest en aangezien link-ID's vereist zijn voor andere toepassingen die schema-uitbreidingen vereisen, moeten ze wereldwijd uniek zijn. In het verleden Microsoft gepubliceerde link-ID's voor externe organisaties, maar vanaf Windows Server 2003 verscheen er in plaats daarvan een speciale aanwijzer in AD waarmee u unieke id's voor koppelingen kunt genereren wanneer u een schema aanvult dat is gekoppeld aan een paar kenmerken.

AD gaat ervan uit dat link-ID's opeenvolgende nummers zijn. In het bijzonder is het forward link attribuut een even getal, en het volgende nummer wordt toegewezen aan het backlink attribuut. Voor member en memberOf (groepslidmaatschap) is de link-ID voor member bijvoorbeeld 4 en de link-ID voor memberOf 5. Als het uitgebreide schema compatibel moet zijn met het Windows 2000-forest, moet u static link-ID's definiëren in dezelfde manier. V anders u moet het proces voor het automatisch genereren van koppelings-ID's in Windows Server 2003 gebruiken. Als u het proces voor het automatisch genereren van koppelings-ID's wilt gebruiken, volgt u de onderstaande richtlijnen bij het definiëren van een schema-extensie. Tijdens het uitbreiden van het schema, zoals verderop in het artikel wordt beschreven, zijn de gegeven stappen nodig om de bijbehorende attributen te construeren (als ze deel uitmaken van de extensie).

Bereid eerst de link voor met behulp van de link-ID 1.2.840.113556.1.2.50. Merk op dat hoewel gegeven waarde link-ID een OID is, reserveert Microsoft deze OID-waarde gewoon om de auto-link-ID te genereren.

Laad vervolgens de schemacache opnieuw. Maak daarna een backlink-attribuut met behulp van de link-ID van de forward link-attribuutnaam en laad de schemacache opnieuw.

Het tweede unieke (en ook optionele) attribuutelement is de MAPI-identifier. MAPI-ID's zijn een functie van Exchange Server. Als u geen Exchange heeft of het kenmerk in de Global Address List (GAL) wilt tonen, kunt u deze sectie overslaan. MAPI ID's worden gebruikt om attributen weer te geven op een van de eigenschappenpagina's in adresboek zoals het sjabloon met algemene gebruikersgegevens (zie scherm). Als u bijvoorbeeld de classificatie van werknemers (personeel of contractueel) in de GAL-lijst wilt weergeven, wijst u het juiste kenmerk toe als MAPI-ID. Nadat de MAPI-ID aan het attribuut is toegewezen, kunt u de Exchange Details Templates Editor gebruiken om de attribuutgegevens in te voeren in een GAL-weergave in Office Outlook.

MAPI-ID's moeten uniek zijn, evenals OID's en link-ID's. In het verleden was het niet mogelijk om unieke MAPI identifiers te genereren, dus deze identifiers kwamen altijd terecht zwak punt bij het uitbreiden van het schema. Gelukkig introduceert Windows Server 2008 een manier om automatisch unieke MAPI-ID's in een directory te genereren om het risico op dubbele MAPI-ID's te verkleinen. Als u deze functie wilt gebruiken, stelt u de waarde 1.2.840.113556.1.2.49 in op het MAPI ID-kenmerk wanneer u het kenmerk maakt. AD genereert een unieke MAPI-ID voor het kenmerk nadat de schemacache opnieuw is geladen. Merk op dat hoewel deze waarde een OID is, deze door AD is gereserveerd om het automatisch genereren van MAPI-ID's aan te geven, vergelijkbaar met het automatisch genereren van link-ID's die hierboven is beschreven.

Samenvatten. Er zijn drie kritieke invoerparameters waarmee u rekening moet houden bij het plannen van uw schema-uitbreiding. De eerste is de naam van de klasse of het attribuut; de tweede is een uniek voorvoegsel dat is toegewezen aan alle klassen en attributen; de derde is de OID. Voor het genereren van een OID moet een unieke OID-vestiging worden aangevraagd bij de IANA-organisatie. Als u een gekoppeld paar attributen gaat maken, is een uniek paar link-ID's vereist. Als u het kenmerk in de Exchange GAL wilt weergeven, moet u een unieke MAPI-ID gebruiken. Voor zowel link-ID's als MAPI-ID's verdient het gebruik van een automatisch generatieproces binnen AD de voorkeur boven statische waarden.

Implementatieplanning

Bij de introductie aangepaste extensie schema, of als u een schema uitbreidt met providerkenmerken en klassen, moet u voorbereidende planningsstappen nemen om de integriteit van uw AD-forest te beschermen. De eerste stap is het testen van de schema-extensie.

Gebruik bij het voorbereiden van een aangepaste schema-extensie een tijdelijke ontwikkelomgeving. AD Lightweight Directory Service (AD LDS) is een gratis download voor op het werk Windows-stations XP en Windows 7. Aan werkstation u kunt een AD LDS-instantie maken, een schema-extensie bouwen in geïsoleerde omgeving en exporteer deze extensie vervolgens voor import in het AD-testforest. Het AD LDS-schema is AD-compatibel, dus u kunt LDIFDE gebruiken voor export. U kunt de voltooide schema-extensie importeren in een AD-testforest en vervolgens controleren of de import is gelukt en of kritieke toepassingen niet zijn beschadigd. Voor AD moet u plannen om in een testomgeving te testen of de import is gelukt en of de replicatie correct is.

Als u de schema-extensie in een test-AD-forest wilt testen, moet het schema overeenkomen met het productieforest. In dit geval is het testen voltooid. U kunt het hulpprogramma AD Schema Analyzer (meegeleverd met AD LDS) gebruiken om schemaverschillen tussen twee AD-forests te vinden. Het TechNet-artikel "Exporteren, vergelijken en synchroniseren van Active Directory-schema's" (http://technet.microsoft.com/en-us/magazine/2009.04.schema.aspx) beschrijft hoe u schema-extensies importeert en exporteert en hoe u de AD Schema Analyzer-tool. Houd er rekening mee dat er enkele verschillen kunnen zijn bij het vergelijken van schema's, afhankelijk van servicepacks en Windows-versies, met name bij het indexeren van kenmerken en het opslaan van verwijderingsmarkeringen.

Voor schema-uitbreidingen die zijn verkregen uit andere bronnen (bijvoorbeeld samen met een commerciële toepassing), moet u ervoor zorgen dat de bijbehorende wijzigingen niet riskant zijn. Naast alle hierboven besproken inputs, moet u ook letten op een aantal andere omstandigheden. Hieronder staan ​​de belangrijkste parameters om te controleren:

  • geleverd in een LDIF-bestand (meerdere LDIF-bestanden);
  • juistheid van attribuutvoorvoegsels;
  • geregistreerde OID's;
  • geregistreerde / automatisch gegenereerde link-ID's;
  • automatisch gegenereerde MAPI-ID's.

LDIF-bestanden zijn een industriestandaard: alle schema-extensies moeten in dit formaat worden aangeleverd. Toepassingen mogen een speciaal importmechanisme gebruiken in plaats van LDIFDE voor schema-uitbreidingen. Als de extensie echter in een ander formaat wordt geleverd, ontstaan ​​er twijfels over de juistheid en de betrouwbaarheid van de verkoper. C toont een LDIF-voorbeeld voor het maken van een kenmerk in een AD-schema om informatie over de schoenmaat van een gebruiker op te slaan. Let op de volgende kenmerken van deze voorbeeldschema-uitbreiding.

  • Het kenmerk wordt voorafgegaan door de naam van de leverancier (Brian Desmond Consulting, LLC: bdcllc).
  • De unieke OID voor het attribuut wordt uitgegeven met behulp van het Private Enterprise Number zoals geregistreerd door de leverancier.
  • Het attribuut is geïndexeerd (zoekvlaggen: 1) en is beschikbaar in de globale catalogus (isMemberOfPartialAttributeSet: TRUE).

U moet ook controleren of het attribuut beschikbaar is in de globale catalogus Partial Attribute Set (PAS) en dat de indexen die voor het attribuut zijn gemaakt, correct zijn als het attribuut wordt gebruikt in LDAP-zoekfilters. Het is ook handig om ervoor te zorgen dat de gegevens die zijn opgeslagen in het kenmerk, acceptabel zijn voor AD in de context van de hierboven besproken beperkingen en best practices.

Nadat de schema-uitbreiding is getest en voorbereid voor productie-implementatie, moet de timing geschikt zijn voor deze bewerking. Dit kan meestal tijdens kantooruren. De processorbelasting zal merkbaar toenemen wanneer u de schemawizard uitvoert, en enigszins - op de domeincontrollers die de wijzigingen repliceren. V grote bedrijven replicatie tussen domeincontrollers kan vier tot zes uur worden onderbroken als u attributen toevoegt aan de PAS gedeeltelijke attributenset. Schorsingen gaan gepaard met foutmeldingen die wijzen op problemen met de objecten, maar meestal kunnen ze worden genegeerd en verdwijnen ze vanzelf. Als domeincontrollers lange tijd uit de replicatie zijn gehaald, moet u beginnen met het oplossen van problemen.

Geplande aanpak

Het uitbreiden van het AD-schema is veilig als u enkele basisvoorzorgsmaatregelen neemt. Overweeg bij het plannen van nieuwe schema-uitbreidingen en bij het valideren van aangepaste kenmerken en klassen van externe leveranciers om informatie te identificeren die uniek is voor elke klasse of kenmerk en zorg ervoor dat deze wereldwijd uniek is.

Na controle van de integriteit porteert u de nieuwe extensie naar een representatieve testomgeving en zorgt u ervoor dat de testomgeving correct functioneert en kritische toepassingen... Vervolgens kunt u de schema-extensie importeren in uw productieomgeving.

Lijst. Voorbeeld LDIF-records

Dn: CN = bdcllcShoeSize, CN = Schema, CN = Configuratie, DC = X changetype: add objectClass: top objectClass: attributeSchema cn: sfsuLiveServiceEntitlements attributeID: 1.3.6.1.4.1.35686.100.1.1.2 attributeSyntax: 2.5.5.12 isSingleValued: FALSE showInAdvancedViewOnly: TRUE adminDisplayName: bdcllcShoeSize adminDescription: Slaat de schoenmaat van een gebruiker op oMSyntax: 64 searchFlags: 1 lDAPDisplayName: bdcllcShoeSize name: bdcllcShoeSize schemaIDGUID:: Js + e3rEtt6



Het schema omvat: formele beschrijving inhoud en structuur van de basis Gegevens actief Directory. In het bijzonder worden alle eigenschappen van objecten en hun klassen vermeld. Voor elke klasse van objecten worden alle mogelijke eigenschappen gedefinieerd, Extra opties, evenals welke klasse van objecten de voorouder van de huidige klasse is en kan zijn.

Active Directory installeren, wordt op de eerste domeincontroller een standaardschema gemaakt dat een beschrijving bevat van de meest gebruikte objecten en objecteigenschappen. Daarnaast geeft het diagram een ​​beschrijving van de interne objecten en eigenschappen van Active Directory.

Het schema is uitbreidbaar, dus de systeembeheerder kan nieuwe typen objecten en hun eigenschappen maken, nieuwe eigenschappen toevoegen voor de objecten die al bestaan. Het schema is ingesloten en samen met Active Directory opgeslagen in de globale catalogus. Het wordt automatisch bijgewerkt, zodat een speciaal gemaakte applicatie er zelfstandig nieuwe eigenschappen en klassen aan kan toevoegen.
Uitbreiden standaard schema niet zo makkelijk. Het onjuist wijzigen van het schema kan zowel de server als de volledige directoryservice verstoren. Om dit probleem op te lossen dient men over de nodige ervaring en kennis te beschikken. U moet dus allereerst de naamgevingsregels kennen.

Naamgevingsregels

Elk Actief object Directory heeft een specifieke naam. Om objecten in Active Directory te identificeren worden gebruikt verschillende schema's naamgevingsconventies, namelijk:

Distinguished Names (DN)
Relatieve Distinguished Names (RDN)
-globale unieke identifiers (GUID's);
- Primaire gebruikersnamen (UPN).

Elk Active Directory-object heeft: samengestelde naam... De naam is een identificatie voor het object en bevat voldoende gegevens om het object in de directory te lokaliseren. De DN-naam omvat de naam van het domein dat het object bevat, en vol pad naar hem. De samengestelde gebruikersnaam Andrew Kushnir op het server.com-domein kan er bijvoorbeeld als volgt uitzien:
DC = COM / DC = SERVER / CN = Gebruikers / CK = Andrew Kushnir

Als de volledig gekwalificeerde naam van een object onbekend of gewijzigd is, kunt u het object vinden aan de hand van zijn eigenschappen, waaronder de relatieve DN-naam (onderdeel van de DN-naam). In het vorige voorbeeld zou de relatieve DN-naam voor het Andrew Kushnir-object CK = Andrew Kushnir zijn, en voor het bovenliggende object CN = Usere.

Naast de DN-naam heeft elk Active Directory-object heeft een wereldwijd unieke identificatie (GUID), wat een 128-bits getal is. De identifier verandert niet, zelfs niet nadat het object is verplaatst of hernoemd. Een wereldwijd unieke identifier is uniek in alle domeinen, ook wanneer een object van het ene domein naar het andere wordt verplaatst.
De gemakkelijkste manier om te onthouden is de primaire naam van de gebruiker (UPN). De basisnaam bestaat uit de afgekorte gebruikersnaam plus de DNS-naam van het domein waar het object zich bevindt. De indeling van de primaire naam van de gebruiker is als volgt:

Gebruikersnaam, DNS-domeinachtervoegsel

De primaire gebruikersnaam is bijvoorbeeld Andrew Kushnir op de server. sojabonen zouden eruit kunnen zien als [e-mail beveiligd] De hoofdnaam van de gebruiker is onafhankelijk van de DN-naam van de gebruiker, dus het gebruikersobject kan worden verplaatst of hernoemd zonder dat dit hoeft te worden gewijzigd registratie naam gebruiker in het domein.

Zoals je weet, is niets eeuwig, alles verandert, zeker in een branche als IT. Eenmaal geïmplementeerd, evolueert, breidt en verbetert de infrastructuur voortdurend, en er komt een moment dat u een domeincontroller in uw Active Directory moet invoeren met meer dan latere versie besturingssysteem.

Het lijkt erop - wat is het probleem? Maar, zoals de praktijk laat zien, ontstaan ​​er problemen, grotendeels vanwege het feit dat: systeembeheerders hebben weinig kennis van theorie en zijn eerlijk gezegd in de war dit onderwerp... Daarom is het tijd om erachter te komen wat het is AD-schema en hoe het zich verhoudt tot onze zaak.

AD-schema is een beschrijving van alle catalogusobjecten en hun attributen. In wezen weerspiegelt het diagram: basis structuur directory en is van het grootste belang voor de goede werking ervan.

Nieuwere versies van het besturingssysteem bevatten nieuwe objecten en attributen, dus we moeten het schema bijwerken zodat ze correct kunnen functioneren als domeincontrollers.

Het lijkt begrijpelijk, maar niet helemaal, dus laten we verder gaan met veelvoorkomende fouten en misvattingen.

  • Een schema-update is vereist om pc's met nieuwere versies van Windows in het domein op te nemen. Zelfs niet de meest recente Windows-versies kan vrij goed draaien in een domein op Windows 2000-niveau zonder het schema bij te werken. Hoewel, als u het schema bijwerkt, er niets ergs zal gebeuren.
  • Als u lid wilt worden van een domeincontroller met een nieuwer besturingssysteem, moet u het domeinfunctionaliteitsniveau (forest) verhogen. Dit is ook niet het geval, maar in tegenstelling tot het vorige geval is deze operatie voldoende onmogelijk te gebruiken domeincontrollers waarop het besturingssysteem lager is dan de bedrijfsmodus. Daarom moet u bij een fout uw AD-structuur herstellen vanaf een back-up.

We zullen uw aandacht ook richten op het forest- en domeinfunctionaliteitsniveau. Domeinen die in het forest zijn opgenomen, kunnen: verschillende modi werk, bijvoorbeeld een van de domeinen kan werken in Windows-modus 2008 en de rest in de modus Windows 2003. Het functionele forest-diagram kan niet hoger zijn dan het functionele diagram van het oudste domein. In ons voorbeeld kan het forest-functionaliteitsniveau niet hoger zijn dan Windows 2003.

Het lagere forest-functionaliteitsniveau weerhoudt u er echter niet van om het hogere domeinfunctionaliteitsniveau op enigerlei wijze te gebruiken; het enige dat hiervoor nodig is, is het bijwerken van het schema.

Nadat we ons vertrouwd hebben gemaakt met de theorie, gaan we verder met: praktijkvoorbeeld... Laten we zeggen dat we een domein met Windows 2000-niveau hebben (gemengde modus) - het meest laag niveau AD - waarin een controller is voor Windows-besturing 2003, en ons doel is om nieuwe controller in plaats van de mislukte.

De nieuwe server draait Windows 2008 R2. Merk op dat we geen problemen hadden bij het inschakelen deze server naar een bestaand domein.

In ons geval staan ​​alle rollen op dezelfde controller, dus kopieer de map \ ondersteuning \ adprep op de HDD(in ons geval naar de root van de C :)-schijf en ga verder met het bijwerken van het forest-schema. Om de bewerking met succes te voltooien, moet uw account lid zijn van de groepen:

  • Schemabeheerders
  • Bedrijfsbeheerders
  • Beheerders van het domein waarin de schemamaster zich bevindt

Voer de opdracht uit om het forest-schema bij te werken:

C: \ adprep \ adprep / forestprep

Lees de standaardwaarschuwing en ga verder door te klikken op C, dan Binnenkomen.

Het schema-updateproces begint. Zoals u kunt zien, verandert de versie van 30 (Windows 2003) in 47 (Windows 2008 R2).

Na het upgraden van het forest-schema, moet u het domeinschema upgraden. Voordat u dit doet, moet u ervoor zorgen dat het domein ten minste in de Windows 2000-modus (native modus) draait. Zoals u zich herinnert, werkt ons domein in gemengde modus, dus we moeten het domeinfunctionaliteitsniveau wijzigen in het hoofdniveau of het verhogen naar Windows 2003. Aangezien we geen controllers hebben waarop Windows 2000 in dit domein draait, zou het het meest redelijk zijn om verhoog de domeinmodus.

Om het domeinschema met succes bij te werken, moet deze bewerking worden uitgevoerd op: Eigenaar infrastructuur en de rechten hebben Domeinbeheerder... We voeren het commando uit:

C: \ adprep \ adprep / domeinprep

En we lezen aandachtig de weergegeven informatie. Bij het upgraden van het domeinschema vanaf een Windows 2000- of Windows 2003-niveau, moet u een machtigingswijziging uitvoeren bestandssysteem voor groepsbeleid... Deze bewerking wordt eenmalig en in de toekomst uitgevoerd, bijvoorbeeld bij het bijwerken van het schema van 2008 naar 2008 R2, moet deze worden uitgevoerd. Voer de volgende opdracht in om de machtigingen van groepsbeleidsobjecten bij te werken:

C: \ adprep \ adprep / domainprep / gpprep

In versies van AD die met Windows 2008 beginnen, is er een nieuw type domeincontroller: alleen-lezen domeincontroller (RODC). Als u van plan bent een dergelijke controller te implementeren, moet u het schema voorbereiden. Over het algemeen raden we aan om: deze operatie ongeacht of u in de nabije toekomst een RODC gaat installeren of niet.

Deze bewerking kan op elke domeincontroller worden uitgevoerd, maar u moet wel lid zijn van de groep Bedrijfsbeheerders en Meester benoemen en Master infra beschikbaar moeten zijn.

C: \ adprep \ adprep / rodcprep

Zoals u kunt zien, veroorzaakt het bijwerken van het domeinschema, indien correct gepland, geen problemen, maar u moet in elk geval onthouden dat dit een onomkeerbare operatie is en dat u de nodige back-ups bij de hand hebt.