Skip to main content

Сбор статистики по обученным аутентификаторам пользователей

Информация

Скрипт для сбора статистики вы можете скачать по этой ссылке

Предварительные требования

  • Установленный модуль Active Directory для PowerShell в Windows Server.
  • Работоспособный сервер Indeed AM. 
  • Пользователь, от имени которого будет запускаться скрипт, должен обладать минимальными глобальными правами  Инспектор в системе Indeed AM.

Как работает скрипт

Работа скрипта состоит из нескольких этапов:

  1. Скрипт перебирает идентификаторы политик из массива конфигурационного файла Config.ps1.
  2. С помощью метода /api/v5/policy/get запрашивается информация о политике.
  3. Из свойства области действия запрашивается информация по настроенным объектам с помощью метода /api/v5/userCatalog/getObjects.
  4. Из полученных объектов запрашиваются пользователи:
    • С помощью командлета PowerShell Get-ADGroup в функции getUsersCN файла Base/AdditionalFunctions/GetUsers.ps1 для группы Active Directory.  
    • С помощью командлета PowerShell Get-ADUser в функции getUsersOU файла Base/AdditionalFunctions/GetUsers.ps1 для подразделения Active Directory. 
  5. По полученным пользователям составляется отчет по состоянию аутентификаторов, которые указаны в переменной AuthForReport файла Config.ps1.
    • С помощью метода /api/v5/authenticator/findByUserIds запрашивается информация со всеми внутренними GUID аутентификаторов пользователя.
    • С помощью метода /api/v5/authenticator/getUserAuth запрашивается информация по конкретному GUID. 
  6. С помощью функции 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.

Пример работы

  1. Для запуска скрипта запустите файл main.ps1.

  2. В процессе работы скрипта по пути из переменной $csvPathToReport будет создан файл формата CSV. 

    Примечание

    Пользователи добавляются в отчёт последовательно.