AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Attribute im AD löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Attribute im AD löschen

Ein Thema von Kleffi · begonnen am 24. Mär 2008 · letzter Beitrag vom 24. Mär 2008
 
Benutzerbild von Kleffi
Kleffi

Registriert seit: 24. Mär 2008
4 Beiträge
 
Delphi 7 Professional
 
#1

Attribute im AD löschen

  Alt 24. Mär 2008, 13:44
Datenbank: Active Directory • Zugriff über: ADSI
Hallo!

Ich schreibe gerade eine Anwendung zur Benutzerverwaltung. Dazu greife ich auch auf das AD zu und arbeite mit ein paar Userdaten.
Das Thema Active Directory ist neu für mich, doch ich habe hier und unter agnisoft einige hilfreiche Beiträge gefunden.
Soweit klappt auch alles. Ich kann AD-Werte lesen und auch schreiben.

Problem:
Ich bekomme es einfach nicht hin, Werte zu LÖSCHEN (auf NULL zu setzen)!!!

Speziell geht es um die Attribute "homeDrive", "HomeDirectory" und "LoginScript".
Aber selbst "FirstName" und andere kann ich nur ändern/setzen, aber nicht löschen!

Hier der Code zum Setzen der Werte.
(Ich doktor da immer noch rum)
Delphi-Quellcode:
procedure TfrmScript.btnUpdateUserSettingsClick(Sender: TObject);
var
  User : IDispatch;
begin
  if Failed(ADsGetObject(edtADsPath.Text, IID_IADsUser, user)) then
    Exit;
  with (User as IADsUser) do begin
    try
      FirstName := edtFirstName.Text;
    except
      PutEx(ADS_PROPERTY_CLEAR, 'FirstName', Null);
    end;
    try
      LastName := edtLastName.Text;
    except
    end;
    try
      FullName := edtFullName.Text;
      put('displayName', edtFullName.Text);
    except
    end;
    try
      if (cbHomeDrive.ItemIndex = 0) or (cbHomeDrive.ItemIndex = -1) then
        PutEx(ADS_PROPERTY_CLEAR, 'homeDrive', Null)
      else
        put('homeDrive', cbHomeDrive.Text);
    except
        PutEx(ADS_PROPERTY_CLEAR, 'homeDrive', Null);
    end;
    try
      if edtHomeDirectory.Text = 'then
        PutEx(ADS_PROPERTY_CLEAR, 'HomeDirectory', NULL)
      else
        HomeDirectory := edtHomeDirectory.Text;
    except
    end;
    try
      if cbLoginScripts.Text = 'then
        putex(ADS_PROPERTY_CLEAR, 'LoginScript', 0)
      else
        LoginScript := cbLoginScripts.Text;
    except
    end;
    try
      AccountDisabled := chbDisabled.Checked;
    except
    end;
    (* Speichern *)
    try
      SetInfo;
    except
    end;
  end;
end;
Nach allem, was ich bisher gefunden habe, müsste das mit PUTEX eigentlich funktionieren.
Fehlermeldungen bekomme ich auch nicht, aber es ändert sich auch nix.

Langsam bin ich am Verzweifeln .
Ich hoffe, ihr könnt mir helfen!!!!
  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 06:57 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 by Thomas Breitkreuz