2010-01-12 3 views
0

Мне нужно получить список всех людей в компании, у которых есть местные права администратора на своих компьютерах. У нас есть группа на каждой машине под названием «Администраторы». Я могу получить список всех компьютеров из активной директории с:.Как использовать Python для получения локальных администраторов с компьютера в сети?

import active_directory 

for computer in active_directory.search ("objectCategory='Computer'"): 
    print computer.displayName 

Теперь я думаю, что нужно принимать каждое имя компьютера и кормить его обратно в Я думал, может быть чтение удаленного реестра на каждом компьютере, и ищет SID - предположительно SID S-1-5-domain-500 'даст мне список людей на компьютере, которые являются локальными администраторами. Я сделал:

import _winreg 
COMPUTER_NAME = "FakeComputerName" 
KEY_PATH = r"System\CurrentControlSet\Control\ComputerName\ComputerName" 
HKLM_remote = _winreg.ConnectRegistry (r"\\%s" % COMPUTER_NAME, _winreg.HKEY_LOCAL_MACHINE) 
hKeyRemote = _winreg.OpenKey (HKLM_remote, KEY_PATH, 0, _winreg.KEY_READ) 
value, type = _winreg.QueryValueEx (hKeyRemote, "ComputerName") 
print "Remote computer name is", value 
Remote computer name is FakeComputerName 

Как объединить их, чтобы получить то, что мне нужно? Будут ли они работать вместе? Это лучший способ сделать это? Как только я получу это для работы, я могу понять, записывая его в файл и добавляя исключения, например, если компьютер не в сети, он пишет это, а затем переходит на следующий компьютер. Возможно, используйте win32security?

Я не знаю, какой ключ реестра использовать или даже если он будет работать. Сегодня я провел около 5 часов, и я все еще изучаю Python. Я не знаю VB, и это большая часть кода, который я вижу в сети.

Спасибо!

ответ

0

Значит ли это, что данные этой операции будут обработаны впоследствии? Если это ручное сканирование, на которое будет смотреть человек, тогда вы можете его переусердствовать.

Просто используйте сетевой сканер для его обработки, например this one.

0

Я не уверен в деталях, но похоже, что вы можете взглянуть на пакет WMI.

Назад, когда я играл с COM и реестром Windows и наткнулся на него. Похоже, он немного улучшился, когда я посмотрел на него.

Вот справочная документация по окнам. WMI Reference