Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обзор компьютеров в домене, GetObject [D6, NT4, Win2k]


lka ©   (2006-05-15 08:19:00) 

Добрый день!
пытаюсь получить список компьютеров домена.
почитал доки наткнулся на интересный пример с использованием технологии COM на Визуал Бэйсике:

Set comp = GetObject("WinNT://DOMAIN,domain")
comp.Filter = Array("computer")
For Each svc In comp
 Debug.Print svc.Name & "  " & svc.DisplayName
Next


Вопрос как это можно реализовать на Delphi?
не нашел ни чего похожего на GetObject..


Rouse_   (2006-05-24 16:57:00) [1]

http://rouse.front.ru/domaininfo.zip


lka   (2006-05-23 15:20:00) [2]

Сайт конечно хороший...
но имеем одну проблему...
WMIcore только для NT4, что делать если у меня WIN2000?
нашел один вариант

function getobject(const name:string;accs:dword=STGM_default):variant;
var err:HResult;
 bo:tBINDOPTS;
 res:IDispatch;
 nm:widestring;
begin nm := name; fillchar(bo,sizeof(bo),0);
   with bo do begin cbStruct := sizeof(bo);
     grfFlags := BIND_MAYBOTHERUSER;
     grfMode := accs;
   end;
err:=CoGetObject(  @nm[1] , @bo , IDispatch , @res );
OleCheck(err);
result:=res;
end;

работает, вот только теперь не пойму как сделать FOR EACH ___ in ___


MetalFan   (2006-05-15 14:30:00) [3]

тогда, как я понимаю, Вам сюда
http://delphiworld.narod.ru/base/wmi_use.html


lka   (2006-05-15 13:59:00) [4]

не совсем...
данные примеры работают аналогично сетевому окружениют.е показывают только те компьютеры, которые в данный момент включены и не скрыты
а вот тот пример на VB работаем как Computer Managment, т.е показывает все компьютеры зарегистрированные в домене
есть еще пример для получении настройки Сетевой карты
GetObject("winmgmts:{impersonationLevel=impersonate}!//" + $Computer).ExecQuery("select IPAddress,IPSubnet,MACAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")


MetalFan   (2006-05-15 13:16:00) [5]

"Как найти все комьютеры в сети"
http://delphiworld.narod.ru/base/find_net_comps.html
http://delphiworld.narod.ru/base/find_net_comps2.html
http://delphiworld.narod.ru/base/find_net_comps3.html
http://delphiworld.narod.ru/base/find_net_comps4.htm
"Как найти все компьютеры в рабочей группе"
http://delphiworld.narod.ru/base/find_all_computers_in_workgroup.html

надеюсь поможет.
с ув.


Наверх

Титульная страница Поиск, карта сайта Написать письмо