Создание отчетов
Скрипт для создания отчетов вы можете скачать по этой ссылке.
Предварительные требования
- Установленный модуль 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 по указанному при настройке пути.