Einzelnen Beitrag anzeigen

Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Objekte im Active Directory verschieben

  Alt 17. Aug 2023, 11:59
Fehler gefunden !!!
Falls es jemand gebrauchen kann, hier der finale Code:

Code:
function MoveADObject(const ldapPath, newParentPath: string): Boolean;
var
  sourceObject: IADs;
  destinationParent: IADsContainer;
  destinationName: string;
begin
  Result := False;

  try
    // Bind zum Quellobjekt, das verschoben werden soll
    if Succeeded(ADsGetObject(PWideChar(ldapPath), IID_IADs, Pointer(sourceObject))) then
    begin
      try
        // Bind zum Zielübergeordneten Container
        if Succeeded(ADsGetObject(PWideChar(newParentPath), IID_IADsContainer, Pointer(destinationParent))) then
        begin
          try
            // Holen Sie den Namen des Quellobjekts
            destinationName := sourceObject.Name;

            // Verschieben Sie das Objekt in den Zielcontainer
            destinationParent.MoveHere(WideString(ldapPath), WideString(destinationName));

            Result := True;
          finally
            destinationParent := nil; // Freigeben des Zielübergeordneten Containers
          end;
        end
        else
          ShowMessage('Zielübergeordneter Container konnte nicht gefunden werden.');
      finally
        sourceObject := nil; // Freigeben des Quellobjekts
      end;
    end
    else
      ShowMessage('Quellobjekt konnte nicht gefunden werden.');
  except
    on E: Exception do
    begin
      ShowMessage('Fehler beim Verschieben des Objekts: ' + E.Message);
    end;
  end;
end;
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat