Vurdere effekten av skjemaet changes

Microsoft Active Directory er en hierarkisk database med objekter som representerer de fysiske enheter (datamaskiner, brukere, grupper, nettsider, subnett, og så videre) som utgjør et nettverk. Disse objektene er konkrete tilfeller av klasser, og en klasse består av en samling av ulike attributter. Klasser og attributter er formelt definert i skjemaet.

Som Active Directory har utviklet seg som en plattform med lanseringen av hver ny versjon av Windows Server, Microsoft har lagt til ny funksjonalitet (for det meste nye klasser og attributter) til skjemaet . Tabellen nedenfor viser skjemaet versjonsnummer for hver utgivelse av Windows Server-plattformen:

Windows Server versjon

Schema versjon

Windows 2000 Server

13

Windows Server 2003

30

Windows Server 2003 R2

31

Windows Server 2008

44

Windows Server 2008 R2

47

Windows Server 2012

56

Windows Server 2012 R2

69

Tabell 1

Du kan bestemme din skjema versjon med Get-ADObject cmdlet for Windows Powershell. Som et eksempel, her er utgang fra å kjøre kommandoen på en domenekontroller som kjører Windows Server 2012 R2:

  PS C: \\ > Get-ADObject (Get-ADRootDSE) .schemaNamingContext -Properties objectversionDistinguishedName: CN = Schema, CN = Configuration, DC = contoso, DC = comName: SchemaObjectClass: dMDObjectGUID: 10ba87a8-5d3b-48b2-8691-9ceb056f9c64objectversion: 69 

Når en ny versjon av Windows Server kommer ut og du ønsker å oppgradere din domenekontrollere, må du utvide Active Directory-skjemaet til nyeste versjon. Spørsmålet melder seg da: Vil det være noen mulig innvirkning på mitt eksisterende infrastruktur hvis jeg utvide skjemaet? For eksempel kan utvide skjemaet påvirke noen av mine line-of-business-applikasjoner

Dette er et alvorlig spørsmål av to grunner:?

  • Utvide skjemaet er en skog-wide handling. Med andre ord, kan det potensielt påvirke alt (datamaskiner, brukere, grupper, nettsider, subnett, og så videre) i Active Directory-skogen.
  • Bruk av skjema extensions er en irreversibel handling som ikke kan angres.

    minner Alt dette meg av linjen som Sir Laurence Olivier ytret da han forberedte hans tannlege verktøy for å forhøre Dustin Hoffman i filmen Marathon Man:

    Det siste punktet er den store synderen, men det gjelder bare for bedriftsapplikasjoner som modifiserer Active Directory-skjemaet. Dessverre har de fleste leverandører av slike søknader ikke tydelig dokumentere hvilke endringer sin søknad vil gjøre til skjemaet når du distribuerer programmet i et Active Directory-miljø. Men da Microsoft selv er skyldig i dette området fordi de generelt ikke klart dokumentere hva schema endringer er innført med hver ny versjon av Windows Server. For å være presis, de kan dokumentere slike endringer, men den resulterende dokumentasjon kan være alt annet enn forståelig - se for eksempel deres dokumentasjon av skjemaendringer introdusert i Windows Server 2012. Og for Windows Server 2012 R2 de har ikke engang publisert slik rå informasjon ennå --Det bare tilgjengelig kilde til slik informasjon er "Kombinert Active Directory-skjemaet klasser og attributter for Windows Server" dokumentasjon. Du kan også finne forklaringer på de ulike skjema klasser og hva de brukes til på MSDN.

    Veien videre

    Hva skal du gjøre da om dette problemet når du vurderer å utvide Active Directory skjema ved å utplassere domenekontrollere som kjører en ny versjon av Windows Server? Som et minimum bør du nok gjøre følgende:


      Gå gjennom dokumentasjon av alle virksomhetens line-of-business-applikasjoner for å finne ut om noen av dem har innført noen oppdateringer til skjema når de ble utplassert . Ta kontakt med applikasjonsleverandører når det er nødvendig for å spørre om dette hvis deres dokumentasjon nevner ikke noen skjemaendringer.
    1. Bygg et testmiljø som speiler produksjonsmiljøet og inkluderer alle programmene som er identifisert som å ha skjema oppdateringer i forrige trinn .

      Utvid skjemaet for testmiljøet til den nyeste versjonen av Active Directory og distribuere domenekontrollere som kjører den nyeste versjonen av Windows Server.

      Test test test.
      < p> Du kan også benytte seg av verktøy som SchemaAnalyzer å eksportere og sammenligne Active Directory skjemaer med ulike versjoner av Windows Server og ulike bedriftsapplikasjoner installert. SchemaAnalyzer fulgte med ADAM verktøy for Windows Server 2003 R2 og er inkludert i Windows Server 2008, se denne linken. Selv om jeg ikke har prøvd å bruke SchemaAnalyzer med den nyeste versjonen av Windows Server, kan det likevel være nyttig. Det er også et Windows Powershell script som heter ADSchemaExtensionConflictAnalyzer.ps1 du kan bruke til å analysere søknad skjema utvidelser (LDF-filer) mot dagens produksjon skjema. Dette skriptet kan brukes til å generere rapporter om eventuelle feil, konflikter eller andre forhold som kan føre til problemer når søknaden er utplassert i ditt miljø. Du kan laste ned dette skriptet fra TechNet Gallery.

      Hvis du oppdager at en tredjeparts applikasjon du vurderer å utplassere i miljøet vil trolig konflikt med skjemaendringer i forbindelse med oppgradering av domenekontrollere til den nyeste versjon av Windows Server, alt er ikke tapt. Du bør kanskje vurdere å distribuere Active Directory Lightweight Directory Services (AD LDS) og proxyer autentisering for din søknad til Active Directory Domain Services (AD DS). Dette er faktisk ikke en dårlig idé i det hele tatt for en ny Active Directory utplassering en organisasjon vurderer fordi distribusjon AD LDS som dette kan tillate deg å holde Active Directory-skjemaet "perfekt", dvs. fri for tredjeparts tilpasninger, og til slutt vil dette redusere endring av problemer og øke support miljøet - i hvert fall fra Microsofts perspektiv. For mer informasjon om denne tilnærmingen, se following:


      http://technet.microsoft.com/en-us/magazine/2008.12.proxy.aspx?pr=blog

      http://www.theidentityguy.com/articles/2010/5/17/using-proxy-authentication-across-trusts.html

      http://technet.microsoft.com/en-us/library/cc794836%28WS.10%29.aspx

      and liknende varer

      Den gode nyheten

      Mens alt dette høres ganske frustrerende, det er faktisk en silver lining -. oppdatering av Active Directory-skjemaet har faktisk fått mye mindre farlig med nyere versjoner av Windows Server . For eksempel når Windows Server 2003 R2 lagt inetOrgPerson klassen til basen skjema dette forårsaket problemer for kunder som hadde Windows Services for UNIX 2.0 utplassert fordi skjema utvidelser for SFU i konflikt med noen av de 2003 R2 skjema utvidelser. Skjemaet oppdateringer for Windows Server 2003 R2 også inkludert utvidelser designet for å gjøre Active Directory-skjemaet kartet tettere til standarder Lightweight Directory Access Protocol (LDAP) som definert av RFC 2307. Dette ble trolig gjennomføres slik at tredjeparts LDAP programmer og Aktiv katalogen kan samhandle bedre, men igjen resultatet ble problemer som oppleves av noen blandede Linux /Windows-miljøer. Heldigvis begynner med Windows Server 2008 Microsoft har begynt å begrense sine Active Directory-skjemaet vedrørende bare egen (dvs. Microsoft ikke bransjestandard) skjemaendringer, noe som har redusert sjansen for skjematillegg fra tredjeparter i konflikt med Active Directory seg. Så det viktigste du trenger å bekymre deg i de fleste tilfeller er tredjepartsprogrammer som utvider Active Directory-skjemaet. Anmeldelser