schumischumi
Lt. Commander
- Registriert
- Dez. 2011
- Beiträge
- 1.121
Hi
ich will mir Site-Informationen aus dem AD holfen und verwende dafür folgenden code:
funktioniert soweit wunderbar, aber ich muss halt erst die komplette Site-Liste im Forest durchgehen bis site.Name == "Sitename" ist. dauert halt recht lange wenn man sehr sehr viele Sites hat.
würde mir eben gerne eine spezielle Site rausziehen ohne das ganze durchzulaufen. Wahrscheinlich was ganz simples aber steh gerade auf dem schlauch.
danke schomal
ich will mir Site-Informationen aus dem AD holfen und verwende dafür folgenden code:
Code:
try
{
string targetForestName = "test.domain.local";
DirectoryContext context = new DirectoryContext(
DirectoryContextType.Forest,
targetForestName,"administrator", "adminpasswort");
Forest forest = Forest.GetForest(context);
foreach (ActiveDirectorySite site in forest.Sites)
{
if(site.Name == "Sitename"){
add2List(2,"Site", site.Name);
Console.WriteLine("It contains domain:");
foreach (Domain d in site.Domains)
{
add2List(2,"Domain", d.Name);
}
foreach (DirectoryServer d in site.Servers)
{
add2List(2,"server", d.Name);
add2List(2,"server-ip", d.IPAddress);
System.Collections.IEnumerator myEnumerator1 = d.Partitions.GetEnumerator();
while ( myEnumerator1.MoveNext() ){
add2List( 2,"partitions", ""+myEnumerator1.Current );
}
System.Collections.IEnumerator myEnumerator = d.InboundConnections.GetEnumerator();
while ( myEnumerator.MoveNext() ){
add2List( 2,"inbound", ""+myEnumerator.Current );
}
}
foreach (ActiveDirectorySiteLink sl in site.SiteLinks)
{
add2List(2,"Sitelink", sl.Name);
System.Collections.IEnumerator myEnumerator3 = sl.Sites.GetEnumerator();
while ( myEnumerator3.MoveNext() ){
add2List(2, "site-sites", ""+myEnumerator3.Current );
}
}
foreach (ActiveDirectorySubnet subnet in site.Subnets)
{
add2List(2,"Subnet, location, site",
subnet.Name + "; " +
subnet.Location + "; " +
subnet.Site);
}
add2List(2,"InterSiteTopologyGenerator is",
""+site.InterSiteTopologyGenerator);
}
}
}
catch (Exception e)
{
MessageBox.Show("\rUnexpected exception occured:\r" +
e.GetType().Name + ":" + e.Message);
}
funktioniert soweit wunderbar, aber ich muss halt erst die komplette Site-Liste im Forest durchgehen bis site.Name == "Sitename" ist. dauert halt recht lange wenn man sehr sehr viele Sites hat.
würde mir eben gerne eine spezielle Site rausziehen ohne das ganze durchzulaufen. Wahrscheinlich was ganz simples aber steh gerade auf dem schlauch.
danke schomal