Сбор статистики по обученным аутентификаторам пользователей
Скрипт для сбора статистики вы можете скачать по этой ссылке.
Предварительные требования
- Установленный модуль Active Directory для PowerShell в Windows Server.
- Работоспособный сервер Indeed AM.
- Пользователь, от имени которого будет запускаться скрипт, должен обладать минимальными глобальными правами Инспектор в системе Indeed AM.
Как работает скрипт
Работа скрипта состоит из нескольких этапов:
- Скрипт перебирает идентификаторы политик из массива конфигурационного файла Config.ps1.
- С помощью метода
/api/v5/policy/getзапрашивается информация о политике. - Из свойства области действия запрашивается информация по настроенным
объектам с помощью метода
/api/v5/userCatalog/getObjects. - Из полученных объектов запрашиваются пользователи:
- С помощью командлета PowerShell
Get-ADGroupв функцииgetUsersCNфайла Base/AdditionalFunctions/GetUsers.ps1 для группы Active Directory. - С помощью командлета PowerShell
Get-ADUserв функцииgetUsersOUфайла Base/AdditionalFunctions/GetUsers.ps1 для подразделения Active Directory.
- С помощью командлета PowerShell
- По полученным пользователям составляется отчет по состоянию
аутентификаторов, которые указаны в переменной
AuthForReportфайла Config.ps1.- С помощью метода
/api/v5/authenticator/findByUserIdsзапрашивается информация со всеми внутренними GUID аутентификаторов пользователя. - С помощью метода
/api/v5/authenticator/getUserAuthзапрашивается информация по конкретному GUID.
- С помощью метода
- С помощью функции
addDataToCSVфайла Base/AdditionalFunctions/CsvReport.ps1 собирается таблица в формате CSV.
Настройка
Для работы скрипта необходимо сконфигурировать файл Config.ps1, который находится в корне папки со скриптом.
В файле:
$serverUrl— URL сервера Indeed AM. Обязательный параметр.$logsOnFile— включение\отключение логирования в файл. Обязательный параметр. По умолчанию включено.$logsOnConsole— включение\отключение логирования в консоль. Обязательный параметр. По умолчанию отключено.$apiVersion— версия API, используемая в скрипте. Обязательный параметр. Значение по умолчанию: v5.$policyIds— идентификаторы политик, из области действия которых запрашиваются пользователи.$AuthForReport— в переменной указываются GUID аутентификаторов Indeed и их название для отчета. Название может быть произвольным. Значения указываются в следующем формате:'GUID' = "Наименование".Пример настройки для Indeed Key и Passcode$AuthForReport = @{
'F696F05D-5466-42b4-BF52-21BEE1CB9529' = 'Passcode'
'DEEF0CB8-AD2F-4B89-964A-B6C7ECA80C68' = 'Push-уведомление в Indeed Key'
}$csvPathToReport— путь до CSV-файла отчета. По умолчанию файл создается в папке скрипта по пути Reports\Statistics.
Пример работы
Для запуска скрипта запустите файл main.ps1.
В процессе работы скрипта по пути из переменной
$csvPathToReportбудет создан файл формата CSV.ПримечаниеПользователи добавляются в отчёт последовательно.
