Найти - Пользователи
Полная версия: проверить последний вход компьютера в домен
Начало » Python для новичков » проверить последний вход компьютера в домен
1
sorok5ok
Добрый день.
не могу разобраться со следующей проблемой:
хочу проверить когда компьютер подключался к домену.
есть следующий код:

# -*- coding: utf-8 -*-
import win32com.client
location = u"LDAP://DC=ru/DC=domain/OU=Организации/OU=Компьютеры"
ou = win32com.client.GetObject(location)
for comp in ou:
  print (comp.name)
  print (comp.whenChanged)
  print (comp.lastLogon)

на выходе получаю:
…..
CN=03-947
07/25/13 05:48:29
<COMObject <unknown>>
…..

собственно вопрос:
почему lastLogon не отображается в виде даты? или как из этого <COMObject <unknown>> вытянуть дату?
sorok5ok
кому интересно.
не нашел как из lastLogon вытянуть время, поэтому использовал lastLogin (где он не доступен whenChanged)

и собственно зачем я заморачивался: заблокировать найденные компы

# -*- coding: utf-8 -*-
import win32com.client
 # месяцов * недель в месяце * дней в неделе * часов в дней * минут в часе * секунд в минуте
ttl_f = 4 * 4 * 7 * 24 * 60 * 60
location = u"LDAP://DC=ru/DC=domain/OU=Организации/OU=Компьютеры"
ou = win32com.client.GetObject(location)
for comp in ou:
 try:
       old_comp (comp, comp.lastLogin)
 except:
       old_comp (comp, comp.whenChanged)
def old_comp(obj, time_change):
#время за которое ни чего не происходило
    ttl = time.time() - int(time_change)
#если ttl больше 4-х месяцев
    if (ttl > ttl_f):
        obj.userAccountControl = 4130 #disabled
        obj.SetInfo() # сохраняем сделанные изменения
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB