Het Active Directory-schema bijwerken. Uitbreiding van het Active Directory-schema

Zoals u weet, duurt niets eeuwig; alles verandert, vooral in een branche als de IT. Eenmaal geïmplementeerd, evolueert, breidt en verbetert de infrastructuur voortdurend, en het moment komt waarop uw Actieve map vereist om een ​​domeincontroller in te voeren die wordt beheerd door meer dan latere versie besturingssysteem.

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

AD-circuit wordt een beschrijving van alle directoryobjecten en hun attributen genoemd. In wezen weerspiegelt het diagram basis structuur directory en is van het allergrootste belang voor de goede werking ervan.

Nieuwe versies van het besturingssysteem bevatten nieuwe objecten en attributen, dus om goed te kunnen functioneren als domeincontrollers moeten we het schema bijwerken.

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

  • Het bijwerken van het schema is noodzakelijk om pc's met nieuwere versies van Windows in het domein op te nemen. Dit is niet waar, zelfs niet in de meeste gevallen nieuwste versies Windows kan behoorlijk succesvol werken in een domein Windows-niveau 2000 zonder schema-update. Hoewel, als u het schema bijwerkt, er niets ergs zal gebeuren.
  • Als u een controller met een nieuwer besturingssysteem in een domein wilt opnemen, moet u het domein (forest) upgraden. Dit is ook niet waar, maar in tegenstelling tot het vorige geval maakt deze operatie het onmogelijk om domeincontrollers te gebruiken met een besturingssysteem dat lager is dan de bedrijfsmodus. Daarom moet u in geval van een fout uw AD-structuur herstellen vanaf een back-up.

We zullen ook uw aandacht vestigen op de werkingsmodus van het bos en domein. Domeinen die in het forest zijn opgenomen, kunnen dit hebben verschillende modi werken, bijvoorbeeld waarin een van de domeinen kan werken Windows-modus 2008 en de rest in de modus Windows 2003. Het forest-besturingsschema kan niet hoger zijn dan het besturingsschema van het oudste domein. In ons voorbeeld kan de forest-bedrijfsmodus niet hoger zijn dan Windows 2003.

Tegelijkertijd verhindert de lagere exploitatiemodus van het bos op geen enkele manier het gebruik van meer hoge modus Als u in het domein werkt, hoeft u alleen maar het schema bij te werken.

Nadat we ons vertrouwd hebben gemaakt met de theorie, gaan we verder praktisch voorbeeld. Laten we zeggen dat we een domein op Windows 2000-niveau hebben (gemengde modus), het meest laag niveau AD - waar een controller onder zit Windows-besturing 2003, en ons doel is om een ​​nieuwe controller te maken ter vervanging van de defecte.

De nieuwe server draait op Windows 2008 R2. Houd er rekening mee dat we geen problemen ondervonden bij het inschakelen van deze server naar een bestaand domein.

Wanneer we echter proberen een nieuwe domeincontroller toe te voegen, krijgen we een foutmelding:

Om een ​​controller met een nieuwere besturingssysteemversie succesvol in te schakelen, moeten we het forest-schema en het domeinschema bijwerken. De uitzondering is Windows-server 2012, waarmee het schema automatisch wordt bijgewerkt wanneer een nieuwe domeincontroller wordt toegevoegd.

Om het schema bij te werken, gebruikt u het Adprep-hulpprogramma, dat zich in de map bevindt \ondersteuning\adprep op installatie schijf Windows-server. Vanaf Windows Server 2008 R2 is dit hulpprogramma standaard 64-bits; als u de 32-bits versie moet gebruiken, moet u dit uitvoeren adprep32.exe.

Een update van het forestschema uitvoeren dit hulpprogramma moet worden gelanceerd De eigenaar van het schema en om het domeinschema bij te werken naar Eigenaar van de infrastructuur. Om erachter te komen welke controllers de FSMO-rollen hebben die we nodig hebben, gebruikt u de opdracht:

Netdom-query FSMO

In Windows 2008 en nieuwer wordt dit hulpprogramma standaard geïnstalleerd, en in Windows 2003 moet het worden geïnstalleerd vanaf de schijf in de directory \ondersteuning\tools

De uitvoer van deze opdracht zal een lijst van allemaal zijn FSMO-rollen en controllers met deze rollen:

In ons geval staan ​​alle rollen op dezelfde controller, dus kopiëren we de map \ondersteuning\adprep op HDD(in ons geval naar de root van station C:) en ga verder met het bijwerken van het forest-schema. Om de bewerking succesvol te voltooien, moet uw account in de volgende groepen zijn opgenomen:

  • Schemabeheerders
  • Enterprise-beheerders
  • Beheerders van het domein waarin de schema-eigenaar zich bevindt

Voer de opdracht uit om het forestschema bij te werken:

C:\adprep\adprep /forestprep

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

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

Nadat u het forestschema hebt bijgewerkt, moet u het domeinschema bijwerken. Voordat u dit doet, moet u ervoor zorgen dat het domein ten minste in de Windows 2000-modus (native modus) draait. Zoals we ons herinneren, werkt ons domein in gemengde modus, dus we moeten de domeinmodus wijzigen in primair of upgraden naar Windows 2003. Aangezien we in dit domein geen controllers hebben met Windows 2000, zou het het meest redelijk zijn om het domein te upgraden modus.

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

C:\adprep\adprep /domeinprep

En lees aandachtig de weergegeven informatie. Wanneer u een domeinschema upgradet vanuit Windows 2000 of Windows 2003, moet u de machtigingen wijzigen bestandssysteem Voor groepsbeleid. Deze bewerking wordt eenmalig en in de toekomst uitgevoerd, bijvoorbeeld door het schema bij te werken van het niveau van 2008 naar 2008 R2. Om GPO-machtigingen bij te werken, voert u de opdracht in:

C:\adprep\adprep /domainprep /gpprep

In AD-versies vanaf Windows verschenen 2008 nieuw type Domeincontrollers: Alleen-lezen domeincontroller (RODC), als u van plan bent een dergelijke controller in te zetten, moet u een schema opstellen. Over het algemeen raden we aan om dit te doen deze operatie ongeacht of u RODC in de nabije toekomst gaat installeren of niet.

Deze bewerking kan op elke domeincontroller worden uitgevoerd, maar u moet lid zijn van de Enterprise-beheerders En Meester in het benoemen En Meester van de infrastructuur moet beschikbaar zijn.

C:\adprep\adprep /rodcprep

Zoals u kunt zien, veroorzaakt het bijwerken van het domeinschema, mits goed gepland, geen problemen. Houd er echter rekening mee dat dit een onomkeerbare handeling is en dat u de benodigde back-upkopieën bij de hand hebt.
Bron http://interface31.ru/tech_it/2013/05/obnovlenie-shemy-active-directory.html

Het belang van het "Active Directory Schema" voor netwerken die zijn gebouwd op basis van een Active Directory-domeinomgeving is moeilijk te onderschatten. Dit is de basis van AD-technologie en het is erg belangrijk om de principes van de werking ervan correct te begrijpen. Meerderheid systeembeheerders ze besteden niet de nodige aandacht aan de regeling omdat ze er vrij zelden mee te maken krijgen. In dit artikel zal ik je vertellen wat een circuitversie is, waarom we deze moeten weten en, belangrijker nog, hoe je deze kunt bekijken huidige versie. Allereerst een paar woorden over het schema zelf; elk object dat in Active Directory wordt gemaakt, of het nu een gebruiker of een computer is, heeft bepaalde parameters die attributen worden genoemd. Het meest eenvoudig voorbeeld kan dienen als het attribuut “Achternaam” van het gebruikersobject. Het schema bepaalt welke objecten we in Active Directory kunnen maken en welke attributen deze zullen hebben. Active Directory maakt het gebruik binnen één organisatie mogelijk van meerdere domeincontrollers die op basis daarvan zijn gebouwd verschillende versies Windows-besturingssysteem. Namelijk - aan Windows-gebaseerd Server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008. Aangezien deze versies in verschillende jaren zijn uitgebracht en elke een nieuwe versie heeft meer functionaliteit dan het vorige; elk besturingssysteem heeft zijn eigen begrip van het schema. Wanneer u daarom een ​​nieuwe op Windows Server 2008 gebaseerde controller toevoegt aan een organisatie waar bestaande regelaars gebouwd op Windows Server 2003, moest je de “ Adprep“. U hebt dus het diagram van uw organisatie bijgewerkt naar het niveau waarop het werkt WindowsServer 2008.

Het schema-updateproces werd vóór de eerste installatie uitgevoerd Windows-controller Server 2008 en de daadwerkelijke procedure voor het installeren van een nieuwe controller zijn mogelijk niet uitgevoerd. Als u net begint te werken met een Active Directory-organisatie en niet weet welke activiteiten zijn uitgevoerd voordat u arriveerde, moet u, om de volledigheid van de structuur te begrijpen, weten op welk niveau het Schema van de huidige organisatie opereert.

Post-sponsor

Alle nieuwe releases, de beste films van de afgelopen jaren. Beste favoriete films op 5ic.ru

Mogelijke versies van het circuit:

13 - Windows 2000-server
30 - Windows Server 2003 RTM, Windows 2003 met Servicepakket 1, Windows 2003 met Servicepack 2
31 - Windows Server 2003 R2
44 - Windows Server 2008 RTM

Zelfs als alle controllers in uw organisatie op Windows Server 2003 R2 draaien en de circuitversie “44” aangeeft, hoeft u niet verbaasd te zijn; dit geeft aan dat het circuit al is bijgewerkt naar het Windows Server 2008 RTM-niveau, maar dat de controller zelf om de een of andere reden was er geen reden om het te installeren.

Er zijn verschillende manieren om de schemaversie te bekijken. De eenvoudigste methode is het gebruik van het hulpprogramma DSQuery. Om dit te doen, voert u op de opdrachtregel een opdracht in met de volgende parameters:

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

Uiteraard in het onderdeel “ gelijkstroom= domeinnaam gelijkstroom= lokaal" u moet uw eigen domeinnaam vervangen. (Voorbeeld: gelijkstroom= Microsoft, gelijkstroom= com )

Het resultaat van het invoeren van de opdracht is het verkrijgen van het attribuut “ Objectversie“, wat het versienummer van het circuit zal zijn:

Rijst. 1 De schemaversie verkrijgen via het hulpprogramma DSQuery.

De tweede methode is langer en omvat het gebruik van de “ ADSIBewerken. msc. Om de schemaversie te bekijken, moet u verbinding maken met de Active Directory-schemapartitie.

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

En zoek de waarde van het attribuut “ objectVersie“.

Fig. 2 De schemaversie verkrijgen via de “ ADSIBewerken. msc“.

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

Opgemerkt moet worden dat schema-updates kunnen worden uitgevoerd door software die nauw is geïntegreerd met Active Directory. Meest lichtend voorbeeld Microsoft Exchange-server. En vaak ook in een organisatieplanning Implementatie van uitwisseling Server, moet u weten of het schema is opgesteld? En zo ja, welke versie van Exchange Server. Op dit moment Er zijn drie versies van Exchange die werken met Active Directory, maar er zijn zes opties om het schema te wijzigen.

U kunt begrijpen of het Active Directory Exchange Schema door de server is gewijzigd door het attribuut “ bereikBoven", waarvoor het volgende nodig is waarden:

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

Zoals u kunt zien, vindt de schema-update ook plaats bij het installeren van de SP3-updateset voor Exchange Server 2000/2003 en SP1 voor Exchange 2007.

Kenmerkwaarde bekijken " bereikBoven" 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 verkrijgen " bereikBoven" via het DSQuery-hulpprogramma.

Als na het invoeren van deze opdracht een antwoord wordt geretourneerd dat de afwezigheid van het attribuut " bereikBoven" we kunnen concluderen dat de regeling niet is gewijzigd.

Het schema-updateproces is erg belangrijk punt voor elk Actieve organisaties Directory, daarom moet u onnodige, ongerechtvaardigde acties vermijden. De essentie van de attributen begrijpen “ objectVersie" En « bereikBoven" geeft een specialist een voorsprong bij het werken met Active Directory in een onbekende organisatie, en is tevens een hulpmiddel bij het oplossen van problemen.

Het belang van het "Active Directory Schema" voor netwerken die zijn gebouwd op basis van een Active Directory-domeinomgeving is moeilijk te onderschatten. Dit is de basis van AD-technologie en het is erg belangrijk om de principes van de werking ervan correct te begrijpen. De meeste systeembeheerders besteden niet de nodige aandacht aan het schema, omdat ze er zelden mee te maken krijgen. In dit artikel zal ik je vertellen wat een schemaversie is, waarom we deze moeten weten en, belangrijker nog, hoe je de huidige versie kunt bekijken. Allereerst een paar woorden over het schema zelf; elk object dat in Active Directory wordt gemaakt, of het nu een gebruiker of een computer is, heeft bepaalde parameters die attributen worden genoemd. Het eenvoudigste voorbeeld is het attribuut “Achternaam” van het gebruikersobject. Het schema definieert welke objecten we in Active Directory kunnen maken en welke kenmerken ze zullen hebben.

Active Directory maakt het gebruik binnen één organisatie mogelijk van meerdere domeincontrollers die zijn gebouwd op verschillende versies van Windows OS. Namelijk gebaseerd op Windows Server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008. Omdat deze versies in verschillende jaren zijn uitgebracht en elke nieuwe versie meer functionaliteit heeft dan de vorige, heeft elk besturingssysteem zijn eigen begrip van het schema. Wanneer u daarom een ​​nieuwe op Windows Server 2008 gebaseerde controller toevoegde aan een organisatie waar bestaande controllers op Windows Server 2003 waren gebouwd, moest u de opdracht " Adprep" U hebt dus het diagram van uw organisatie bijgewerkt naar het niveau waarop het werkt WindowsServer 2008.

Het proces voor het bijwerken van het schema werd uitgevoerd voordat de eerste Windows Server 2008-controller werd geïnstalleerd, en de daadwerkelijke procedure voor het installeren van een nieuwe controller is mogelijk niet uitgevoerd. Als u net begint te werken met een Active Directory-organisatie en niet weet welke activiteiten zijn uitgevoerd voordat u arriveerde, moet u, om de volledigheid van de structuur te begrijpen, weten op welk niveau het Schema van de huidige organisatie opereert.

Mogelijke versies van het circuit:

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 op Windows Server 2003 R2 draaien en de circuitversie “44” aangeeft, hoeft u niet verbaasd te zijn; dit geeft aan dat het circuit al is bijgewerkt naar het Windows Server 2008 RTM-niveau, maar dat de controller zelf om de een of andere reden was er geen reden om het te installeren.

Er zijn verschillende manieren om de schemaversie te bekijken. De eenvoudigste methode is het gebruik van het hulpprogramma DSQuery. Om dit te doen, voert u op de opdrachtregel een opdracht in met de volgende parameters:

“dsquery * cn=schema,cn=configuratie,dc=domeinnaam,dc=local -scope base -attr objectVersion”

Uiteraard in het onderdeel “ gelijkstroom= domeinnaam gelijkstroom= lokaal" u moet uw eigen domeinnaam vervangen. (Voorbeeld: gelijkstroom= Microsoft, gelijkstroom= com )

Het resultaat van het invoeren van de opdracht is het verkrijgen van het attribuut " Objectversie", wat het versienummer van het schema zal zijn:

Rijst. 1 De schemaversie verkrijgen via het hulpprogramma DSQuery.

De tweede methode is langer en omvat het gebruik van de “ ADSIBewerken. msc» . Om de schemaversie te bekijken, moet u verbinding maken met de Active Directory-schemapartitie.

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

En vind de waarde van het attribuut " objectVersie".

Fig. 2 De schemaversie ophalen via de module " ADSIBewerken. msc».

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

Opgemerkt moet worden dat schema-updates kunnen worden uitgevoerd door software die nauw is geïntegreerd met Active Directory. De helderste Microsoft-voorbeeld Exchange-server. En vaak is het in een organisatie die Exchange Server wil implementeren nodig om uit te zoeken of het schema is opgesteld? En zo ja, welke versie van Exchange Server. Er zijn momenteel drie versies van Exchange die met Active Directory werken, maar er zijn zes opties om het schema aan te passen.

Om te begrijpen of er een wijziging heeft plaatsgevonden
Het Active Directory-schema van de Exchange-server kunt u vinden met behulp van het attribuut " bereikBoven", waarvoor het volgende nodig is waarden:

4397 – Exchange Server 2000 RTM
4406 – Exchange Server 2000 met Servicepack 3
6870 – Exchange Server 2003 RTM
6936 – Exchange Server 2003 met Servicepack 3
10628 – Exchange-server 2007
11116 – Exchange 2007 met Servicepack 1

Zoals u kunt zien, vindt de schema-update ook plaats bij het installeren van de SP3-updateset voor Exchange Server 2000/2003 en SP1 voor Exchange 2007.

Kenmerkwaarde bekijken " bereikBoven" 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 verkrijgen " bereikBoven" via het DSQuery-hulpprogramma.

Als na het invoeren van deze opdracht een antwoord wordt geretourneerd dat de afwezigheid van het attribuut " bereikBoven" we kunnen concluderen dat de regeling niet is gewijzigd.

Het proces van het bijwerken van het schema is een zeer belangrijk moment voor elke Active Directory-organisatie, dus onnodige, ongerechtvaardigde acties moeten worden vermeden. De essentie van attributen begrijpen " objectVersie" En« bereikBoven" geeft een specialist een voorsprong bij het werken met Active Directory in een onbekende organisatie, en is tevens een hulpmiddel bij het oplossen van problemen.

04/07/2011Brian Desmond

Historisch gezien zijn Active Directory (AD)-beheerders en IT-managers doorgaans huiverig voor het uitbreiden van het AD-schema. Een groot deel van de angst komt voort uit de documentatie van Microsoft. Windows-tijden 2000, waarin de schema-extensie wordt weergegeven als complexe operatie die uiterste voorzichtigheid vereisen. Met een redelijke planning is het uitbreiden van het plan echter volledig risicovrij

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

Normaal gesproken wordt het AD-schema om verschillende redenen uitgebreid. De meest voorkomende daarvan in veel organisaties is de implementatie van een applicatie waarvoor uitbreiding van het schema vereist is. Een goed voorbeeld - Microsoft Exchange. Soms leveranciers software vereisen dat het schema wordt uitgebreid om compatibel te zijn met hun toepassingen. Voor toepassingen wordt de regeling vaak uitgebreid eigen ontwikkeling of voor het gemak van het opslaan van bedrijfsgegevens in AD.

Opbergmogelijkheden

Bij het plannen om de regeling uit te breiden, vooral voor interne toepassingen Allereerst moet je uitzoeken of de gegevens geschikt zijn voor opslag in AD. Het is vooral handig om in AD relatief statische (nauwelijks veranderende) gegevens op te slaan die door het hele bedrijf worden gebruikt (gerepliceerd over domeingrenzen heen) en zijn niet vertrouwelijk (het wordt bijvoorbeeld niet aanbevolen om geboortedata en kaartnummers in AD op te slaan sociale zekerheid enz.).

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

Primitieven voor gegevensopslag

Twee termen zijn essentieel voor het begrijpen van het AD-schema: klasse en attribuut. Alle elementen van AD, inclusief het schema, worden gedefinieerd in termen van klassen en attributen. Klassen zijn de soorten gegevens die moeten worden opgeslagen. Gebruiker is bijvoorbeeld een klasse in AD, net als computer. Attributen zijn eigenschappen van klassen. De gebruikersklasse heeft een voornaamattribuut (givenName) en een achternaamattribuut (sn). De klasse "computer" heeft een attribuut "besturingssysteem". Het AD-schema wordt gedefinieerd in termen van twee klassen: classSchema voor klassen en attributeSchema voor attributen.

Om een ​​analogie met een typische database te gebruiken, kunt u klassen vergelijken met tabellen in een database, en attributen met kolommen binnen een tabel. Maar houd er rekening mee dat de databasestructuur van de AD Directory Information Tree (DIT) eigenlijk heel anders is.

Bij het oplossen van het probleem van het opslaan van een nieuw type gegevens in AD, moet u nadenken over het toewijzen van de gegevens aan klassen en attributen. In de meeste typische gevallen Het volstaat om een ​​attribuut toe te voegen aan een bestaande klasse (bijvoorbeeld gebruiker of groep). Als u gewoon een nieuw stukje gegevens over een object wilt opslaan bestaande soort(zoals een gebruiker), probeer dan eerst geschikte attributen te vinden tussen de attributen die beschikbaar zijn in AD. Het schema bevat duizenden attributen, waarvan de meeste niet worden gebruikt. Daarom bijvoorbeeld om informatie over op te slaan postadres gebruiker, kunt u het kenmerk PhysicalDeliveryOfficeName toepassen.

Het hergebruiken van een attribuut voor andere doeleinden dan het oorspronkelijke gebruik is een slechte aanpak. Stel je voor dat een attribuut opnieuw is toegewezen en dat er vervolgens een applicatie wordt aangeschaft die dat attribuut voor zijn oorspronkelijke doel gebruikt. We zullen het moeten doen dubbel werk, omdat u de oude toepassing die het kenmerk gebruikt, moet migreren en vervolgens de gegevens moet verplaatsen. Over het algemeen is het altijd veiliger om een ​​speciaal attribuut toe te voegen.

Maar soms is alleen een klassengerichte aanpak mogelijk. In twee gevallen is het handiger om iets aan het diagram toe te voegen nieuwe klasse in plaats van attributen te gebruiken. De eerste hiervan is de noodzaak om het nieuwe gegevenstype in de catalogus bij te houden. Als u bijvoorbeeld bedrijfsauto's in AD wilt volgen, kunt u in het schema een nieuwe klasse 'auto' definiëren. Een ander geval is een één-op-veel-toewijzing.

Een ideaal voorbeeld is Microsoft Exchange Server 2010. Elk mobiel apparaat dat met Exchange is gesynchroniseerd met behulp van ActiveSync wordt opgeslagen als een exemplaar van een speciale msExchActiveSyncDevice-objectklasse in de map. Deze mobiele toestellen worden opgeslagen als onderliggende objecten van de gebruiker, de eigenaar van het apparaat. Deze structuur biedt een vergelijking groot nummer attributen (voor elk apparaat) aan één gebruiker.

Voer gegevens in voor schema-extensie

Om een ​​schema-uitbreiding voor te bereiden, moet u een aantal invoergegevens verzamelen. Alleen dan kan het speciale attribuut of de klasse in de ontwikkelomgeving worden geïmplementeerd. Veel input moet globaal uniek zijn, dus het is belangrijk om dat te doen noodzakelijke voorbereiding. Nalatigheid kan in dit geval tot gevaarlijke gevolgen leiden.

Selecteer eerst de naam van de klasse of het attribuut. Het belangrijkste onderdeel van een naam is het voorvoegsel. Kenmerk- en klassenamen in het schema (en in het kopersschema toepassing van derden) moet uniek zijn, dus het toevoegen van een voorvoegsel zorgt ervoor dat er geen conflicten zijn tussen attribuut-ID's.

Meestal wordt de afgekorte bedrijfsnaam als voorvoegsel gebruikt. Ik gebruik bijvoorbeeld bdcLLC als voorvoegsel voor onze bedrijfskenmerken, Brian Desmond Consulting LLC. Voor ABC Corporation kunt u het voorvoegsel abcCorp gebruiken. Zorg ervoor dat het voorvoegsel uniek is, aangezien er geen algemeen register van voorvoegsels bestaat. Als uw bedrijf een generieke of afgekorte naam heeft, bedenk dan hoe u er een unieke draai aan kunt geven.

Zodra een naam is gekozen, moet u een Object Identifier (OID) aan het attribuut of de klasse toewijzen. OID's - extra onderdeel, die wereldwijd uniek moet zijn. AD (meer in het algemeen LDAP) is dus niet het enige raamwerk dat OID als identificatie gebruikt Internet organisatie De Assigned Numbers Authority (IANA) wijst unieke OID-bomen toe op basis van bedrijfsverzoeken. Een aanvraag voor een Particulier Ondernemingsnummer, onderdeel van de OID-boom die uniek is voor een bedrijf, wordt in circa 10 minuten kosteloos afgehandeld. U moet deze verkrijgen voordat u kunt beginnen met het maken van aangepaste schema-extensies. U kunt een Private Enterprise Number aanvragen op de website www.iana.org/cgi-bin/assignments.pl.

Zodra u een Particulier Ondernemingsnummer heeft, kunt u een vrijwel onbeperkt aantal unieke OID's aanmaken en organiseren. De afbeelding toont de structuur van de OID-boom voor het privé-ondernemingsnummer van ons bedrijf. OID's worden gebouwd door vertakkingen aan een boom 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 bouwen vervolgens een klassenvertakking en een attribuutvertakking daaronder. Onder elk van deze takken worden OID's toegewezen aan elk nieuw attribuut of nieuwe klasse. De afbeelding toont de OID (1.3.6.1.4.1.35686.1.2.1) die is toegewezen aan het gebruikersattribuut myCorpImportantAttr. Het is erg belangrijk om een ​​intern volgmechanisme voor te bereiden (bijvoorbeeld elektronisch Excel spreadsheet of SharePoint-lijst), waardoor het unieke karakter van OID's wordt gewaarborgd.

Tekening. Hiërarchie van OID's

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

De overige twee invoerparameter zijn specifiek voor attributen en afhankelijk van hun type. Er worden uiterst nuttige linkkenmerken gebruikt om links tussen objecten in AD op te slaan. Ze worden opgeslagen als verwijzingen in de AD-database, zodat koppelingen onmiddellijk worden bijgewerkt op basis van de locatie van het object in het bos. Twee typisch voorbeeld gerelateerde kenmerken - groepslidmaatschap (member en memberOf) en manager/werknemerrelatie (manager/directReports). De concepten van voorwaartse links en teruglinks zijn van toepassing op gekoppelde attributen. Een voorwaartse link is een bewerkbaar onderdeel 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 een backlink. Bij het bewerken van een groepslidmaatschap worden wijzigingen aangebracht in het member-attribuut (voorwaartse link) in plaats van in het memberOf-attribuut van het member-object (teruglink).

Om gekoppelde attributen in AD te definiëren, moet u twee attributen definiëren (een forward link en een backlink) en een link-ID (linkID) aan elk van deze attributen koppelen. Link-ID's moeten uniek zijn binnen het forest, en omdat link-ID's ook nodig zijn voor andere toepassingen waarvoor een schema-uitbreiding vereist is, moeten ze globaal uniek worden gemaakt. In het verleden Microsoft-bedrijf gepubliceerde link-ID's voor organisaties van derden, maar vanaf Windows Server 2003 introduceerde AD in plaats daarvan een speciale aanwijzer waarmee u unieke link-ID's kunt genereren wanneer u een schema toevoegt dat is gekoppeld door een paar attributen.

AD gaat ervan uit dat link-ID's opeenvolgende nummers zijn. Concreet is het forward link-attribuut een even getal, en het nummer dat erop volgt wordt toegewezen aan het attribuut backlink. 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 statische link-ID's definiëren op de manier beschreven. Anders moet u het automatische proces voor het genereren van link-ID's gebruiken dat in Windows Server 2003 is geïmplementeerd automatisch proces Volg bij het maken van link-ID's de onderstaande richtlijnen bij het definiëren van een schema-extensie. Tijdens het schema-uitbreidingsproces, zoals verderop in het artikel beschreven, zijn de volgende stappen nodig om de bijbehorende kenmerken te construeren (als deze deel uitmaken van de extensie).

Bereid eerst een voorwaartse link voor met behulp van link-ID 1.2.840.113556.1.2.50. Houd er rekening mee dat hoewel gegeven waarde Link-ID is een OID. Microsoft reserveert eenvoudigweg deze OID-waarde om de Auto Link-ID te maken.

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

Het tweede unieke (en tevens optionele) attribuutelement is de MAPI-identifier. MAPI-ID's zijn een functie van Exchange Server. Als u geen Exchange heeft of het attribuut in de Global Address List (GAL) moet weergeven, 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 Algemene gebruikersgegevens (zie scherm). Als u bijvoorbeeld de werknemersclassificatie (fulltime werknemer of contractmedewerker) in de algemene adreslijst wilt weergeven, wijst u het juiste attribuut toe als MAPI-ID. Nadat een MAPI-ID aan een attribuut is toegewezen, kunt u de Exchange Details Templates Editor gebruiken om de attribuutgegevens in te voeren in een weergave in de GAL in Office Outlook.

MAPI-ID's moeten uniek zijn, net als OID's en referentie-ID's. In het verleden was het niet mogelijk om unieke MAPI-ID's te genereren, dus deze ID's waren dat altijd zwak punt bij het uitbreiden van de regeling. Gelukkig heeft Windows Server 2008 een manier geïntroduceerd om automatisch unieke MAPI-ID's in een map te genereren om het risico op dubbele MAPI-ID's te verminderen. Als u deze functie wilt gebruiken, wijst u bij het maken van het kenmerk de waarde 1.2.840.113556.1.2.49 toe aan het MAPI ID-kenmerk. AD genereert een unieke MAPI-ID voor het kenmerk nadat de schemacache opnieuw is geladen. Houd er rekening mee dat, hoewel deze waarde een OID is, deze in AD is gereserveerd om het automatisch genereren van MAPI-ID's aan te geven, vergelijkbaar met het automatisch genereren van link-ID's zoals hierboven beschreven.

Samenvatten. Bij het plannen van een circuituitbreiding zijn er drie kritische ingangsparameters waarmee rekening moet worden gehouden. De eerste is de naam van de klasse of het attribuut; de tweede is een uniek voorvoegsel dat aan alle klassen en attributen is toegewezen; de derde is OID. Om een ​​OID te genereren, moet u een unieke OID-tak aanvragen bij de IANA-organisatie. Als er een gekoppeld attribuutpaar moet worden aangemaakt, is een uniek link-ID-paar vereist. Als u het kenmerk in de Exchange GAL-lijst 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 het gebruik van statische waarden.

Implementatieplanning

Wanneer u een aangepaste schema-extensie implementeert of een schema uitbreidt met providerkenmerken en -klassen, moet u voorbereidende planningsstappen ondernemen om de integriteit van uw AD-forest te beschermen. De eerste stap is het controleren van de schema-extensie.

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

Als u een schema-extensie test in een AD-testforest, moet het schema overeenkomen met het productieforest. In dit geval is het testen voltooid. U kunt het hulpprogramma AD Schema Analyzer (onderdeel van AD LDS) gebruiken om schemaverschillen tussen twee AD-forests te detecteren. In het artikel "Export, Compare, and Synchronize Active Directory Schemas" op TechNet (http://technet.microsoft.com/en-us/magazine/2009.04.schema.aspx) wordt beschreven hoe u schema-extensies importeert en exporteert en hoe u schema-extensies gebruikt de AD Schema Analyzer-tool. Houd er rekening mee dat er bij het vergelijken van ontwerpen enkele verschillen kunnen zijn, afhankelijk van servicepacks en Windows-versies, met name bij het indexeren van attributen en het opslaan van verwijdermarkeringen.

Voor schema-extensies verkregen uit andere bronnen (bijvoorbeeld samen met commerciële toepassing), is het noodzakelijk ervoor te zorgen dat de veranderingen die daarmee gepaard gaan geen risico's met zich meebrengen. Naast alle hierboven besproken invoergegevens, moet u ook op een aantal andere omstandigheden letten. Hieronder staan belangrijkste parameters dingen om te controleren:

  • aangeleverd 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-extensies. Maar als de extensie in een ander formaat wordt geleverd, ontstaan ​​er twijfels over de juistheid ervan en de betrouwbaarheid van de leverancier. B toont een voorbeeld-LDIF voor het maken van een attribuut in het AD-schema om informatie op te slaan over de schoenmaat van een gebruiker. Het moet worden opgemerkt volgende kenmerken van deze voorbeeldschema-extensie.

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

U moet ook verifiëren dat het attribuut beschikbaar is in de globale catalogus van de Partial Attribute Set (PAS) en dat de indexen die voor het attribuut zijn gemaakt correct zijn als het attribuut in LDAP-zoekfilters wordt gebruikt. Het is ook nuttig om ervoor te zorgen dat de gegevens die in het attribuut zijn opgeslagen acceptabel zijn voor AD binnen de context van de hierboven besproken beperkingen en richtlijnen.

Zodra de schema-extensie is getest en klaar is voor productie, moet u selecteren de juiste tijd voor deze operatie. Meestal kan dit tijdens kantooruren worden gedaan. Er zal een merkbare toename van de CPU-belasting optreden bij het uitvoeren van de Schema Wizard en een lichte toename van de belasting van de domeincontrollers die wijzigingen repliceren. IN grote bedrijven Er kan een pauze optreden in de replicatie tussen domeincontrollers gedurende een periode van vier tot zes uur als u kenmerken toevoegt aan de gedeeltelijke PAS-kenmerkset. Pauzes gaan gepaard met foutmeldingen die problemen met de objecten aangeven, maar kunnen meestal worden genegeerd en verdwijnen vanzelf. Als domeincontrollers gedurende langere tijd geen verbinding hebben met replicatie, moet u beginnen met het oplossen van problemen.

Systematische aanpak

Er schuilt geen gevaar in het uitbreiden van het AD-schema als u de basisvoorzorgsmaatregelen neemt. Bij het plannen van nieuwe schema-uitbreidingen en bij het controleren van aangepaste attributen en klassen van externe leveranciers noteer de identificerende informatie die uniek is voor elke klasse of attribuut en zorg ervoor dat deze globaal uniek is.

Nadat u de integriteit ervan heeft gecontroleerd, porteert u de nieuwe extensie naar een representatieve testomgeving en controleert u of de testomgeving correct functioneert kritische toepassingen. Vervolgens kunt u de schema-extensie in uw productieomgeving importeren.

Lijst. Voorbeeld LDIF-records

Dn: CN=bdcllcShoeSize,CN=Schema,CN=Configuratie,DC=X wijzigingstype: add objectClass: top objectClass: attribuutSchema cn: sfsuLiveServiceEntitlements attribuutID: 1.3.6.1.4.1.35686.100.1.1.2 attribuutSyntaxis: 2.5.5.12 isSingleValued: FALSE showInAdvancedViewOnly: TRUE adminDisplayName: bdcllcShoeSize adminDescription: Slaat de schoenmaat van een gebruiker op oMSyntaxis: 64 searchFlags: 1 lDAPDisplayName: bdcllcShoeSize naam: bdcllcShoeSize schemaIDGUID:: Js+e3rEsAUWMazlPm5hb6w== isMemberOfPartialAttributeSet: TRUE



FSMO-rolschemamaster ( Schemameester) is een van de twee rollen die op dit niveau actief zijn bossen Actief Directory. Dat wil zeggen dat er slechts één schemamaster in het gehele AD-forest mag zijn.

Het hoofdartikel over Active Directory is . Lees ook andere artikelen over de rollen van operations masters -.

Als je geïnteresseerd bent in Windows Server-onderwerpen, raad ik je aan het gedeelte op mijn blog te bekijken.

Schemamaster: Active Directory-schemamaster

Wist u dat als het AD-schema beschadigd is, u alle cd's in het hele forest moet herstellen? Maar dit is echt waar, en daarom moet je heel voorzichtig zijn bij het aanbrengen van wijzigingen in het circuit. In de tussentijd een beetje theorie.

Theorie

Omdat de schemamaster een rol op forestniveau is, bestaat deze altijd in elk AD-forest in één exemplaar. Met andere woorden: er is slechts één domeincontroller die het recht heeft om wijzigingen/updates in het schema aan te brengen. Op elke domeincontroller is echter een replica van het schema aanwezig en indien nodig kan de rol door elke DC met geweld worden overgenomen. , maar daarover later meer. In de praktijk komen veranderingen aan het circuit uiterst zelden voor, bijvoorbeeld bij de installatie Exchange-server of andere toepassingen die een deel van hun gegevens (zoals configuratieobjecten) opslaan in AD.

Nog steeds wat is AD-schema? Dit is voornamelijk een reeks objecten en hun attributen die worden gebruikt om gegevens op te slaan. Deze definitie verklaart iets voor weinig mensen; ik zal proberen het gedetailleerder uit te leggen aan de hand van een voorbeeld. Wat is een voorwerp? Objecten zijn bijvoorbeeld gebruikers- of computeraccounts. IN in dit geval in het AD-schema is er een klasse gebruiker, dat alle kenmerken van het gebruikersaccountobject definieert:

Elk Rekening een gebruiker in het domein heeft al deze kenmerken. Maar attribuutwaarden mogen niet worden gespecificeerd. U kunt controleren welke kenmerken en hun waarden mijn nieuw aangemaakte domeinbeheerdersaccount heeft. Om dit te doen, moet je naar de console gaan adsiedit.msc en open de standaard naamgevingscontext. In de hiërarchie vinden we het gebruikersobject en openen de eigenschappen ervan:

U kunt zien dat het object alle attributen heeft die in de klasse zijn gedefinieerd gebruiker. Als u besluit zelf te zien wat ik zei en de informatie voor u verschilt, let dan op de knop Filter, worden mogelijk niet alle attributen weergegeven. U kunt er bijvoorbeeld voor zorgen dat alleen attributen met waarden worden weergegeven. Objecten beheren via adsiedit.msc niet het beste idee, doe het met de juiste apparatuur.

Voor de lol kun je naar de kenmerken van het Exchange 2013-serverobject kijken, omdat Exchange veel nieuwe klassen in het schema introduceert:

In de meeste gevallen worden vragen over de schemamaster vermeden en het enige dat u hoeft te weten is dat deze rol verantwoordelijk is voor het aanbrengen van wijzigingen in het AD-schema. Het schema is oorspronkelijk echter zo gemaakt dat iedereen er wijzigingen in kon aanbrengen. Dat wil zeggen dat externe bedrijven hun applicaties zo kunnen ontwerpen dat ze hun gegevens in AD opslaan. Om dit te doen, zijn er veel omvangrijke handleidingen over officiële bronnen, waarvan sommige ook in het Russisch beschikbaar zijn.

Beste praktijken

De AD-regeling heeft fundamenteel belangrijk om Active Directory te laten werken, en vereist daarom passend beheer, hoewel dit in de meeste gevallen eenvoudigweg wordt vergeten. Hieronder zijn geformuleerd beste praktijken schema administratie.

1) Altijd voordat u het schema wijzigt Doen back-up . Voordat u het schema wijzigt, kunt u uiteraard alle domeincontrollers uitschakelen, behalve één, die de eigenaar van deze rol is. Maak hierna een back-up van de domeincontroller, breng alle noodzakelijke wijzigingen aan en als alles goed is gegaan, schakelt u eenvoudigweg de eerder uitgeschakelde DC's in. Als er iets misgaat, haalt u eenvoudigweg de enige controller die op dat moment werkt uit de back-up, schakelt u de andere in en onderzoekt u het probleem verder;

Op forestniveau moeten de rollen schemamaster en domeinnaamgevingsmaster zich op dezelfde domeincontroller bevinden (ze worden zelden gebruikt en moeten streng worden gecontroleerd). Bovendien moet de controller waaraan de rol van domeinnaammeester is toegewezen, ook een server zijn mondiale catalogus. Anders kunnen sommige bewerkingen waarbij gebruik wordt gemaakt van de domeinnaamgevingsmaster (zoals het maken van onderliggende domeinen) mislukken.

Daarom moet een domeincontroller die de rol van schemamaster ondersteunt ook verantwoordelijk zijn voor de rol van domeinnaamgevingsmaster en een globale catalogus zijn.

3) Als u om de een of andere reden de hostserver van het schema bent kwijtgeraakt, kunt u op elke andere domeincontroller deze rol met kracht overnemen, maar onthoud dat hierna de originele de eigenaar van het schema mag niet op het netwerk verschijnen.

4) Tenzij absoluut noodzakelijk voer schemawijzigingen niet handmatig uit. Als u dit toch moet doen, zie punt 1.

We gaan soepel van theorie naar praktijk.

Schemabeheer

Allereerst is het de moeite waard om te zeggen dat u voor het beheer van de regeling op zijn minst over de rechten moet beschikken Schemabeheerder. Ander geautoriseerde gebruikers hebben alleen-lezen rechten, hoewel de rechten in principe kunnen worden gewijzigd. De meeste beheertaken worden uitgevoerd in de module Active Directory Schemabeheer, die niet standaard beschikbaar is en waarvoor u de bibliotheek moet registreren om deze in te schakelen. schmmgmt.dll. Om dit te doen lanceren we opdrachtregel met beheerdersrechten en voer uit:

Visuele basis

regsvr32 schmmgmt.dll

regsvr32 schmmgmt. dll

Wij ontvangen een melding:

Daarna in de console MMC je kunt de apparatuur vinden Active Directory-schema. U moet de opdracht uitvoeren op elke domeincontroller waarop u het schema wilt beheren.

Stel dat u twee domeincontrollers heeft en dat u de rol van schemamaster wilt overdragen van DC01 naar DC02:

  1. Open de apparatuur op DC01, klik met de rechtermuisknop Klik op Active Directory-schema en kies Verander regelaar domein Actief Telefoonboek;
  2. Selecteer vervolgens de domeincontroller waarnaar we de rol willen overdragen (voor mij is dit DC02, standaard wordt altijd de server geselecteerd die eigenaar is van de rol). Wij bevestigen de waarschuwing;
  3. Klik nogmaals met de rechtermuisknop Active Directory-schema, maar we zijn al aan het kiezen De eigenaar van de activiteiten...;
  4. Klik op de knop Wijzigen.

Hierna moet u uw keuze bevestigen en een melding ontvangen over de succesvolle overdracht van de rol.

Hiermee is de beoordeling van de eigenaar van het fsmo-rollenschema voltooid; misschien zal ik in de nabije toekomst het artikel aanvullen met instructies over hoe u kunt forceren dat de rol door andere domeincontrollers wordt overgenomen.