Active Directory

dział ogólny

Active Directory

Nowy postprzez Mironas » czwartek, 31 lipca 2014, 09:43

Jak podłączyć się do usługi Active Directory?
Jak odczytać dane - np o zalogowanym użytkowniku?

Czy można to zrobić zdalnie?
Albo inaczej - czy pod WinXP da się napisać i testować aplikację która ma docelowo działać na Windows Server i korzystać z Active Directory?

Oczywiście chodzi mi o ogólne wskazówki a nie gotowe rozwiązanie. No chyba, że ktoś już ma gotowca do wglądu ;)
Avatar użytkownika
Mironas
Programista I
Programista I
 
Posty: 427
Dołączył(a): poniedziałek, 2 stycznia 2012, 19:02
Podziękował : 17
Otrzymał podziękowań: 61
System operacyjny: Windows 10
Kompilator: C++Builder 10.3 Rio
TMS Components Pack
Gadu Gadu: 0
    Windows XPChrome

Re: Active Directory

Nowy postprzez Mironas » poniedziałek, 11 sierpnia 2014, 15:33

Może źle zadałem pytanie.

Mam potrzebę pozyskać z Active Directory (uruchomionym gdzieś na serwerze) informacje o użytkownikach (ich nazwy domenowe i nr telefonów). Oczywiście administrator da mi dostęp do AD i wskaże gdzie te informacje się znajdują.

Jednak nigdy nie korzystałem z AD i totalnie nie wiem od czego zacząć.
Czy XE ma jakieś komponenty które powinienem wykorzystać? A może są do tego jakieś biblioteki?
Jak zacząć ten temat?
Avatar użytkownika
Mironas
Programista I
Programista I
 
Posty: 427
Dołączył(a): poniedziałek, 2 stycznia 2012, 19:02
Podziękował : 17
Otrzymał podziękowań: 61
System operacyjny: Windows 10
Kompilator: C++Builder 10.3 Rio
TMS Components Pack
Gadu Gadu: 0
    Windows XPChrome

Re: Active Directory

Nowy postprzez Cyfrowy Baron » poniedziałek, 11 sierpnia 2014, 19:22

Ja też nigdy z tego nie korzystałem, a w Windows 7 to nawet nigdzie tego nie widzę. Poczytaj tutaj może czegoś się dowiesz:

http://msdn.microsoft.com/en-us/library ... 85%29.aspx
http://msdn.microsoft.com/en-us/library ... 85%29.aspx

A tutaj jest nawet jakiś przykładowy kod:

http://www.borlandtalk.com/adsi-with-bu ... 94543.html
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox

Re: Active Directory

Nowy postprzez sebaskow » poniedziałek, 3 listopada 2014, 19:22

Witam.

Również potrzebuję pwyższych informacji.

Może ktoś wie coś więcej, jakiś przykład ?
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows 7Internet Explorer 8

Re: Active Directory

Nowy postprzez Cyfrowy Baron » wtorek, 4 listopada 2014, 05:43

Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox

Re: Active Directory

Nowy postprzez Mironas » wtorek, 4 listopada 2014, 12:09

Ja potrzebowałem pobrać z AD listę nazw użytkowników i ich numery telefonów. Ostatecznie użyłem do tego komponentów bazodanowych ADO.
Poniżej masz testowy kod dla tego konkretnego przypadku. Oczywiście należy zmienić takie dane jak IP, firma czy username, a w AD użytkownicy muszą mieć przypisane numery telefonów.

A tutaj masz parę przydatnych linków z których korzystałem:
http://stackoverflow.com/questions/1018 ... ll-and-wmi
http://www.kouti.com/tables/userattributes.htm
http://msdn.microsoft.com/en-us/library/aa772316(v=vs.85).aspx
http://www.computerperformance.co.uk/Lo ... ectory.htm

KOD cpp:     UKRYJ  
// Pobierz liste uzytkownikow i ich nr telefonow
void __fastcall TForm1::ToolButton1Click(TObject *Sender)
{
  String ldap = "LDAP://192.168.1.100/DC=firma,DC=local";
  String user = "username@firma";
  String pass = "xxxxxxxx";

  Memo1->Clear();
  bool ok = PobierzListe(ldap, user, pass, Memo1->Lines);
  ShowMessage( (ok)?"OK":"ERR" );
}
//---------------------------------------------------------------------------
// Zapisuje liste nr telefonow i nazw domenowych uzytkownikow z ActiveDirectory
// Zwraca TRUE jesli operacja sie udala
bool TForm1::PobierzListe(String ldap, String user, String pass, TStrings* lista)
{
  String numer, nazwa;
  bool ok = false;

  // zapytanie sql
  String sql  = "SELECT userPrincipalName, telephoneNumber FROM '"+ldap+"'"
                " WHERE objectClass='user' AND objectCategory='Person'";
  // ConnectionString
  String conn = "Provider=ADsDSOObject;Encrypt Password=True;Mode=Read";
  if ( user.Length() )
    conn += ";User ID="+user;
  if ( pass.Length() )
    conn += ";Password="+pass;

  try
  {
    ADOQuery1->ConnectionString = conn;
    ADOQuery1->SQL->Text        = sql;
    ADOQuery1->Open();
    while ( !ADOQuery1->Eof )
    {
      numer = ADOQuery1->FieldByName("telephoneNumber")->AsString;
      nazwa = ADOQuery1->FieldByName("userPrincipalName")->AsString;
      if ( numer.Length() && nazwa.Length() )
        lista->Values[numer] = nazwa;
      ADOQuery1->Next();
    }
    ok = true;
  }
  catch (Exception &E)
  {
    ShowMessage(E.Message);
  }
  ADOQuery1->Close();
  return ok;
}
//---------------------------------------------------------------------------
 
Avatar użytkownika
Mironas
Programista I
Programista I
 
Posty: 427
Dołączył(a): poniedziałek, 2 stycznia 2012, 19:02
Podziękował : 17
Otrzymał podziękowań: 61
System operacyjny: Windows 10
Kompilator: C++Builder 10.3 Rio
TMS Components Pack
Gadu Gadu: 0
    Windows XPChrome

Re: Active Directory

Nowy postprzez sebaskow » środa, 12 listopada 2014, 14:45

Dziękuję bardzo.

Również połączyłem się z AD prze ADO.

W trochę inny sposób ale też działa.
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows 7Internet Explorer 8


Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 1 gość