Active Directory şeması nedir. Active Directory'ye Giriş

  • 22.07.2019

Active Directory etki alanı ortamı üzerine kurulmuş ağlar için "Active Directory Şemasının" önemini küçümsemek zordur. AD teknolojisinin temeli budur ve çalışma prensiplerini doğru anlamak çok önemlidir. Çoğu sistem yöneticisi, nadiren bununla başa çıkmanın gerekli olması nedeniyle şemaya yeterince dikkat etmez. Bu yazımda sizlere şema versiyonunun ne olduğunu, neden bilmemiz gerektiğini ve en önemlisi mevcut versiyona nasıl bakacağımızı anlatacağım. Her şeyden önce, şemanın kendisi hakkında birkaç söz, Active Directory'de oluşturulan her nesne, ister kullanıcı ister bilgisayar olsun, öznitelik adı verilen belirli parametrelere sahiptir. En basit örnek, kullanıcı nesnesinin "Soyadı" özelliğidir. Şema, Active Directory'de hangi nesneleri oluşturabileceğimizi ve bunların hangi niteliklere sahip olacağını belirler.

Active Directory, aynı kuruluş içinde farklı Windows sürümlerine dayalı birden çok etki alanı denetleyicisinin kullanılmasına izin verir. Yani - Windows Server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 tabanlıdır. Bu sürümler farklı yıllarda piyasaya sürüldüğü ve her yeni sürüm bir öncekinden daha fazla işlevsellik taşıdığı için, şemanın anlaşılması farklıdır. her işletim sistemi. Bu nedenle, mevcut denetleyicilerin Windows Server 2003 tabanlı olduğu bir kuruluşa Windows Server 2008 tabanlı yeni bir denetleyici eklerken, yardımcı programı çalıştırmanız gerekiyordu. adprep". Bunu yaparak, kuruluşunuzun şemasını çalıştığı düzeye kadar güncellediniz. Windows Server 2008.

Şema yükseltme işlemi, ilk Windows Server 2008 denetleyicisi kurulmadan önce gerçekleştirildi ve yeni bir denetleyici kurulumuna ilişkin asıl prosedür gerçekleştirilmemiş olabilir. Bir çeşit Active Directory organizasyonu ile çalışmaya yeni başlıyorsanız ve gelmeden önce hangi eylemlerin gerçekleştirildiğini bilmiyorsanız, yapının bütünlüğünü anlamak için Mevcut Organizasyon Şemasının hangi seviyede çalıştığını bilmeniz gerekecektir. .

Olası şema sürümleri:

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

Kuruluşunuzdaki tüm denetleyiciler Windows Server 2003 R2 üzerinde çalışıyorsa ve şema sürümü "44" gösteriyorsa şaşırmamalısınız, bu şemanın zaten Windows Server 2008 RTM düzeyine yükseltildiği anlamına gelir, ancak denetleyicinin kendisi bir nedenden dolayı kurmadılar.

Şematik versiyonu görüntülemenin birkaç yolu vardır. En basit yol, "DSQuery" yardımcı programını kullanmaktır. Bunu yapmak için komut satırına aşağıdaki parametrelerle bir komut girin:

“Dsquery * cn = şema, cn = konfigürasyon, dc = alan adı, dc = yerel - kapsam temel -attr nesne Sürümü”

Doğal olarak, “bölümünde dc = alan adı, dc = yerel " kendi alan adınızı değiştirmelisiniz. (Örnek: dc = microsoft, dc = com )

Komuta girmenin sonucu “ niteliğini almaktır. Nesne Sürümü", Şema sürüm numarası hangisi olacak:

Pirinç. 1"DSQuery" yardımcı programı aracılığıyla şema sürümünü alma.

İkinci yöntem daha uzundur ve bir çırpıda kullanılmasını içerir " ADSIDüzenle. msc» ... Şema sürümünü görüntülemek için şemanın Active Directory bölümüne bağlanmanız gerekecektir.

"CN = Şema, CN = Yapılandırma, DC = etki alanı, DC = yerel"

Ve özniteliğin değerini bulun " nesneSürüm".

İncir. 2 Ek bileşen aracılığıyla şema sürümünü alma " ADSIDüzenle. msc».

Şemanın sürümünü bilerek, şemanın güncellenmesi gerekip gerekmediğini ve gerekirse hangi düzeyde olduğunu her zaman güvenle söyleyebilirsiniz.

Şema güncellemelerinin Active Directory ile sıkı bir şekilde entegre edilmiş yazılımlar tarafından yapılabileceği unutulmamalıdır. Microsoft Exchange Server'ın en çarpıcı örneği. Ve genellikle Exchange Server uygulamayı planlayan bir kuruluşta, şemanın hazırlanıp hazırlanmadığını öğrenmek gerekir mi? Ve öyleyse, Exchange Server'ın hangi sürümü. Şu anda, Active Directory ile çalışan üç Exchange sürümü vardır, ancak şemayı değiştirmek için altı seçenek vardır.

Bir değişiklik olup olmadığını anlayın
Exchange sunucusu tarafından nena Active Directory şeması « niteliğine göre olabilir aralıkÜst ", aşağıdakileri alır değerler:

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

Gördüğünüz gibi, şema güncellemesi, Exchange Server 2000/2003 için SP3 ve Exchange 2007 için SP1 güncellemelerini yüklediğinizde de gerçekleşir.

Özellik değerini görüntüle « aralıkÜst " DSQuery yardımcı programını kullanabilirsiniz:

"dsquery * CN = ms-Exch-Schema-Version-Pt, cn = şema, cn = konfigürasyon, dc = alan adı, dc = yerel - kapsam tabanı -attr aralığıUpper"

Pirinç. 3 niteliğini alma" aralıkÜst " DSQuery yardımcı programı aracılığıyla.

Bu komutu girdikten sonra, “ niteliğinin olmadığını belirten bir yanıt döndürülürse aralıkÜst " düzenin değişmediği sonucuna varılabilir.

Şema güncelleme işlemi her Active Directory organizasyonu için çok önemlidir, bu nedenle gereksiz, gereksiz adımlardan kaçınılmalıdır. Niteliklerin özünü anlamak " nesneSürüm" ve« aralıkÜst " yabancı bir organizasyonda Active Directory ile çalışırken profesyonellere avantaj sağlar ve aynı zamanda problem çözmede yardımcı bir araçtır.

Bildiğiniz gibi, hiçbir şey sonsuz değildir, özellikle bilişim gibi bir sektörde her şey değişir. Bir kez dağıtıldığında, altyapı sürekli gelişir, genişler, iyileşir ve bir zaman gelir, işletim sisteminin sonraki bir sürümünü çalıştıran bir etki alanı denetleyicisini Active Directory'nize eklemeniz gerekir.

Öyle görünüyor - sorun nedir? Ancak, uygulamanın gösterdiği gibi, sistem yöneticilerinin teori hakkında çok az bilgiye sahip olmaları ve açıkçası bu konuda kafalarının karışması nedeniyle birçok açıdan sorunlar ortaya çıkmaktadır. Bu nedenle, ne olduğunu anlamanın zamanı geldi AD şeması ve bizim durumumuzla nasıl bir ilişkisi var.

AD şeması tüm katalog nesnelerinin ve niteliklerinin bir açıklamasıdır. Özünde şema, dizinin temel yapısını yansıtır ve düzgün çalışması için büyük önem taşır.

Daha yeni işletim sistemi sürümleri yeni nesneler ve nitelikler içerir, bu nedenle etki alanı denetleyicileri olarak düzgün çalışabilmeleri için şemayı güncellememiz gerekir.

Anlaşılabilir görünüyor, ancak tamamen değil, o yüzden yaygın hatalara ve yanlış anlamalara geçelim.

  • Windows'un daha yeni sürümlerini çalıştıran bilgisayarları etki alanına dahil etmek için bir şema güncellemesi gerekir. Durum böyle değil, Windows'un en son sürümleri bile şemayı güncellemeden Windows 2000 etki alanında oldukça başarılı bir şekilde çalışabilir. Bununla birlikte, şemayı güncellerseniz, korkunç bir şey olmayacak.
  • Daha yeni bir işletim sistemi çalıştıran bir etki alanı denetleyicisine katılmak için etki alanı (orman) işlevsel düzeyini yükseltmeniz gerekir. Bu da geçerli değildir, ancak önceki durumdan farklı olarak bu işlem, işletim modundan daha düşük bir işletim sistemi çalıştıran etki alanı denetleyicilerinin kullanılmasını imkansız hale getirecektir. Bu nedenle bir hata durumunda AD yapınızı bir yedekten geri yüklemeniz gerekecektir.

Ayrıca dikkatinizi orman ve etki alanı işlevsel düzeyine odaklayacağız. Ormana dahil olan etki alanlarının farklı çalışma modları olabilir, örneğin, etki alanlarından biri Windows 2008 modunda ve geri kalanı Windows 2003 modunda çalışabilir.Orman işlev şeması, en eski etki alanının çalışma şemasından daha yüksek olamaz. Örneğimizde, orman işlev düzeyi Windows 2003'ten daha yüksek olamaz.

Ancak, daha düşük orman işlev düzeyi, daha yüksek etki alanı işlev düzeyini kullanmanıza hiçbir şekilde engel değildir; bunun için gerekli olan tek şey şemayı güncellemektir.

Kendimizi teoriye aşina olduktan sonra, pratik bir örneğe geçelim. Diyelim ki Windows 2000 düzeyinde bir etki alanımız (karma mod) - en düşük AD düzeyi - içinde Windows 2003 çalıştıran bir denetleyicimiz var ve amacımız, başarısız olanın yerini alacak yeni bir denetleyici oluşturmak.

Yeni sunucu Windows 2008 R2 çalıştırıyor. Bu sunucuyu mevcut bir etki alanına entegre etmede herhangi bir zorluk yaşamadığımızı lütfen unutmayın.

Ancak, yeni bir etki alanı denetleyicisi eklemeye çalıştığımızda bir hata alıyoruz:

Daha yeni bir işletim sistemi sürümünü çalıştıran bir denetleyiciyi başarıyla etkinleştirmek için orman şemasını ve etki alanı şemasını güncellememiz gerekir. Bunun istisnası, yeni bir etki alanı denetleyicisi eklendiğinde şemayı otomatik olarak güncelleyecek olan Windows Server 2012'dir.

Şemayı güncellemek için, klasörde bulunan Adprep yardımcı programı kullanılır. \ destek \ adprep Windows Server yükleme diskinde. Windows Server 2008 R2'den başlayarak, bu yardımcı program varsayılan olarak 64-bit'tir, 32-bit sürümünü kullanmanız gerekiyorsa, çalıştırmalısınız. adprep32.exe.

Orman şemasını güncellemek için bu yardımcı program üzerinde çalıştırılmalıdır. Şema yöneticisi ve etki alanı şemasını şu şekilde güncellemek için: altyapı sahibi... Hangi denetleyicilerin ihtiyacımız olan FSMO rollerine sahip olduğunu bulmak için şu komutu kullanın:

Netdom sorgusu FSMO

Windows 2008 ve daha yeni sürümlerde, bu yardımcı program varsayılan olarak yüklenir ve Windows 2003'te dizinden diskten yüklenmelidir. \ destek \ araçlar

Bu komutun çıktısı, şu rollere sahip tüm FSMO rollerini ve denetleyicileri listeler:

Bizim durumumuzda, tüm roller aynı denetleyicidedir, bu nedenle klasörü kopyalayın \ destek \ adprep sabit sürücüye (bizim durumumuzda, C :) sürücüsünün köküne ve orman şemasını güncellemeye devam edin. İşlemi başarıyla tamamlamak için hesabınızın aşağıdaki grupların üyesi olması gerekir:

  • Şema yöneticileri
  • Kurumsal Yöneticiler
  • Şema yöneticisinin bulunduğu etki alanının yöneticileri

Orman şemasını güncellemek için şu komutu çalıştırın:

C: \ adprep \ adprep / orman hazırlığı

Standart uyarıyı okuyun ve tıklayarak devam edin C, sonra Girmek.

Şema güncelleme işlemi başlar. Gördüğünüz gibi, sürümü 30'dan (Windows 2003) 47'ye (Windows 2008 R2) değişecek.

Orman şemasını yükselttikten sonra, etki alanı şemasını yükseltmelisiniz. Bunu yapmadan önce, etki alanının en azından Windows 2000 modunda (yerel mod) çalıştığından emin olun. Hatırladığınız gibi, etki alanımız karma modda çalışıyor, bu nedenle etki alanı işlev düzeyini ana düzeye değiştirmemiz veya Windows 2003'e yükseltmemiz gerekiyor. Bu etki alanında Windows 2000 çalıştıran denetleyicilerimiz olmadığından, en mantıklısı olacaktır. etki alanı modunu yükseltin.

Etki alanı şemasını başarılı bir şekilde güncellemek için bu işlem şu adreste gerçekleştirilmelidir: altyapı sahibi ve haklara sahip Etki alanı yöneticisi... Komutu uyguluyoruz:

C: \ adprep \ adprep / domainprep

Ve görüntülenen bilgileri dikkatlice okuyoruz. Etki alanı şemasını Windows 2000 veya Windows 2003'ten yükseltirken, Grup İlkesi için dosya sistemi izinlerini değiştirmelisiniz. Bu işlem bir kez ve gelecekte gerçekleştirilir, örneğin, şema 2008'den 2008 R2'ye güncellenirken gerçekleştirilmelidir. GPO'ların izinlerini güncellemek için şu komutu girin:

C: \ adprep \ adprep / domainprep / gpprep

AD sürümlerinde, Windows 2008'den başlayarak, yeni bir etki alanı denetleyicisi türü vardır: salt okunur etki alanı denetleyicisi (RODC), böyle bir denetleyici dağıtmayı planlıyorsanız, şemayı hazırlamanız gerekir. Genel olarak, yakın gelecekte bir RODC kuracak olsanız da olmasanız da bu işlemi gerçekleştirmenizi öneririz.

Bu işlem herhangi bir etki alanı denetleyicisinde gerçekleştirilebilir, ancak grubun bir üyesi olmanız gerekir. Kurumsal Yöneticiler ve ana adlandırma ve altyapı ustası mevcut olmalıdır.

C: \ adprep \ adprep / rodcprep

Görüldüğü gibi domain şemasını güncellemek doğru planlanırsa herhangi bir zorluk yaşatmaz ancak her durumda bunun geri dönüşü olmayan bir işlem olduğunu unutmamalı ve gerekli yedekleri elinizde bulundurmalısınız.
Kaynak http://interface31.ru/tech_it/2013/05/obnovlenie-shemy-active-directory.html

Ağdaki kullanıcıları ve kaynakları tanımlamak için bir dizin hizmeti kullanılır. Windows'un önceki sürümleriyle karşılaştırıldığında, Microsoft Windows 2003, Active Directory'nin yeteneklerini önemli ölçüde genişletmiştir. Active Directory, kullanıcıları ve kaynakları eklemeyi, kaldırmayı ve taşımayı kolaylaştıran birleşik bir ağ yönetim aracı sağlar.

Active Directory Tanıtımı

Active Directory araçları, dizin yapısını kuruluşunuzun ihtiyaç duyduğu şekilde tasarlamanıza olanak tanır. Bu derste, Active Directory nesnelerini ve bileşenlerinin amacını kullanmayı öğreneceksiniz.

Bu dersteki materyali inceledikten sonra şunları yapabileceksiniz:

    Active Directory nesnesinin ve şema özniteliklerinin amacını açıklayın

    Active Directory bileşenlerinin işlevselliğini tanımlayın ve açıklayın.

Active Directory Nesneleri

Bilgileri erişilebilir ve kullanışlı hale getiren tüm hizmetler gibi, Active Directory de ağ kaynakları hakkında bilgi depolar. Kullanıcı verileri, yazıcıların, sunucuların, veritabanlarının, grupların, bilgisayarların ve güvenlik ilkelerinin açıklamaları gibi bu kaynaklara nesneler denir.

Bir nesne, bir ağ kaynağını temsil eden ayrı bir adlandırılmış nitelikler kümesidir. Bir nesnenin nitelikleri, katalogdaki özellikleridir. Örneğin, kullanıcı hesabı öznitelikleri ad ve soyadı, departman ve e-posta adresini içerebilir (Şekil 2-1)

Active Directory'de nesneler sınıflar, yani mantıksal gruplar halinde düzenlenebilir. Bir sınıf örneği, kullanıcı hesaplarını, grupları, bilgisayarları, etki alanlarını veya kuruluş birimlerini (OU'lar) temsil eden nesnelerin gruplandırılmasıdır.

Not Diğer nesneleri içerebilen nesnelere kapsayıcı denir. Örneğin, etki alanı kullanıcıları, bilgisayarları ve diğer nesneleri içerebilen bir kapsayıcı nesnedir.

Active Directory'de tam olarak hangi nesnelerin saklanabileceği, şeması tarafından belirlenir.

ŞemaAktifdizin

Active Directory şeması, Active Directory'de depolanabilecek nesne türlerini ve bunlarla ilgili bilgi türlerini tanımlayan tanımların bir listesidir. Bu tanımların kendileri de nesneler olarak depolanır, böylece Active Directory, Active Directory'deki diğer nesneler için kullanılan işlemlerle aynı şekilde yönetilir.

Şemada iki tür tanım vardır: nitelikler ve sınıflar. Bunlara şema nesneleri veya meta veriler de denir.

Nitelikler sınıflardan ayrı olarak tanımlanır. Her öznitelik yalnızca bir kez tanımlanır ve birden çok sınıfta kullanılmasına izin verilir. Örneğin, Açıklama niteliği birçok sınıfta kullanılır, ancak bütünlüğünü sağlayan şemada yalnızca bir kez tanımlanır.

Nesne sınıfları olarak da adlandırılan sınıflar, hangi Active Directory nesnelerinin oluşturulabileceğini tanımlar. Her sınıf bir nitelikler topluluğudur. Bir nesne oluşturulduğunda, nitelikler onu tanımlayan bilgileri depolar. Örneğin, User sınıfının öznitelikleri, Ağ Adresi, Ev Dizini vb. içerir. Active Directory'deki her nesne, bir nesne sınıfının bir örneğidir.

Windows 2000 Server, bir dizi temel sınıf ve öznitelikle birlikte gelir. Deneyimli geliştiriciler ve ağ yöneticileri, mevcut sınıflar için yeni sınıflar ve yeni nitelikler tanımlayarak şemayı dinamik olarak genişletebilir. Örneğin, şemada tanımlanmayan kullanıcılar hakkında bilgi depolamanız gerekiyorsa, şemayı Users sınıfı için genişletebilirsiniz. Bununla birlikte, planın böyle bir uzantısı, olası ciddi sonuçları olan oldukça karmaşık bir işlemdir. Şema silinemediğinden, yalnızca devre dışı bırakıldığından ve otomatik olarak çoğaltıldığından, genişlemesi için hazırlanmalı ve plan yapmalısınız.

Şema, Active Directory veritabanının içeriğinin ve yapısının resmi bir tanımını içerir. Özellikle nesnelerin ve sınıflarının tüm özelliklerini listeler. Her nesne sınıfı için, tüm olası özellikler, ek parametreler ve ayrıca hangi nesne sınıfının mevcut sınıfın atası olduğu ve olabileceği tanımlanır.

Active Directory'yi Yükleme, en sık kullanılan nesnelerin ve nesne özelliklerinin bir tanımını içeren ilk etki alanı denetleyicisinde standart bir şema oluşturulur. Ayrıca diyagram, Active Directory'nin dahili nesnelerinin ve özelliklerinin bir tanımını sağlar.

Şema genişletilebilir, böylece sistem yöneticisi yeni nesne türleri ve özellikleri oluşturabilir, halihazırda var olan nesneler için yeni özellikler ekleyebilir. Şema, global katalogda Active Directory ile birlikte gömülüdür ve depolanır. Otomatik olarak güncellenir, böylece özel olarak oluşturulmuş bir uygulama bağımsız olarak ona yeni özellikler ve sınıflar ekleyebilir.
Standart bir şemayı genişletmek kolay değildir. Şemayı yanlış değiştirmek hem sunucuyu hem de tüm dizin hizmetini bozabilir. Bu sorunu çözmek için kişinin gerekli deneyim ve bilgiye sahip olması gerekir. Yani, her şeyden önce, adlandırma kurallarını bilmeniz gerekir.

Adlandırma kuralları

Her Active Directory nesnesinin belirli bir adı vardır. Active Directory'deki nesneleri tanımlamak için çeşitli adlandırma şemaları kullanılır, yani:

Seçkin İsimler (DN)
Göreceli Seçkin İsimler (RDN)
- küresel benzersiz tanımlayıcılar (GUID);
- Birincil Kullanıcı Adları (UPN).

Her Active Directory nesnesinin sahip olduğu bileşik isim... Ad, nesne için bir tanımlayıcıdır ve nesneyi dizinde bulmak için yeterli veri içerir. Ayırt edici ad, nesneyi içeren etki alanının adını ve nesnenin tam yolunu içerir. Örneğin, server.com etki alanındaki bileşik kullanıcı adı Andrew Kushnir şöyle görünebilir:
DC = COM / DC = SUNUCU / CN = Kullanıcılar / CK = Andrew Kushnir

Bir nesnenin tam ayırt edici adı bilinmiyorsa veya değiştirilmişse, nesneyi özelliklerine göre bulabilirsiniz; bunlardan biri göreli ayırt edici addır (ayırt edici adın bir parçası). Önceki örnekte, Andrew Kushnir nesnesinin göreli ayırt edici adı CK = Andrew Kushnir ve üst nesne için CN = Usere olacaktır.

Ayırt edici ada ek olarak, her Active Directory nesnesi küresel olarak benzersiz bir tanımlayıcıya (GUID) sahiptir, bu 128 bitlik bir sayıdır. Tanımlayıcı, nesne taşındıktan veya yeniden adlandırıldıktan sonra bile değişmez. Genel olarak benzersiz bir tanımlayıcı, bir nesnenin bir etki alanından diğerine taşınması da dahil olmak üzere tüm etki alanlarında benzersizdir.
Hatırlamanın en kolay yolu, kullanıcının birincil adıdır (UPN). Asıl ad, kısaltılmış kullanıcı adı ile nesnenin bulunduğu etki alanının DNS adından oluşur. Kullanıcının birincil adının biçimi aşağıdaki gibidir:

Kullanıcı adı, DNS etki alanı son eki karakteri

Örneğin, sunucudaki birincil kullanıcı adı Andrew Kushnir'dir. soya fasulyesi gibi görünebilir [e-posta korumalı] Kullanıcının asıl adı, kullanıcının ayırt edici adından bağımsızdır, bu nedenle kullanıcı nesnesi, etki alanındaki kullanıcının oturum açma adını değiştirmek zorunda kalmadan taşınabilir veya yeniden adlandırılabilir.

Active Directory'nin Windows 2000 ile piyasaya sürülmesinden bu yana, Microsoft, kullanıcılara Active Directory'yi uygulamak için temel bir şema tanımı sağlamıştır.

Active Directory®'nin piyasaya sürülmesi, birçok uygulamanın Windows®'ta yazılma ve uygulanma biçiminde de bir değişikliğe işaret etti. Önceden, Microsoft® Exchange 5.5 gibi uygulamalar kendi dizin yapıları ile oluşturulmuştu. Active Directory'nin ortaya çıkışından bu yana, birçok uygulama (Microsoft ve diğerlerinden) kendi şemalarını sıfırdan oluşturmak yerine sağlanan temel yapıdan yararlandı.

Başlangıçta, Active Directory tarafından sağlanan temel mimari kullanıldı ve daha sonra gerektiğinde genişletildi. Örneğin Microsoft Exchange 2000'de, mesajlaşma sistemlerini uygulamak için Active Directory kullanıldı ve böylece Microsoft'un mesajlaşma mimarisinin geleceğini tanımladı.

Bugün, bir Active Directory ortamında çalışacak şekilde oluşturulmuş birçok uygulama, onun temel şemasına dayanır ve birçok uygulama da gerektiğinde kendi şema değişikliklerini tanımlar. Bunun için elbette, bu makalede tartışılacak olan genişletilebilir bir şema gereklidir. Ayrıca, birçok uygulama Active Directory'deki temel tanımlara dayandığından, temel alınan şemanın sürekli kararlılığı çok önemlidir. Birçok uygulamanın aynı Active Directory'de birlikte çalışması gerektiğinden, bir uygulamada yapılan değişiklikler diğer uygulamaları etkilememelidir.

Şema nedir?

Birçokları için Active Directory şeması bir kara kutu gibidir ve şemayı kendiniz değiştirme fikri onlar için korkutucu olabilir. Tabii ki, Active Directory şemasını genişletmenin her gün yapılması gerekmiyor, ancak bazı uygulamalar veya kuruluşlar tam da bunu yapıyor. Bu nedenle, şemanın özünü ve bileşimini anlamak çok önemlidir, çünkü Active Directory birçok kuruluşta önemli bir varlıktır ve yanlış güncellemeler nedeniyle işlevselliğinin bozulması ciddi sonuçlara yol açabilir.

Bir strateji olarak, birçok kuruluş, özel şema tanımlarını test etmeye veya doğrudan uygulamaya alternatif olarak Windows Server® 2008'de Active Directory Basit Dizin Hizmetleri'ni (ADLDS) (veya Windows Server 2003'te Active Directory Uygulama Modu'nu (ADAM)) kullanıyor. Aktif şema Dizin.

Şema, bir dizin hizmeti için bir biçim sağlayan temel bir yapıdır. Active Directory şeması, Active Directory Etki Alanı Hizmetleri'nde (ADDS) kullanılan öznitelikleri ve nesne sınıflarını tanımlar. Temel şema, pek çok iyi bilinen sınıf (user, computer, ve OrganizationUnit gibi) ve öznitelikler (phoneNumber ve objectSID gibi) için tanımları içerir. Ana şemanın tanımındaki nesnelere kategori 1 nesneleri, eklenen nesnelere ise kategori 2 nesneleri denir.

Active Directory şeması, cn = Schema, cn = Configuration, dc = X yolu ile tanımlanan bir kapsayıcıda bulunur; burada X, Active Directory ormanının ad alanıdır. Active Directory ormanının yalnızca bir şema içerdiğini unutmayın; Bir ormandaki şema tanımında yapılan değişiklikler, o ormandaki tüm etki alanlarını etkiler. Açık pilav. 1 Windows Server'ın farklı sürümlerinde Active Directory şemasına eklenen sınıfların ve özniteliklerin sayısını gösterir.

Sınıf ve nitelik sayısı

Şema, Adprep yardımcı programı kullanılarak Windows Server'ın farklı sürümleri için güncellenir. Windows Server 2003 R2'ye yükselttiğinizde şema sürümü 31'e yükseltilir ve Windows Server 2008'e yükselttiğinizde 44'e yükseltilir.

Sürüm numarasını, ADSIEdit gibi bir araç kullanarak Active Directory'de cn = Schema, cn = Configuration, dc = X'deki objectVersion özniteliğinin değerini kontrol ederek bulabilirsiniz. Lütfen Exchange Server, System Management Server (SMS) gibi bazı uygulamaların ve Active Directory'ye dayanan diğer uygulamaların şemayı uygulamanın gereksinimlerine uyacak şekilde değiştirebileceğini unutmayın.

Temel bileşenler

Active Directory iki tür nesneden oluşur: classSchema (kısaca sınıf) ve niteSchema (kısaca öznitelik). Tipik olarak, bir kuruluşun mevcut şemada bulunmayan belirli özniteliklerde veri depolaması gerektiğinde Active Directory şemasının genişletilmesi düşünülür. Dizin şemasındaki bir öznitelik, şema kapsayıcısında bir öznitelikSchema nesnesi belirtilerek ve ardından yeni nesne için gerekli özellikler tanımlanarak oluşturulur.

AttributeSchema nesne özelliklerinin ve ayrıntılarının listesi için bkz. go.microsoft.com/fwlink/?LinkId=110445. Gördüğünüz gibi, bazıları gerekli olan attributeSchema nesneleri için çok sayıda özellik tanımlayabilirsiniz.

Normal özniteliklere ek olarak, şema ayrıca bağlantılı olarak adlandırılan ve ileri ve geri bağlantılar belirtilerek çiftler halinde uygulanan özel öznitelikler içerir. Örnek olarak, Active Directory'deki grup üyeliğini düşünün. Herhangi bir grubun üyelik özniteliği (örneğin, John Doe üyesi olan bir ContosoEmployees grubu) bir ileri bağlantıdır ve bir üye nesnenin karşılık gelen MemberOf özniteliği bir geri bağlantıdır (böylece ContosoEmployees grubunun ayırt edici adı (DN) John Doe'nun üyeOf özniteliği sorgulandığında hesaplanır).

İleri bağlantı, diğer herhangi bir öznitelik gibi çalışır. Değerler tek değerli ve çoklu değerli olabilir (bir grubun üyesi olarak birden çok nesne içerebilen üyelik özniteliği gibi) ve ana nesne ile birlikte dizinde depolanır.

Geri bağlantılar, aksine, veri bütünlüğünü sağlamak için sistem tarafından korunur. Geri bağlantı özniteliğinin değerini talep ettiğinizde sonuç, eşleşen tüm ileri bağlantı değerlerine göre hesaplanır. Geri bağlantılar her zaman belirsizdir.

ADDS'deki tüm nesne sınıfları, şema kapsayıcısındaki bir classSchema nesnesi tarafından tanımlanır. Bir classSchema nesnesini başarılı bir şekilde tanımlamak için en kritik özelliklerin listesi için bkz. go.microsoft.com/fwlink/?LinkId=110445.

Tanımlanabilecek üç tür sınıf vardır: yapısal, soyut ve yardımcı. Sınıf türü, objectClassCategory özniteliğinin değeri tarafından belirlenir. (88 olarak bilinen dördüncü kategori, 1993 X.500 standartlarından önce tanımlanan sınıfları içerir. Bu sınıf türü, objectClassCategory özniteliğinde 0 değeriyle belirtilir. Bu tür artık tanımlanmamalıdır.)

Tanımlayıcıları alma ve kullanma

Dizindeki tüm classSchema ve attributeSchema nesnelerinin kimliği, gerekli nesne tanımlayıcıları (OID'ler), classSchema nesneleri için yönetim kimliği ve nitelSchema nesneleri için öznitelik kimliği kullanılarak tanımlanır. Bunlar, nesneleri tanımlamak için belirli merkezler tarafından sağlanan benzersiz sayısal değerlerdir. Numaralandırma, LDAP protokolünün (RFC 2251) tanımına uygundur. Active Directory şemasındaki birkaç nesne tanımlayıcısı, Uluslararası Standardizasyon Örgütü (ISO) ve Microsoft Corporation tarafından verilir. Dizindeki nesne tanımlayıcısı benzersiz olmalıdır.

Nesne Kimliği bir sayı dizisidir, örneğin 1.2.840.113556.1.y.z'de gösterildiği gibi pilav. 2... Yani classSchema kullanıcı nesne tanımlayıcısı 1.2.840.113556.1.5.9'dur.

Kullanıcı nesnesi tanımlayıcısı

Anlam Anlam Açıklama
1 ISO Kök merkezini tanımlar.
2 ANSI ISO grup tanımı.
840 Amerika Birleşik Devletleri Kuruluş tarafından atanan ülke/bölge kodu.
113556 Microsoft Kuruluşun ülke/bölge tanımı.
1 Aktif Dizin Bir kuruluş tarafından atanır (bu durumda Microsoft).
Y Nesne türü classSchema veya propertySchema gibi farklı nesne türlerini (kategorileri) belirten bir sayı. Örneğin 5, nesnenin sınıfı anlamına gelir.
Z Bir obje Kategorideki belirli bir öğeyi temsil eden bir sayı. Örneğin, bir kullanıcı sınıfına 9 sayısı atanabilir.

Bir kuruluş şemayı genişletmek istediğinde, kuruluşun yeni nitelikleri ve nesne sınıfları için benzersiz tanımlayıcılar oluşturmak için kullanılan kendi kök OID'sini alarak nesne tanımlayıcı benzersizliğini zorlar. Nesne tanımlayıcı kökü, doğrudan ISO ulusal kayıt ofisinden (Amerika Birleşik Devletleri'ndeki Amerikan Ulusal Standartlar Enstitüsü (ANSI) elde edilebilir).

Kök varlık kimliğini elde etmek için prosedür ve hizmet oranları ansi.org'da bulunabilir. Diğer bölgelerde, iso.org/iso/about/iso_members.htm adresinde listelenen uygun ISO üye kuruluşuyla iletişime geçin.

Daha önce kuruluşlar, Microsoft'a bir e-posta iletisi göndererek Microsoft'tan bir Nesne Kimliği alıyordu: [e-posta korumalı]... Ancak bu artık, VBScript'i go.microsoft.com/fwlink/?LinkId=110453 adresinden indirip çalıştırmanızı isteyen otomatik bir yanıtla sonuçlanır.

Microsoft tarafından yayımlanan Nesne Kimliklerine, Microsoft Nesne Kimliği numarası alan numaraları atanır: 1.2.840.113556.1.8000.x, burada x, kuruluşunuza atanan benzersiz bir numaradır. Bir kuruluş, nesneleri belirtmek için bu tanımlayıcıları ayırabilir. Örneğin, yeni classSchema nesneleri için 1.2.840.113556.1.8000.x.1.y ve nitelikSchema nesneleri için 1.2.840.113556.1.8000.x.2.z kullanabilirsiniz (burada x benzersiz bir organizasyon numarasıdır ve y ve z sayılardır). sırasıyla belirli classSchema ve featureSchema nesnelerine atanır). Ayrıca, bu nesnelerin adlarını ayırt etmek için benzersiz bir kuruluş öneki kullanmanızı öneririz.

İlgili niteliklerin tanımlanması

Geri bağlantının öznitelik Sözdizimi değeri, Nesne sözdizimi (DS-DN) olan 2.5.5.1 olmalıdır. Tipik olarak, geri bağlantı öznitelikleri, en fazla soyutlamaya sahip sınıfın mayContain değerine eklenir. Bu, geri bağlantı özniteliğinin herhangi bir sınıfın nesnelerinden okunmasını sağlar, çünkü bu tür öznitelikler nesnede saklanmaz, ancak ileri bağlantının değerlerine göre hesaplanır.

Windows Server 2003, kuruluşların bir şemadaki iki nesneyi birbirine bağlamak için kullanabileceği bir özellik sundu: otomatik bağlantı kimlikleri oluşturma. Bu özellik, özniteliğin linkID değeri 1.2.840.113556.1.2.50 olarak ayarlandığında, yeni bir bağlantılı öznitelik için otomatik olarak bir bağlantı kimliği oluşturur. Karşılık gelen geri bağlantı, linkID'yi iletme bağlantısının öznitelik Kimliği veya ldapDisplayName değerine ayarlanarak oluşturulur. Şema önbelleği, bir ileri bağlantı oluşturulduktan sonra ve bir geri bağlantı oluşturulmadan önce yeniden yüklenmelidir. Aksi takdirde, geri bağlantı oluşturulurken featureId veya ldapDisplayName özniteliği bulunmayacaktır. Şema önbelleği, bir şema değişikliğinden birkaç dakika sonra veya etki alanı denetleyicisi yeniden başlatıldığında istek üzerine yeniden yüklenir.

Active Directory'niz Windows 2000 düzeyinde çalışıyorsa, Microsoft'a bir e-posta göndererek Microsoft'tan bağlantı kimlikleri istemeniz gerekir. [e-posta korumalı]... Otomatik yanıt aşağıdaki satırı içerecektir: "Şu adrese gönderilen e-postalar [e-posta korumalı] yalnızca eski ortamlar için linkID kayıtlarıyla ilgiliyse işlenecektir. " [e-posta korumalı] yalnızca eski linkID kayıtlarıyla ilgiliyse işlenecektir.). Bunu yapmak için, e-postada şu bilgiler sağlanmalıdır: şirket adı, iletişim adı, e-posta adresi, telefon numarası, kayıtlı önek (varsa), kayıtlı nesne kimliği (gerekirse).

Şemayı genişletmeye başlayabilirsiniz

Active Directory şemanızı genişletmeye karar verdiğinizi varsayalım. Çözüm, uyumlu olmayacağını onayladıktan sonra ADLDS tarafından uygulanan alternatif dizini (veya Windows Server 2003'te ADAM'ı) kullanmayı bırakmak olabilir. Sonraki adım, şemaya eklenecek yeni öznitelikSchema nesnelerini tanımlamaktır; bu, bu yeni nesneleri belirtmek için gerekli tüm değerleri (cn, ldapDisplayName vb.) tanımlar. Bir nesne için öznitelik değerleri tanımlarken, nesne tanımlayıcısını Microsoft'tan veya başka bir kaynaktan da aldınız. Yukarıdaki faaliyetler, iş gereksinimleri ve teknik şartnameler olarak belgelenmiştir. Ayrıca, Active Directory'nin çalışmasını simüle eden ve teste hazır bir deneysel laboratuvar ortamı uyguladık.

Birçok kuruluş, bu tür değişiklikleri onaylamak veya reddetmek için özel komisyonlar kurar ve bunların uygulanması için bir süreç oluşturur. Active Directory birçok kuruluşta güvenilir bir bilgi kaynağı olarak kullanıldığından ve değişikliklerden sonra onu çalışır durumda tutmanın önemi göz ardı edilemez.

Kuruluş projeye devam etmeye karar verdiğinde, projenin test edilmesi ve uygulanması için planların tanımlanması gerekir. Microsoft Yönetim Konsolu (MMC) Active Directory Şeması ek bileşenini kullanarak veya programlı veya yarı programlı yöntemler kullanarak (örneğin, LDIF dosyalarını içe aktarmak için LDIFDE'yi; CSV'yi içe aktarmak için CSVDE'yi kullanarak) yeni nesneler ekleyerek şemayı genişletebilirsiniz. dosyaları veya ADSI arabirimleri için komut dosyası kullanma).

Seçilen yöntemden bağımsız olarak, bu işlev, Active Directory ormanında şema yöneticisi (Esnek Tek Yönetici İşlemleri) rolüne sahip olan veya bu role bağlı bir sunucuda gerçekleştirilmelidir. Ayrıca, şemayı güncellemek için kullanılan hesabın, güncellemeyi gerçekleştirmek için yeterli yönetici haklarına sahip olması gerekir, bu nedenle, Şema Yöneticileri grubuna dahil edilmelidir. Son olarak, orman için şema güncellemelerini etkinleştirmeniz gerekir (varsayılan olarak devre dışıdır).

Değişiklik basit olmadığı sürece, test ve uygulama aşamaları arasında standardizasyonu sağlamak ve manuel hataların oluşmasını önlemek için otomatik olarak yapılmalıdır. LDIFDE aracını kullanarak değişikliği uygulamaya karar verdiğinizi varsayalım. Şemayı genişletirken güncellemeleri yüklemek için yeni nitelikler ve sınıflar eklemeniz, sınıflara yeni nitelikler eklemeniz ve ardından bir önbellek yeniden yüklemesini tetiklemeniz gerekir. Aşağıda bazı örnekler verilmiştir.

Öznitelik Ekleme

Amaçlarımız için, Contoso adlı bir kuruluşun Active Directory'ye tüm çalışanların ayakkabı boyutunu tanımlayan bir öznitelik eklemesi gerektiğini varsayalım. Active Directory ormanında iki etki alanı vardır: contoso.com ve çalışanlar.contoso.com. Kullanıcı sınıfı tanımı kullanılarak oluşturulan tüm nesnelerin bu yeni özniteliği de içermesi gerekir.

Aynı ormanda oldukları için şemayı değiştirmenin her iki etki alanını da etkilediğini hatırlamak önemlidir. Microsoft'tan, classSchema nesnesi için 1.2.840.113556.8000.9999.1 ve Contoso özniteliğiSchema için 1.2.840.113556.8000.9999.2'ye bölünmüş olan 1.2.840.113556.8000.9999 nesne kimliğini aldığınızı varsayalım. Şimdi bu yeni nesne için tüm öznitelik değerlerini aşağıda gösterildiği gibi tanımlamanız gerekiyor. pilav. 3.

contosoEmpShoe özniteliğinin tanımı

Bağlanmak Anlam Notlar (düzenle)
Müşteri contosoEmpShoe
lDAPDekranAdı contosoEmpShoe
adminEkranAdı contosoEmpShoe
nitelikSözdizimi 2.5.5.12 Unicode bir dize tanımlar.
oMSsözdizimi 64 Unicode bir dize belirtir.
nesneSınıfı üst, nitelikSchema
öznitelik kimliği 1.2.840.113556.8000.9999.2.1 Kuruluş tarafından belirlenir.
isSingleValued NS Yalnızca bir ayakkabı boyutu değeri saklanır.
aramaBayraklar 1 Analiz, bu özniteliği indeksleme ihtiyacını gösterir. Not. Laboratuvar ortamında stres analizi yapılacaktır.
isMemberOfPartialÖzellik Kümesi NS Bu öznitelik genel katalogda mevcut olmalıdır.

Ayrıca, contosoEmpShoe özniteliği, kullanıcı sınıfı nesneleri olarak oluşturulan tüm nesneler için kullanılabilir olsa da, varsayılan kullanıcı sınıfı tanımının değiştirilmesi önerilmez. Bunun yerine, contosoUser yardımcı sınıfını, içinde gösterildiği gibi, mayContain özniteliği contosoEmpShoe olarak ayarlanmış şekilde tanımlayın. pilav. 4... Ardından, contosoUser yardımcı sınıfı için tanımlanan öznitelikleri kullanıcı sınıfına eklersiniz.

contosoUser sınıfının tanımı

Artık analiz yapıldığına ve değerler belirlendiğine göre, aşağıdaki koda benzeyen bir LDIF dosyası oluşturmanız gerekiyor. pilav. 5... kodu kopyalayabilirsin pilav. 5 not etmek ve dosyayı contosoUser.ldif olarak kaydetmek için (technetmagazine.com adresinden indirmeye dahildir).

Şema uzantısı için LDIF dosyası

#contosoEmpShoe için öznitelik tanımı dn: CN = contosoEmpShoe, CN = Şema, CN = Yapılandırma, DC = X değişiklik türü: ntdsschemaadd nesneSınıfı: top nesneSınıfı: öznitelikSchema cn: contosoEmpShoe öznitelikKimliği: 1.2.840.113556.1.8000.9999.2.1.öznitelikSyntax: 2.5 isSingleValued: TRUE adminDisplayName: contosoEmpShoe adminDescription: contosoEmpShoe oMSyntax: 64 searchFlags: 1 lDAPDisplayName: contosoEmpShoe systemOnly: FALSE dn: changetype: change add: schemaUpdateNow schemaUpdate = X changetype sınıfı 1.8000.9999.1.1 mayContain: contosoEmpShoe rDNAttID: cn adminGörünenAdı: contosoUser adminAçıklama: contosoUser nesneSınıfı: contosoUser adminAçıklama: contosoUser objectClame: contosoUserDescription: contosoUser nesneSınıfı: changetype: add-UpdateNo: -w CNe:wschema,w CN değiştir:n CN = Yapılandırma, DC = X değişiklik türü: ntdsschemamodify a dd: yardımcıSınıf yardımcıSınıfı: contosoUser - dn: changetype: add: schemaUpdateNow schemaUpdateNow: 1 değiştir

LDIF dosyasını oluşturduktan sonra, uygulamayı deneysel bir laboratuvar ortamında baştan sona test etmeli, etki alanını ve orman uçtan uca çoğaltmayı doğrulamalı ve ormanda şema güncellemelerine izin vermelisiniz. Şimdi şema yöneticisi haklarına sahip bir hesap kullanarak oturum açmanız gerekiyor. Şema yöneticisinde (değişikliklerin yapılacağı yer) giden çoğaltmayı devre dışı bırakmanız ve LDIF dosyasını içe aktarmak için aşağıdaki komutu çalıştırmanız gerekebilir:

Ldifde –i –f \ contosoUser.ldif –b -k –j. –C "CN = şema, CN = Yapılandırma, DC = X" #schemaNamingContext

Değişiklikleri yaptıktan sonra şema yöneticisinde giden çoğaltmayı etkinleştirin ve tüm etki alanı denetleyicileri için çoğaltmanın yapıldığından emin olun.

Derin bir nefes alın - işiniz bitti! Şemada, kullanıcı sınıfı kullanılarak oluşturulan nesnelerle (yani kullanıcı hesaplarıyla) ilişkilendirilecek yeni bir öznitelik tanımladınız.

Değişiklikleri test etmek için Active Directory Kullanıcıları ve Bilgisayarları ek bileşenini açın, çalışanlar.contoso.com etki alanına bağlanın, kullanıcı kuruluş birimini seçin ve ContosoTestUser adlı yeni bir kullanıcı hesabı oluşturun. Şimdi adsiedit.msc konsolunu açın ve dc = çalışanlar, dc = contoso, dc = com etki alanı bölümüne bağlanın, Kullanıcılar OU'sunu genişletin, ContosoTestUser'a sağ tıklayın, ardından Özellikler sayfasını açın. contosoEmpShoe özniteliğini bulun. Bir değer girmek için bu özelliği değiştirebilirsiniz. Nitelikleri kontrol etmek ve değiştirmek için Ldp.exe yardımcı programını da kullanabilirsiniz.

Şimdi, iki özniteliği tanımlamaya ve birbirine bağlamaya ilişkin bir örneğe bakalım ve Contoso'nun çalışan ayakkabı boyutuyla çok ilgili olduğunu ve çalışan ayakkabı boyutunu ölçen kişilerin yıllık performansını izlemesi gerektiğini hayal edelim. Bu kulağa saçma gelse de, Contoso'nun yalnızca çalışanların ayakkabı bedenini ölçmekten sorumlu kişileri değil, aynı zamanda bedenleri ölçülen çalışanları ve sayılarını da tek bir özniteliği sorgulayarak izlemesi gerektiğini varsayalım. (Veritabanı tablolarının bu tür verileri depolamak için daha uygun olduğunu düşünebilirsiniz, ancak bu durumda sadece ileri geri bağlantıların nasıl çalıştığını açıklamaya çalışıyoruz.)

Elbette önce bir önceki örnekte bahsettiğim analize benzer bir analiz yapacaksınız. Ancak şimdilik, devam edelim ve LDIF dosyalarını (linkids1.ldif ve linkids2.ldif) şekilde gösterildiği gibi oluşturalım. pilav. 6... Ardından LDIF dosyalarını içe aktarmak için aşağıdaki komutu çalıştırın:

LDIF dosyalarını ileri ve geri bağlama

# linkids1.ldif #İleri Bağlantı Özniteliği için öznitelik tanımı dn: CN = ContosoShoeSizeTaker, CN = Schema, CN = Konfigürasyon, DC = X changetype: ntdsschemaadd objectClass: top objectClass: featureSchema cn: ContosoShoeSizeTaker öznitelik Kimliği: 1.2.840.113.556.1.8000.999 2 Bağlantı Kimliği: 1.2.840.113556.1.2.50 öznitelik Sözdizimi: 2.5.5.1 isSingleValued: TRUE adminDisplayName: ContosoShoeSizeTaker adminDescription: ContosoShoeSizeTaker oMSyntax: 64 searchFlags: 1 lDAPDisplayName: ContributoShoeShoeShoeSizeTaker sistemi ContosoShoeSizesTakenByMe, CN = Şema, CN = Yapılandırma, DC = X değişiklik türü: ntdsschemaadd nesneSınıfı: üst nesneSınıfı: öznitelikSchema cn: ContosoShoeSizesTakenByMe.199 öznitelikID6.1.2.840.99 .3 Bağlantı Kimliği: 1.2.840.113556.8000.9999.2.2 YANLIŞ adminGörünenAdı: ContosoShoeSizesTakenByMe adminDescript ion: ContosoShoeSizesTakenByMe oMSyntax: 64 searchFlags: 1 lDAPDisplayName: ContosoShoeSizesTakenByMe systemOnly: FALSE dn: changetype: change add: schemaUpdateNow schemaUpdateNow: 1 - #ContosoShoeShoeConnify: ContosoShoestipini değiştir: 1 - #ContosoShoeShoeContainify'ı ekleyin: ContosoShoeSizeContainify = 1 - ContosoShoeSize'ı değiştirin ContosoShoeSizeTaker mayContain: ContosoShoeSizesTakenByMe dn: changetype: change add: schemaUpdateNow schemaUpdateNow: 1 - #Add Backward Link Attribute as MayContain = in Top = Configuration, DC = X changetype: ntdsschemamodify add: mayContain mayContain:ContoySchema Modify: : 1 ldifde –i –f \ Linkedids.ldif –b -k –j. –C "CN = şema, CN = Yapılandırma, DC = X" #schemaNamingContext

Artık kullanıcı nesnesi oluşturulduğunda, ContosoShoeSizeTaker ve ContosoShoeSizesTakenByMe özniteliklerine de sahip olacaktır. Örneğin John için bir kullanıcı nesnesi oluşturulduğunda, ContosoShoeSizeTaker özniteliği, ayakkabı boyutunu ölçen kişinin ayırt edici adı Frank ile doldurulur. Şimdi Frank'in kullanıcı nesnesinin özelliklerine giderseniz ve ContosoShoeSizesTakenByMe özniteliğini sorgularsanız, sonuç Frank'in ayırt edici adını ve Frank'in ölçtüğü diğerlerinin ayırt edici adını içerecektir. Durumumuzu tamamlamak için yönetim, Frank'i kullanıcı hesabının ContosoShoeSizesTakenByMe özniteliğinde bulunan seçkin adların sayısına göre ödüllendirebilir.

Kontroller ve dengeler sistemi

Bir şema değişikliği olan kritik güncelleme, mimari uygunluk kontrolü yapılmadan yapılamaz. Bu güvenlik ve tutarlılık denetimleri, Active Directory şeması genişletildiğinde veya değiştirildiğinde değişikliklerin tutarsızlıklara veya başka sorunlara neden olmadığını doğrulamak için Active Directory tarafından kullanılır.

Her şeyden önce, her bir sınıf için yönetim kimliği değeri şemada benzersiz olmalıdır. schemaClass nesnesi tanımlanırken systemMayContain, mayContain, systemMustContain ve mustContain listelerinde tanımlanan tüm öznitelikler zaten mevcut olmalıdır. Aynı zamanda subClassOf, systemAuxiliaryClass,auxClass, systemPossSuperiors ve possSuperiors listelerinde tanımlanan tüm sınıflar zaten mevcut olmalıdır.

Ayrıca systemAuxiliaryClass ve yardımcıSınıf listelerindeki tüm sınıfların objectClassCategory özniteliği, sınıf 88 veya bir yardımcı sınıf olmalıdır. Aynı şekilde systemPossSuperiors ve possSuperiors listelerindeki tüm sınıfların objectClassCategory özniteliği class 88 veya yapısal sınıf olarak tanımlanmalıdır.

Farklı sınıflar tanımlanırken sadece diğer soyut sınıflardan soyut sınıflar türetilebilir, yapısal sınıflardan yardımcı sınıflar türetilemez ve yardımcı sınıflardan yapılandırılmış sınıflar türetilemez. Ek olarak, rDNAttID'de belirtilen öznitelik açık olmalı ve bir unicode dizesi olarak sözdizimli olmalıdır.

Bunlar, classSchema nesneleri için geçerli olan kurallardan bazılarıdır. AttributeSchema nesneleri için kurallar nasıl? Sınıflar için yönetim kimliği değeri gibi, öznitelik kimliği değeri de benzersiz olmalıdır. Ayrıca, mAPIID değeri (varsa) benzersiz olmalıdır. Ayrıca, rangeLower ve rangeUpper varsa, rangeLower, rangeUpper'dan küçük olmalıdır. AttributeSyntax ve oMSyntax eşleşmelidir. Öznitelik sözdizimi nesne sözdizimi ise (oMSyntax = 127), doğru oMObjectClass'a sahip olmalıdır. Varsa linkID benzersiz olmalıdır. Ek olarak, geri bağlantı, karşılık gelen bir ileri bağlantıya sahip olmalıdır.

Ya bir hata olsaydı?

Şemayı genişlettikten ve ona yeni nesneler (sınıflar ve nitelikler) ekledikten sonra silinemezler. Ancak, şema nesnesinin isDefunct özniteliği TRUE olarak ayarlanarak sınıflar ve öznitelikler devre dışı bırakılabilir. Active Directory ile sağlanan varsayılan şemanın parçası olan şema nesnelerini devre dışı bırakamazsınız (kategori 1 nesneleri). Şemaya yalnızca varsayılan olarak eklenen nesneleri devre dışı bırakabilirsiniz, yani. Kategori 2 nesneleri ve yalnızca sınıfın mevcut herhangi bir oyunculuk sınıfının subClassOf, yardımcıSınıf veya possSuperiors listelerinde kullanılmadığını doğruladıktan sonra.

Herhangi bir özniteliği devre dışı bırakmaya çalıştığınızda, Active Directory bunun var olan herhangi bir etkin sınıfın mustContain ve mayContain listelerinde kullanılıp kullanılmadığını kontrol eder. Devre dışı bırakılan nesneler, isDefunct özniteliği FALSE olarak ayarlanarak yeniden etkinleştirilebilir. Active Directory, Windows Server 2003 düzeyinde çalışıyorsa, devre dışı bırakılan nesnelerin ldapDisplayName, schemaIdGuid, OID ve mapiID değerlerini yeniden kullanabilirsiniz.

Çözüm.

Şemada sınıf veya öznitelik tanımları eklemek veya değiştirmek, aynı zamanda ilgili classSchema veya niteSchema nesnesini ekler veya değiştirir. Bu işlem, Active Directory'deki herhangi bir nesneyi eklemeye veya değiştirmeye benzer, ancak değişikliklerin tutarsızlıklara neden olmamasını ve gelecekteki şema sorunlarına neden olmamasını sağlamak için ek kontroller yapılır.

Active Directory şemasını değiştirmek zor olmasa da şema yapısını ve bu değişiklikleri yapma sürecini anlamak önemlidir. Active Directory şemasındaki tüm değişiklikler dikkatli bir şekilde planlanmalı ve büyük bir dikkatle yürütülmelidir. Yeni tesisler için iş gereksinimlerini ve teknik özellikleri tanımlamak ve kapsamlı testler yapmak önemlidir. Değişikliklerin önemli bir etkisi olabileceğinden, Active Directory şemasını yalnızca kesinlikle gerekliyse genişletmenizi öneririz.