Skip to main content

Создание отчетов

Информация

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

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

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

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

Скрипт формирует отчёты по подготовленным сценариям. Для создания отчетов используется API Indeed AM Core и Indeed AM Log Server.

Скрипт поддерживает настройку фильтрации для формирования отчета: 

  • выборка из контейнера пользовательского каталога,
  • выборка по конкретному пользователю,
  • выборка по дате. 

Фильтры

Поле Container

Поле предназначено для выбора подразделений, в домене в которых будет выполняться поиск пользователей. Значение Entire Catalog означает, что выбран корневой каталог с каталогом пользователей, который используется сервером Indeed AM. 

Поиск подразделений из пользовательского каталога выполняется с использованием метода searchContainers в соответствующей функции в файле Base/AMAPI/UserCatalog.ps1

Примечание

Выгрузка контейнеров выполняется из пользовательского каталога. Значение в поле не редактируемое.

Имя корневых каталогов пользователей, заданных в конфигурационном файле Core Server, не отображается. 

Для выбора необходимого подразделения из каталога выполните следующие действия:

  1. Нажмите кнопку Select.

  2. В выпадающем списке окна Containers выберите контейнер и нажмите Ok.

Поле Groups

Поле предназначено для поиска групп в домене или в подразделении, которое было выбрано в поле Container. Значение по умолчанию Not set

Поиск пользователя выполняется с использованием метода searchGroups в соответствующей функции в файле Base/AMAPI/UserCatalog.ps1.

Подготовка запроса с использованием заданных фильтров выполняется в функции searchGropsUseFilters в файле Scenarios/Reports/SearchUseFilters.ps1.

В поиске учитывается параметр Active Directory Name

Для поиска группы при необходимости выберите контейнер и введите имя группы. Если данные не указаны, то будут найдены все группы из каталога пользователя. 

Поле User or initiator

Поле предназначено для поиска пользователя в домене; в подразделении, которое было выбрано в поле Container; группе из поля Groups. Значение по умолчанию Not set

Поиск пользователя выполняется с использованием метода searchUsers в соответствующей функции в файле Base/AMAPI/UserCatalog.ps1.

Подготовка запроса с использованием заданных фильтров выполняется в функции searchUsersUseFilters в файле Scenarios/Reports/SearchUseFilters.ps1.

В поиске учитываются следующие параметры: 

  • ContainerId — идентификатор контейнера, в котором будет выполнен поиск пользователя. Параметр используется, если было выбрано подразделение в поле Container.
  • FirstName, MiddleName, LastName, PrincipalName, Name — соответствующие значения атрибутов пользователя из Active Directory. 
Примечание

Все параметры используются с логической операцией OR

Для поиска пользователей можно нажать кнопку Select и выбрать всех найденных пользователей. 

Для поиска пользователя можно указать часть имени, в конце указанной части добавьте символ *.

Настройка

Для работы скрипта необходимо сконфигурировать файл Config.ps1, который находится в корне папки со скриптом

Важно!

В данном разделе описана общая настройка скрипта. Для отдельных отчетов может потребоваться дополнительная настройка.

В файле:

  • $domainName — указывается имя домена. Обязательный параметр.
  • $eventsCount — ограничение по выгрузке событий. Опциональный параметр. По умолчанию количество получаемых событий не ограничено, параметр закомментирован. 
  • $serverUrl — URL сервера Indeed AM. Обязательный параметр.
  • $logServerUrl — URL Indeed AM Log Server. Обязательный параметр.
  • $logsOnFile — включение\отключение логирования в файл. Обязательный параметр. По умолчанию включено.
  • $logsOnConsole — включение\отключение логирования в консоль. Обязательный параметр. По умолчанию отключено.  
  • $apiVersion — версия API, используемая в скрипте. Обязательный параметр.

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

В данном отчете формируется таблица с количеством аутентификаций пользователя по массиву аутентификаторов в конкретном приложении Indeed, указанному в файле Config.ps1.

Создание отчета выполняется в функции createLogonsByProviderReport в файле Create-reports/Scenarios/Reports/CreateReports.ps1

Настройка

Важно!

В разделе описаны настройки для конкретного отчета. Перед началом работы необходимо выполнить базовую настройку, описанную в разделе Настройка.

Для настройки откройте файл Config.ps1 и выполните следующее:

  1. В переменной AuthForReport задайте идентификатор провайдера Indeed и наименование для отчета: 

    • Значения должны задаваться в формате GUID провайдера Indeed=Наименование для отчёта.

    • Значения GUID провайдеров можно найти в разделе Идентификаторы способов аутентификации.

    • Наименование для отчета может быть произвольным. Данное наименование будет использовано при создании таблицы.

      Пример настройки с доменным паролем и отпечатком пальца
      $AuthForReport          = @{
      'CF189AF5-01C5-469D-A859-A8F2F41ED153' = 'Пароль'
      'A0EF00AD-1EEB-4D48-8BCF-06E19CD5585F' = 'Отпечаток пальца'
      }
  2. В переменной ApplicationId указывается наименование модуля интеграции Indeed. Список модулей можно найти в разделе Идентификаторы приложений.

    Пример настройки для приложения Windows Logon
    $ApplicationId="Windows Logon"
  3. Вы можете указать, в каком формате будет выгружаться отчет. Поддерживаются форматы CSV и HTML. Можно выгружать отчет в двух форматах одновременно. Если обе переменные не определены, это приведет к ошибке выгрузки.

    Чтобы отчет выгружался в CSV, задайте переменной CsvReport значение true.

    $CsvReport = 'true'

    Чтобы отчет выгружался в HTML задайте переменной HtmlReport значение true.

    $HtmlReport = 'true'
  4. В переменной pathReportLogonsByProvider указывается путь до папки, где будет сохранен отчёт. По умолчанию используется корень папки со скриптом.

    $pathReportLogonsByProvider="$ScriptDirectory\Reports\LogonsByProvider"

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

  1. Для начала работы со скриптом откройте оснастку PowerShell, перейдите в папку со скриптом и запустите файл Start.ps1 через команду .\Start.ps1.

  2. При необходимости настройте фильтры скрипта и нажмите кнопку Report of number of logins by providers.

  3. После завершения работы скрипта будет сформирована таблица формата HTML по указанному при настройке пути.