Создание отчетов
Скрипт для создания отчетов вы можете скачать по этой ссылке.
Предварительные требования
- Установленный модуль 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, не отображается.
Для выбора необходимого подразделения из каталога выполните следующие действия:
Нажмите кнопку Select.
В выпадающем списке окна 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 и выполните следующее:
В переменной
AuthForReportзадайте идентификатор провайдера Indeed и наименование для отчета:Значения должны задаваться в формате GUID провайдера Indeed=Наименование для отчета.
Значения GUID провайдеров можно найти в разделе Идентификаторы способов аутентификации.
Наименование для отчета может быть произвольным. Данное наименование будет использовано при создании таблицы.
Пример настройки с доменным паролем и отпечатком пальца$AuthForReport = @{
'CF189AF5-01C5-469D-A859-A8F2F41ED153' = 'Пароль'
'A0EF00AD-1EEB-4D48-8BCF-06E19CD5585F' = 'Отпечаток пальца'
}
В переменной
ApplicationIdуказывается наименование модуля интеграции Indeed. Список модулей можно найти в разделе Идентификаторы приложений.Пример настройки для приложения Windows Logon$ApplicationId="Windows Logon"Вы можете указать, в каком формате будет выгружаться отчет. Поддерживаются форматы CSV и HTML. Можно выгружать отчет в двух форматах одновременно. Если обе переменные не определены, это приведет к ошибке выгрузки.
Чтобы отчет выгружался в CSV, задайте переменной
CsvReportзначение true.$CsvReport = 'true'Чтобы отчет выгружался в HTML задайте переменной
HtmlReportзначение true.$HtmlReport = 'true'В переменной
pathReportLogonsByProviderуказывается путь до папки, где будет сохранен отчет. По умолчанию используется корень папки со скриптом.$pathReportLogonsByProvider="$ScriptDirectory\Reports\LogonsByProvider"
Пример работы
Для начала работы со скриптом откройте оснастку PowerShell, перейдите в папку со скриптом и запустите файл Start.ps1 через команду
.\Start.ps1.При необходимости настройте фильтры скрипта и нажмите кнопку Report of number of logins by providers.
После завершения работы скрипта будет сформирована таблица формата HTML по указанному при настройке пути.
