Как с помощью модуля pyad вывести список всех компьютеров из Active Directory и возможно ли?
То есть аналогично команде в PowerShell Get-ADComputer -Filter * -Properties *
Или может посоветуете какой - то другой модуль для python ?
import pyad # Подключитесь к Active Directory pyad.set_defaults(ldap_server="ldap://your_domain_controller", username="your_username", password="your_password") # Получите список всех компьютеров computers = pyad.Computer.get_all_computers() # Распечатайте имена компьютеров for computer in computers: print(computer.cn)
from pyad import adquery def get_all_computers(): q = adquery.ADQuery() q.execute_query( attributes=["cn", "distinguishedName"], where_clause="objectClass='computer'", base_dn="DC=example,DC=com" # Замените на ваш домен ) computers = [] for row in q.get_results(): computers.append(row["cn"]) return computers if __name__ == "__main__": computers = get_all_computers() for computer in computers: print(computer)
import pyad # Подключитесь к Active Directory pyad.set_defaults(ldap_server="ldap://your_domain_controller", username="your_username", password="your_password") # Осуществите поиск всех компьютеров computers = pyad.Computer.search() # Распечатайте имена компьютеров for computer in computers: print(computer.cn)
atm87
А как можно вывести компьютеры по заданному диапазон IP адресов?
start = “10.62.39.1”
end = “10.62.39.12”
>>> import ipaddress >>> >>> ipstart = ipaddress.ip_address('10.62.39.1') >>> ipend = ipaddress.ip_address('10.62.39.12') >>> >>> ipcur = ipstart >>> while ipstart <= ipcur <= ipend: ... print(ipcur) ... ipcur += 1 ... 10.62.39.1 10.62.39.2 10.62.39.3 10.62.39.4 10.62.39.5 10.62.39.6 10.62.39.7 10.62.39.8 10.62.39.9 10.62.39.10 10.62.39.11 10.62.39.12 >>>