У нас есть сеть, состоящая в основном из компьютеров с Windows 7 (и Windows 8.1), и мы хотели бы иметь возможность сообщать, кто последним вошел в систему на различных хостах.
У нас есть SCCM; однако это, кажется, дает разумное время «последнего входа в систему», но мы знаем, что «последний вошедший в систему пользователь» - это сравнительная фантастика.
Это известная проблема с SCCM, или нам нужно что-то настроить, чтобы повысить ее точность? Еще лучше, можем ли мы запросить это через LDAP (например, используя OPENQUERY
из SQL Server)?
В Active Directory нет центрального хранилища учетных записей пользователей, поэтому вы не можете просто составить LDAP-запрос для получения этой информации.
Что касается SCCM, вы можете столкнуться с этой проблемой - проверьте запрос, выполняемый вашим последним вошедшим в систему пользователем отчетом - но если нет, то, вероятно, самым простым решением будет какой-либо вариант сценария входа в систему, который где-то записывает имя пользователя, время / дату и имя компьютера.
Рассматриваемый запрос обращался к User_Name0
поле в v_R_System view
.
Если вы не в курсе v_R_System.User_Name0
обновляется только во время последнего обнаружения сети или обнаружения пульса.
Поэтому я всегда рекомендую использовать v_GS_COMPUTER_SYSTEM.UserName0
поскольку он обновляется при выполнении инвентаризации оборудования.
Сейчас в большинстве мест инвентаризация оборудования выполняется чаще, чем обнаружение сети или Heartbeat, поэтому я рекомендую.
Тонкая настройка SCCM, конечно же, будет заключаться в выполнении запроса в самом актуальном поле имени пользователя, а также, возможно, в настройке ваших настроек SCCM, чтобы используемое вами поле имени пользователя обновлялось чаще.