Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Alle Domänen auflisten...

  Alt 15. Okt 2007, 11:11
Ich habe da eine Lösung gefunden, welche zu funktionieren scheint
Ich habe es im Büro getestet (klitzekleine Domain) und bei BMW Worldwide (nicht gerade klitzeklein )
Beispielcode und Erklärung: http://www.gumpi.com/Blog/2007/10/15...sAndSites.aspx

Auszug aus dem Code. Zuerst musst Du die Basisdomain aus dem AD ermitteln:
Delphi-Quellcode:
// get the forest base
try
  DirObj := VBGetObject('LDAP://rootDSE') as IADs;
  Root := (VBGetObject('LDAP://' + DirObj.Get('rootDomainNamingContext')) as IADs).ADsPath;
except
  mmoReport.Lines.Add('Computer is not running in domain setup.');
  Exit;
end;
// replace LDAP with GC (global catalog)
Root := 'GC' + Copy(Root, 5, MaxInt);
mmoReport.Lines.Add(Root);
Dann musst Du via ADO die Domains bzw. Sites ermitteln und das Recordset iterieren:
Delphi-Quellcode:
// ADO Abfragen je nach Wunsch
Query := 'SELECT Name FROM ' + QuotedStr(Root) + ' WHERE objectCategory=''domain''';
Query := 'SELECT Name FROM ' + QuotedStr(Root) + ' WHERE objectCategory=''site''';
Ein komplettes Beispiel zum Download findest Du in meinem Blog verlinkt

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat