1 (изменено: afteroot, 2011-07-13 15:03:47)

Тема: VBS & WMI: Просмотр Списка Груп Администраторы на удалённом компьютре

Ребята помогите плиз реализовать!
Хочу прочитать сабж (Локальных Администраторов). В идеале если кто знает что б и можно было добавлять так же удалённо!
Заранее спасибо!

2

Re: VBS & WMI: Просмотр Списка Груп Администраторы на удалённом компьютре

Исправьте ошибки грамматические.

3

Re: VBS & WMI: Просмотр Списка Груп Администраторы на удалённом компьютре

В качестве отправной точки можно использовать сценарий, представленный здесь:
VBS & ADSI: Контроль группы локальных админ-ов на станциях домена

4

Re: VBS & WMI: Просмотр Списка Груп Администраторы на удалённом компьютре

Тема VBS & ADSI: Контроль группы локальных админ-ов на станциях домена дополнена кодом функции, способной как очищать, так и расширять список членов группы локальных администраторов.

5

Re: VBS & WMI: Просмотр Списка Груп Администраторы на удалённом компьютре

Спасибо конечно, за ответ, но меня интересует именно не от что бы я вбивал, а просто что б шло по ветке.. там около 2000 компов! Я физически не смогу их туда впихнуть!

6 (изменено: Dmitrii, 2011-07-15 17:06:39)

Re: VBS & WMI: Просмотр Списка Груп Администраторы на удалённом компьютре

1. Выражайте, пожалуйста, свои мысли яснее.
1.1. Пишите грамотно.
1.2. Поясните фразу "просто что б шло по ветке".
2. Вам была предложена лишь отправная точка (то есть заготовка), а не "заточенная" под Ваши условия реализация.
Речь-то в первом сообщении Вы вели о помощи, а не о предоставлении готового решения.
3. Если не знаете, как получить список всех станций домена, то вот пример кода, который формирует массив NetBIOS-имён станций, работающих под управлением ОС Windows не серверного типа.

Dim objRoot, strDomain, arrTemp(), i
Dim objConnection, objCommand, objRSet, strCommandText
Const ADS_SCOPE_SUBTREE = 2
Const ADS_UF_ACCOUNTDISABLE = 2

Set objRoot = GetObject("LDAP://RootDSE")
strDomain = objRoot.Get("DefaultNamingContext")
Set objRoot = Nothing
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand = CreateObject("ADODB.Command")
Set objCommand.ActiveConnection = objConnection
strCommandText = "SELECT cn,userAccountControl,operatingSystem FROM 'LDAP://" & strDomain & "' WHERE objectCategory='Computer'"
objCommand.CommandText = strCommandText
objCommand.Properties("Page Size") = 3000
objCommand.Properties("Timeout") = 30
objCommand.Properties("Sort On") = "cn"
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRSet = objCommand.Execute
objRSet.MoveFirst
i = 0
Do
    If Not (objRSet.Fields("userAccountControl").Value And ADS_UF_ACCOUNTDISABLE) Then
        strTemp = objRSet.Fields("operatingSystem").Value
        If Not IsNull(strTemp) Then
            If InStr(1, strTemp, "windows", vbTextCompare) > 0 And _
                InStr(1, strTemp, "server", vbTextCompare) = 0 Then
                ReDim Preserve arrTemp(i)
                arrTemp(i) = objRSet.Fields("cn").Value
                i = i + 1
            End If
        End If
    End If
    objRSet.MoveNext
Loop While Not objRSet.EOF
Set objRSet = Nothing
Set objCommand = Nothing
objConnection.Close
Set objConnection = Nothing