AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Objekte im Active Directory verschieben
Thema durchsuchen
Ansicht
Themen-Optionen

Objekte im Active Directory verschieben

Ein Thema von kuba · begonnen am 26. Jul 2023 · letzter Beitrag vom 17. Aug 2023
 
Benutzerbild von kuba
kuba

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

AW: Objekte im Active Directory verschieben

  Alt 30. Jul 2023, 10:44
Ich habe jetzt eine andere Variante des Code bei dem ich Fehlerbehandlungen eingebaut habe. Ich erhalte jetzt vom Betriebssystem die Meldung "unbekannter Fehler". Ich vermute dass die Ursache in der von mir verwendeten JEDI-Library vorhanden ist. Ich verwende die "trunc" Version. Kennt sich jemand aus ? Sollte ich eine "branches" Version benutzen ? Wenn ja, welche ?

Code:
uses
  SysUtils, JwaWindows, JwaActiveDs, JwaAdsTlb, ComObj;

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 ADsGetObject(PWideChar(WideString(ldapPath)), IADs, Pointer(sourceObject)) = S_OK then
    begin
      try
        // Bind zum Zielübergeordneten Container
        if ADsGetObject(PWideChar(WideString(newParentPath)), IADsContainer, Pointer(destinationParent)) = S_OK then
        begin
          try
            // Holen Sie den Namen des Quellobjekts
            destinationName := sourceObject.Name;

            // Verschieben Sie das Objekt in den Zielcontainer
            destinationParent.MoveHere(Format('LDAP://%s', [destinationName]), 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
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz