Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Доменные пользователи в локальных группах

13K
30 августа 2006 года
varta
7 / / 09.12.2005
Есть проблема. Как можно определить, в каких локальных группах находится доменный аккаунт. Вариант "посмотреть в самих группах" отпадает, я поседею скорее. Права есть админские на локальном компе и просто пользователь в домене. Может кто знает решение или скрипт какой-нить?
405
05 сентября 2006 года
Dmitrii
554 / / 16.12.2004
Могу предложить вот такой сценарий:
Код:
className = "Win32_GroupUser"
compName = "ws_name"
tstUser = "user_name"
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & compName & "\root\cimv2")
Set guCollection = objWMI.ExecQuery("Select * from " & className)
For Each curObj In guCollection
    groupComp = Replace(curObj.GroupComponent, """", "")
    xPos = InStrRev(groupComp, "Domain=" & compName, -1, vbTextCompare)
    If xPos > 0 Then
        partComp = Replace(curObj.PartComponent, """", "")
        xPos = InStrRev(partComp, "=")
        xName = Mid(partComp, xPos + 1)
        If StrComp(xName, tstUser, vbTextCompare) = 0 Then
            xPos = InStrRev(groupComp, "=")
            xName = Mid(groupComp, xPos + 1)
            resList = resList & xName & vbCr
        End If
    Else
        Exit For       
    End If
Next
If resList <> "" Then
    WScript.Echo "Учётная запись пользователя " & UCase(tstUser) & " обнаружена в локальных группах:" & vbCr & vbCr & resList
Else
    WScript.Echo "Учётная запись пользователя " & UCase(tstUser) & " не обнаружена ни в одной из локальных групп."
End If

Примечания:
1. Сценарий работает корректно лишь в том случае, когда в списке локальных учётных записей нет "учётки" с именем, которое совпадает с именем какой-либо доменной "учётки".
Для полностью корректного поиска необходимо знать не имена, а SID. Однако для их получения необходимо иметь права аминистратора домена (или выпросить у "сисадмина" таблицу соответствий имён учетных записей и их SID).
2. Вместо ws_name и user_name надо подставить реальные имена "исследуемых" рабочей станции и учётной записи (соответственно).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог