Re[3]: Программно определить администратора компютера
От: tyger Россия  
Дата: 16.04.07 09:19
Оценка: 3 (1)
Здравствуйте, masta-smooky, Вы писали:


MS>Спасибо вам большое tyger,

Вот который раз уже... спасибо, а оценку никто не поставит...

MS>я розобрался в mmc написал программу которая может смотреть какие есть группы на компютере но вот никак немогу посмотреть кто в етих группах состоит. Ведь группа ето уже не node. Как я уже не пробовал их вытянуть, ну никак не получаеться там у node есть проперти Property я думаю что список пользователей через него можно достать но я никак немогу. Так что мож кто знает подскажите пожалуйста. Вот код правда он на VB просто времени небыло на с# переписать я думаю и так понятно:

MS>Sub Main()
<skipped>
MS>        objMMC = CreateObject("MMC20.Application")
MS>        objMMC.Load("C:\Console1.msc") 'Локальные пользователи и группы
MS>        objDoc = objMMC.Document 'Документ
MS>        objSN = objDoc.ScopeNamespace 'Пространство имён
MS>        objRoot = objDoc.RootNode 'Корневой узел

MS>        objNode = objSN.GetChild(objRoot) 'Узел "Локальные пользователи и группы (локально)"

MS>        objNode = objSN.GetChild(objNode) 'Узел "Пользователи"
'или здесь. Непоянтно почему не стал перебирать пользователей, у них должен быть атрибут, 
'который говорит о том, членом какой группы он является (по аналогии с ActiveDirectory это memberOf)

MS>        objNode = objSN.GetNext(objNode) 'Узел "Группы"
MS>        objView = objDoc.ActiveView 'Отображение
MS>        objView.ActiveScopeNode = objNode 'Установка активного узла для отображения
MS>        objList = objView.ListItems 'Получение списка в отображении
MS>        For Each objItem In objList 'Обход списка
MS>            sName = objView.CellContents(objItem, 1) 'Имя группы
MS>            sFullName = objView.CellContents(objItem, 2) 'Описание группы
'А чего ты здесь остановился? Какие там дальше параметры есть? 
'Если судить по тому как это организованно в ActiveDirectory, 
'то там должно быть что-то типа атрибута member, в котором указаны все члены...
MS>        Next
MS>    End Sub
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.