Thread View: pl.comp.lang.delphi
1 messages
1 total messages
Started by Sivy
Fri, 08 Jun 2018 13:57
ActiveDirectory
Author: Sivy
Date: Fri, 08 Jun 2018 13:57
Date: Fri, 08 Jun 2018 13:57
99 lines
3322 bytes
3322 bytes
Witam
Potrzebuję się połączyć do AD aby pobrać listę użytkowników i ich
niektórych danych.
Znalazłem w internecie taki artykuł
http://agnisoft.com/white_papers/active_directory.asp
pliki do niego też udało się odnaleźć, skompilowałem, uruchomiłem,
odczytało userów i grupy do których należą.
Czyli to co chciałem na początek widzę że jest.
Zacząłem przeglądać kod, aby odczytać inne informacje niż na załączonym
'demie' (tam jest tylko username, fullname i description).
I tutaj nie udało mi się pobrać innych danych, chciałem pobrać np.
Firstname, lastname, email, cokolwiek bym chciał pobrać dostaje taki
komunikat.
---------------------------
Debugger Exception Notification
---------------------------
Project UserManager.exe raised exception class EOleException with
message 'Nie można odnaleźć właściwości katalogu w buforze'.
---------------------------
Break Continue Help
---------------------------
---------------------------
Usermanager
---------------------------
Nie można odnaleźć właściwości katalogu w buforze.
---------------------------
OK
---------------------------
https://images.tinypic.pl/i/00966/648qn5i87kny.png
I teraz nie wiem czy ja coś źle robię czy to może inaczej trzeba robić.
Dla testów 'podpiąłem się' pod kod z dema gdzie są odczytywane niektóre
wartości
procedure TfrmUser.trUserChange(Sender: TObject; Node: TTreeNode);
var usr : IAdsUser;
flags : integer;
begin
if Node = nil then Exit;
if FUseOpenObject then
ADsOpenObject('WinNT://' + FDomain + '/' + Node.Text, FUserName,
FPassword, 1, IADsUser, usr)
else
ADsGetObject('WinNT://' + FDomain + '/' + Node.Text, IADsUser, usr);
Assert(usr <> nil);
edtUserName.Text := node.Text;
edtFullName.Text := usr.FullName;
edtDescription.Text := usr.Description;
i dopisałem następne pola, np
ShowMessage(usr.FirstName);
ShowMessage(usr.LastName);
ShowMessage(usr.EmailAddress);
ale zawsze wyrzuca błąd jak wyżej.
Najbardziej też zależy mi na "extensionAttribute", żeby tam się dostać.
Czy ten kod może jest już nieaktualny i trzeba użyć czegoś innego ?
Jeżeli tak to proszę o jakieś wskazówki, jakiś komponent, kod, etc.
Link do paczki tutaj
https://www.dropbox.com/s/bk1oae0pcjupz5z/adsicode.zip?dl=0
Środowisko:
Delphi 2007
Windows server 2012R2
Windows server 2016
Pozdrawiam
--
Sivy
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads