Einzelnen Beitrag anzeigen

Benutzerbild von GimbaR
GimbaR

Registriert seit: 17. Apr 2004
Ort: Weltmetropole Rostock ;)
134 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Adresse des Domänencontrollers ermitteln

  Alt 13. Mär 2007, 16:48
Glücklicherweise stand ich vor einiger Zeit vor dem selben Problem

Wenn du den PDC (ich glaub bei Windows Server 2003 wird der erste DC genommen, da es imho in dem Sinne keinen primären DC gibt) vom PC, auf dem das Programm läuft, und von der Domäne, in der sich dieser PC befindet, ermitteln willst, reicht ein einfacher aufruf von GetPDC ohne Parameter. Alles weitere sollte man aber im MSDN unter MSDN-Library durchsuchenNetGetDCName finden

Delphi-Quellcode:
function GetPDC(Host: WideString = ''; Domain: WideString = ''): String;
var
  pPDC : Pointer;
  Err : Integer;
begin
  // Standard zuweisen
  pPDC:= nil;

  try
    // PDC durch API-Aufruf zuweisen
    Err:= NetGetDCName(PWideChar(Host), PWideChar(Domain), pPDC);

    // PDC auslesen und als Result festlegen
    if (Err = 0) and (pPDC <> nil) then
      Result := PWideChar(pPDC);
  finally
    // Speicher des Pointer freigeben
    NetApiBufferFree(pPDC);
  end;

end;
PS: Ich bin mir nich mehr ganz sicher, aber es kann sein dass diese Funktion ursprünglich aus der DP stammt. Ich hoffe der (eventuell^^) Autor kann mir verzeihen, aber leider weiß ich es nicht mehr genau

PS2: Hätt ich fast vergessen: Es ist wichtig dass der Computername im Parameter Host mit '\\' beginnt!
Jonas
Bei dem Tempo ist es nur noch eine Frage der Zeit bis SSchäuble verlangt allen deutschen Bürgern ein Halsband zur ständigen Überwachung zu verpassen...
  Mit Zitat antworten Zitat