🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
1 messages
1 total messages Started by Sivy Fri, 08 Jun 2018 13:57
ActiveDirectory
#346632
Author: Sivy
Date: Fri, 08 Jun 2018 13:57
99 lines
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