четверг, 30 октября 2008 г.

Примерчик работы с WMI через ADO

Встала у меня задачка надо синхронизировать содежимое ActiveDirectory и справочников 1С.

Ниже кратенький и вполне достойный пример, опроса WMI на предмет активных аккаунтов (сиречь пользователей).

P.S. А после дело синхронизации становиться легким и простым как два байта переслать. :)

  1. objConnection = ПолучитьCOMОбъект("","ADODB.Connection");
  2. objConnection.Open("Provider=ADsDSOObject");
  3. objCommand = ПолучитьCOMОбъект("","ADODB.Command");
  4. objCommand.ActiveConnection = objConnection;
  5. objCommand.CommandText =
  6. "<GC://OU=XXX,dc=YYY,dc=loc>;objectCategory=User);displayName,sAMAccountName,
  7. telephoneNumber,userAccountControl,objectGuid,distinguishedName,mail;subtree";
  8. objRecordSet = objCommand.Execute();
  9. Пока НЕ(objRecordset.EOF) Цикл
  10.  Логин = objRecordset.Fields("sAMAccountName").Value;
  11.  Почта = objRecordset.Fields("mail").Value;
  12.  Имя   = objRecordset.Fields("displayName").Value;
  13.  
  14.  Если ПустаяСтрока(Имя) Тогда
  15.   objRecordset.MoveNext();
  16.   Продолжить;   
  17.  КонецЕсли;

Комментариев нет: