Finding the Site Links for a Site






Finding the Site Links for a Site

Problem

You want to list the site links that are associated with a site.

Solution

Using a graphical user interface
  1. Open LDP and from the menu, select Connection Connect.

  2. For Server, enter the name of a domain controller (or leave blank to do a serverless bind).

  3. For Port, enter 389.

  4. Click OK.

  5. From the menu, select Connection Bind.

  6. Enter the credentials of the domain user.

  7. Click OK.

  8. From the menu, select Browse Search.

  9. For BaseDN, type the Inter-Site Transports container DN (e.g.,cn=Inter-siteTransports,cn=sites,cn=configuration,dc=rallencorp,dc=com).

  10. For Scope, select Subtree.

  11. For Filter, enter the following:

    	(&(objectcategory=siteLink)(siteList=cn=<SiteName>,
    	cn=sites,cn=configuration,<ForestRootDN>))
    

  12. Click Run.

Using a command-line interface

You can list the site links associated with a particular site using DSQuery or AdFind. DSQuery requires the following syntax:

	> dsquery * "cn=inter-site transports,cn=sites,cn=configuration,<ForestRootDN>"
	-filter "(&(objectcategory=siteLink)(siteList=cn=<SiteName>,
	cn=sites,cn=configuration,<ForestRootDN>))" -scope subtree -attr name

To obtain this information using AdFind, use the following:

	> adfind config f "(&(objectcategory=siteLink)(siteList=cn=<SiteName>
	,cn=sites,cn=configuration,<ForestRootDN>))" name

Using VBScript
	' This code displays the site links associated with the specified site.
	' ------ SCRIPT CONFIGURATION ------
	strSiteName = "<SiteName>" ' e.g. Raleigh
	' ------ END CONFIGURATION --------

	set objRootDSE = GetObject("LDAP://RootDSE")
	strSiteDN = "cn=" & strSiteName & ",cn=sites," & _
	            objRootDSE.Get("ConfigurationNamingContext")

	strBase    = "<LDAP://cn=Inter-site Transports,cn=sites," _
	              & objRootDSE.Get("ConfigurationNamingContext") & ">;"
	strFilter  = "(&(objectcategory=siteLink)" & _
	             "(siteList=" & strSiteDN & "));"
	strAttrs   = "name;"
	strScope   = "subtree"

	set objConn = CreateObject("ADODB.Connection")
	objConn.Provider = "ADsDSOObject"
	objConn.Open "Active Directory Provider"
	set objRS = objConn.Execute(strBase & strFilter & strAttrs & strScope)

	WScript.Echo "Total site links for " & strSiteName & ": " & objRS.RecordCount
	if objRS.RecordCount > 0 then

	   objRS.MoveFirst
	   while Not objRS.EOF
	       Wscript.Echo vbTab & objRS.Fields(0).Value
	       objRS.MoveNext
	   wend
	end if

Discussion

A site can be included as a part of zero or more site links. A site with no site links would be considered orphaned from the site topology, since there is no way to determine how and where it connects into the topology. Branch office sites may have only a single site link back to a hub, while a hub site may have numerous links that connect it to the rest of the world.

Finding the site links associated with a site consists of performing a query for all siteLink objects that have the DN of the site included in the siteList attribute for a link. The siteList attribute is a multivalued attribute that contains all the sites that are connected via the site link.



 Python   SQL   Java   php   Perl 
 game development   web development   internet   *nix   graphics   hardware 
 telecommunications   C++ 
 Flash   Active Directory   Windows