LDAP bağlantı dizgimi nasıl çözebilirim?


108

Aktif dizin çalıştıran kurumsal bir ağdayız ve bazı LDAP öğelerini (aslında aktif dizin üyelik sağlayıcısı) test etmek istiyoruz ve şu ana kadar hiçbirimiz LDAP bağlantı dizgimizin ne olduğunu bulamıyoruz. Bunu bulmak için nasıl gidebileceğimizi bilen var mı? Bildiğimiz tek şey, üzerinde bulunduğumuz etki alanı.

Yanıtlar:


101

ASP.NET Active Directory Üyelik Sağlayıcısı, belirtilen bir kullanıcı adı, parola ve "bağlantı dizesi" kullanarak Active Directory'ye kimliği doğrulanmış bir bağlantı yapar. Bağlantı dizesi, LDAP sunucusunun adından ve belirtilen kullanıcının bulunduğu konteyner nesnesinin tam yolundan oluşur.

Bağlantı dizgisi URI ile başlar LDAP://.

Sunucu adı için, o etki alanındaki bir etki alanı denetleyicisinin adını kullanabilirsiniz. Diyelim ki "dc1.corp.domain.com". Bu bize LDAP://dc1.corp.domain.com/şimdiye kadar veriyor .

Bir sonraki bit, bağlayıcı kullanıcının bulunduğu konteyner nesnesinin tam yoludur. Diyelim ki "Yönetici" hesabını kullanıyorsunuz ve alan adınız "corp.domain.com". "Yönetici" hesabı, etki alanının kökünün bir seviyesinin altında bulunan "Kullanıcılar" adlı bir kapta bulunur. Bu nedenle, "Kullanıcılar" kabın tam DN olacaktır: CN=Users,DC=corp,DC=domain,DC=com. Bağlandığınız kullanıcı bir kapsayıcı yerine bir OU'daysa, yol "OU = ou-name" değerini içerecektir.

Bu nedenle, bir OU adında bir OU’nun Service Accountsalt OU'su olan bir hesap kullanarak Corp Objects, bir alan adının bir alt OU adının corp.domain.comtam olarak nitelenmiş bir yolu olacaktır OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com.

LDAP://dc1.corp.domain.com/Bağlayıcı kullanıcının bulunduğu konteynere giden tam yolu ile birleştirmek (örneğin, örneğin LDAP://dc1.corp.domain.com/OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com) ve "bağlantı dizginiz" var.

(Bir etki alanı denetleyicisinin adı yerine etki alanının adını, bağlantı dizesinde kullanabilirsiniz. Fark, etki alanının etki alanındaki herhangi bir etki alanı denetleyicisinin IP adresine çözülmesidir . Hem iyi hem de kötü olabilir.) Üyelik sağlayıcısının çalışması için çalışan ve çalışan herhangi bir tek etki alanı denetleyicisine güvenmezsiniz, ancak ad, sivilceli ağ bağlantısı olan uzak bir konumdaki bir DC’yi çözebilir, yani üyeliğinizle ilgili sorunlarınız olabilir. sağlayıcı çalışıyor.)


En azından SBS 2008 ile, OU'lar için dizedeki standart "OU" önekine uymaya başlamış gibi görünüyorlar: CN = Adınız, OU = Kullanıcılar, DC = örnek, DC = yerel Fonksiyonel seviyede çalışıyoruz 2003.
gravyface

Mükemmel cevap. Sorgu hesabının giriş bilgilerini bağlantı dizesindeki yabancı etki alanı denetleyicisine sağlayabilir miyim?
Dan

Yani, ActiveDirectory'e erişen uzak makinenin kendi alanında olması gerektiğini mi söylüyorsunuz? Yerel makinem etki alanında değilse ne olur? Makinem bir çalışma grubundaysa, bir kullanıcının kimliğini doğrulamak için 2 kimlik bilgisi iletmem gerekir mi? Yani, Biri Windows Server makinesine giriş yapmak, diğeri ise ActiveDirectory kullanıcısının kullanıcı adını ve şifresini doğrulamak içindir. Haklı mıyım
Dinesh Kumar P

@DineshKumarP: Seni ayrıştırmakta güçlük çekiyorum. Üyelik Sağlayıcı, Dizine bağlanmak için Active Directory'de (AD) geçerli bir kimlik bilgisi kullanır. Üyelik Sağlayıcısını çalıştıran bilgisayarın herhangi bir AD etki alanının üyesi olması gerekmez, ancak çalışabilmesi için AD'den geçerli bir kimlik bilgileriyle yapılandırmanız gerekir.
Evan Anderson,

2
@ArthurRonald - Ayrıcalıklı olmayan kullanıcılar varsayılan olarak Active Directory'ye bağlanabilir ve sorgu yapabilir. Aslında, ayrıcalıklı olmayan bir kullanıcı kullanıyorsanız, muhtemelen en iyisidir. Active Directory oldukça zengin bir ACL modeline sahiptir ve nesnelere ve niteliklere erişimi çok ayrıntılı bir şekilde kontrol edebilirsiniz. İhtiyacınız olanı yapmanıza yetecek bir ayrıcalık olan bir hesapla bağlanmanız gerekir.
Evan Anderson

23

Tip dsquery /?Bir komut istemi içinde.

Örn: dsquery user -name Ja*Ja * ile başlayan isimlere sahip tüm kullanıcılar için bağlantı dizgilerini alır.


Bu yaklaşımı seviyorum, OU'ların doğru sıralamasını veriyor. Bunu açıklığa kavuşturmak için, bunu kullanmak LDAP: //dc1.corp.domain.com/ ve komuttaki çıktının alın ve kolayca bir ldap dizesi oluşturmak için bunları birleştirin.
RandomUs1r

3
Bu komutu kullanmak için hangi araçlara ihtiyacınız var?
Pred


18

Şu anda oturum açmış kullanıcıdan Kullanıcı DN'sini almak için bu aracı Softerra'dan kullanıyorum (LDAP Tarayıcısını mükemmel bir ücretsiz yapıyorlar): http://www.ldapbrowser.com/download.htm


Adım 1: "Kimlik Bilgileri" adımında "Şu anda oturum açan kullanıcı (yalnızca ActiveDirectory)" seçeneğini seçin. Adım 2: Bağlantı kurulduğunda, Özellikleri'nde "Giriş" sekmesine gidin ve URL'yi kopyalayın. Adım 3: Bu URL'yi ErJab'ın çözümünde bulunan DN ile birlikte kullanın.
Nicolas Raoul

7

Her zaman OU'yu yazmanın doğru yolunu bulmakta sorun yaşadım. Komut dsquery ou domainroot, etki alanınızdaki tüm OU'ların doğru adlarının bir listesini verecektir. Bunun daha büyük bir organizasyon için yardımcı olup olmadığından emin değilim.



4

ADSIedit'i açarsanız, Bağlan ... seçeneğini seçtiğinizde size yol gösterilmelidir.

görüntü tanımını buraya girin



1

En kolay yolu buldum :

Ayrıca

Active Directory sunucusu -> Organizasyon Birimi Seçin OU -> Sağ Tıkla -> Özellikler -> AttributeEditor -> Ayırt EdiciAdı

Bunları Microsoft Windows Server 2012 R2’den aldım

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.