Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wykaz globalny to przestrzeń nazw zawierająca dane katalogu dla wszystkich domen w lesie. Wykaz globalny zawiera częściową replikę każdego katalogu domeny. Zawiera on wpis dla każdego obiektu w lesie przedsiębiorstwa, ale nie zawiera wszystkich właściwości każdego obiektu. Zamiast tego zawiera tylko właściwości określone do włączenia do wykazu globalnego.
Wykaz globalny jest przechowywany na określonych serwerach w całym przedsiębiorstwie. Tylko kontrolery domeny mogą służyć jako serwery wykazu globalnego. Administratorzy wskazują, czy dany kontroler domeny posiada globalny katalog, używając Menedżera witryn i usług Active Directory.
Aby połączyć się z katalogiem globalnym za pomocą interfejsu ADSI, użyj monikera "GC:".
Istnieją dwa sposoby powiązania z wykazem globalnym w celu przeprowadzenia wyszukiwania w lesie:
- Połącz się z obiektem głównym przedsiębiorstwa, aby przeszukiwać wszystkie domeny w lesie domen.
- Powiąż z określonym obiektem, aby wyszukać ten obiekt i jego obiekty podrzędne. Na przykład, jeśli powiążesz się z domeną, która ma dwie domeny poniżej w drzewie domen, możesz przeszukiwać te trzy domeny. Należy pamiętać, że nazwa wyróżniająca obiektu, z którą ma zostać powiązana, jest dokładnie taka sama jak nazwa wyróżniająca używana do powiązania z przestrzenią nazw "LDAP:". Pamiętaj, że "LDAP:" jest pełną repliką pojedynczej domeny i że "GC:" jest częściową repliką wszystkich domen w lesie.
Podobnie jak w przypadku nazwy "LDAP:" można użyć powiązania bezserwerowego lub powiązania z określonym serwerem wykazu globalnego. W przypadku wyszukiwania w bieżącym lesie użyj powiązania bezserwerowego. Jeśli jednak chcesz wyszukiwać w innym lesie, określ nazwę domeny lub serwer wykazu globalnego do powiązania, tak jak w poniższych przykładach.
Powiązywanie przy użyciu nazwy domeny:
GC://fabrikam.com
Powiązywanie przy użyciu nazwy serwera:
GC://servername
Można również powiązać z określonym obiektem w wykazie globalnym. Aby powiązać obiekt sprzedaży w domenie fabrikam, użyj następującego formatu.
GC://fabrikam.com/DC=sales,DC=fabrikam,DC=com
Aby powiązać obiekt sprzedaży na serwerze, użyj następującego formatu.
GC://servername.fabrikam.com/DC=sales,DC=fabrikam,DC=com
Aby przeszukać cały las
- Połącz się z korzeniem przestrzeni nazw wykazu globalnego.
- Wylicz kontener katalogu globalnego. Kontener wykazu globalnego zawiera pojedynczy obiekt, którego można użyć do przeszukiwania całego lasu.
- Użyj obiektu w kontenerze, aby przeprowadzić wyszukiwanie. W języku C/C++wywołaj QueryInterface, aby uzyskać wskaźnik IDirectorySearch na obiekcie, aby można było użyć interfejsu IDirectorySearch do wykonania wyszukiwania. W języku Visual Basic użyj obiektu zwróconego z wyliczenia w zapytaniu ADO.
Aby wyliczyć serwery Globalnego Katalogu w lokalizacji, wykonaj wyszukiwanie poddrzewa LDAP "cn=<witryny>,cn=sites,<DN konfiguracji NamingContext>", używając następującego ciągu filtrującego.
(&(objectCategory=nTDSDSA)(options:1.2.840.113556.1.4.803:=1))
Ten filtr używa operatora reguły dopasowywania LDAP_MATCHING_RULE_BIT_AND (1.2.840.113556.1.4.803), aby znaleźć nTDSDSA obiekty, które mają ustawiony bit o niskiej kolejności w masce bitowej atrybutu opcji. Bit o niskiej kolejności, który odpowiada stałej NTDSDSA_OPT_IS_GC zdefiniowanej w ntdsapi.h, identyfikuje nTDSDSA obiektu serwera wykazu globalnego. Aby uzyskać więcej informacji na temat dopasowywania reguł, zobacz Składnia filtru wyszukiwania.
Elementem nadrzędnym obiektu nTDSDSA jest obiekt serwera, a właściwość dNSHostName obiektu serwera jest nazwą DNS serwera wykazu globalnego.
Nie można używać stałych #define, takich jak NTDSDSA_OPT_IS_GC i LDAP_MATCHING_RULE_BIT_AND, bezpośrednio w łańcuchu filtru wyszukiwania. Można jednak użyć tych stałych jako argumentów do funkcji, takiej jak swprintf_s, aby wstawić wartości stałe do ciągu filtru.
Katalog globalny nie odzwierciedla całej struktury lasu. Na przykład można oczekiwać, że poniższy przykład kodu wylicza wszystkie domeny w lesie i wszystkie obiekty podrzędne każdej domeny. W rzeczywistości, to co faktycznie robi, to wylicza wszystkie domeny w lesie, ale żaden z wyliczonych obiektów domeny nie zawiera żadnych dzieci. Jest to ograniczenie globalnego katalogu.
Dim oGC As IADs
Dim oDomain As IADs
Dim oChild As IADs
Set oGC = GetObject("GC:")
For Each oDomain In oGC
' Print the name of the domain.
Debug.Print oDomain.Name
' Enumerate the child objects of the domain.
For Each oChild In oDomain
Debug.Print oChild.Name
Next
Next
Aby rozwiązać ten krok, należy powiązać z każdym obiektem domeny, a następnie wyliczyć obiekty podrzędne każdej domeny. Właściwa technika jest pokazana w poniższym przykładzie kodu.
Dim oGC As IADs
Dim oDomainEnum As IADs
Dim oDomainBind As IADs
Dim oChild As IADs
Set oGC = GetObject("GC:")
For Each oDomainEnum In oGC
' Print the name of the domain.
Debug.Print oDomainEnum.Name
' Bind to the domain.
Set oDomainBind = GetObject("LDAP://" + oDomainEnum.Name)
' Enumerate the child objects of the domain.
For Each oChild In oDomainBind
Debug.Print oChild.Name
Next
Next
Aby uzyskać więcej informacji i przykładów kodu, które pokazują, jak przeszukiwać cały las, zobacz przykładowy kod wyszukiwania lasu.