Входящий трафик, управляемый API, с помощью скрипта PowerShell
В этом руководстве описывается, как использовать скрипт PowerShell для реализации входящего подготовки API идентификатора Microsoft Entra. Выполнив действия, описанные в этом руководстве, можно преобразовать CSV-файл, содержащий данные отдела кадров, в полезные данные массового запроса и отправить его в конечную точку API подготовки /bulkUpload API Microsoft Entra. В этой статье также приводятся рекомендации по использованию одного и того же шаблона интеграции с любой системой записи.
Сценарий интеграции
Бизнес-требование
Система записей периодически создает экспорт CSV-файла, содержащего рабочие данные. Вы хотите реализовать интеграцию, которая считывает данные из CSV-файла и автоматически подготавливает учетные записи пользователей в целевом каталоге (локальная служба Active Directory для гибридных пользователей и идентификатора Microsoft Entra для облачных пользователей).
Требование к реализации
С точки зрения реализации:
- Вы хотите использовать автоматический скрипт PowerShell для чтения данных из экспорта CSV-файла и отправки его в конечную точку API подготовки для входящего трафика.
- В скрипте PowerShell не требуется реализовать сложную логику сравнения данных идентификации между системой записей и целевым каталогом.
- Вы хотите использовать службу подготовки Microsoft Entra для применения правил управляемой ит-подготовки для автоматического создания и обновления или включения и отключения учетных записей в целевом каталоге (локальная служба Active Directory или идентификатора Microsoft Entra).
Варианты сценария интеграции
Хотя в этом руководстве в качестве системы записей используется CSV-файл, можно настроить пример скрипта PowerShell для чтения данных из любой системы записей. Ниже приведен список вариантов сценариев корпоративной интеграции, в которых можно реализовать встроенную подготовку API с помощью скрипта PowerShell.
# | Система записей | Руководство по интеграции с помощью PowerShell для чтения исходных данных |
---|---|---|
1 | Таблица базы данных | Если вы используете базу данных SQL Azure или локальный SQL Server, можно использовать командлет Read-SqlTableData для чтения данных, хранящихся в таблице базы данных SQL. Командлет Invoke-SqlCmd можно использовать для выполнения скриптов Transact-SQL или XQuery. Если вы используете базу данных Oracle/ MySQL или Postgres, вы можете найти модуль PowerShell, опубликованный поставщиком или доступным в коллекция PowerShell. Используйте модуль для чтения данных из таблицы базы данных. |
2 | Сервер LDAP | System.DirectoryServices.Protocols Используйте API .NET или один из модулей LDAP, доступных в коллекция PowerShell для запроса сервера LDAP. Сведения о схеме и иерархии LDAP для получения пользовательских данных с сервера LDAP. |
3 | Любая система, которая предоставляет ИНТЕРФЕЙСы REST API | Для чтения данных из конечной точки REST API с помощью PowerShell можно использовать командлет Invoke-RestMethod из Microsoft.PowerShell.Utility модуля. Ознакомьтесь с документацией по REST API и узнайте, какие параметры и заголовки он ожидает, какой формат он возвращает, и какой метод проверки подлинности он использует. Затем можно соответствующим образом настроить Invoke-RestMethod команду. |
4 | Любая система, которая предоставляет API SOAP | Для чтения данных из конечной точки API SOAP с помощью PowerShell можно использовать командлет New-WebServiceProxy из Microsoft.PowerShell.Management модуля. Ознакомьтесь с документацией по API SOAP и узнайте, какие параметры и заголовки он ожидает, какой формат он возвращает, и какой метод проверки подлинности он использует. Затем можно соответствующим образом настроить New-WebServiceProxy команду. |
После чтения исходных данных примените правила предварительной обработки и преобразуйте выходные данные из системы записей в массовый запрос, который можно отправить в конечную точку API подготовки Microsoft Entra bulkUpload .
Внимание
Если вы хотите поделиться скриптом интеграции PowerShell с сообществом, опубликуйте его на коллекция PowerShell и уведомите нас о репозитории entra-id-inbound-provisioning
GitHub, чтобы добавить ссылку на нее.
Как использовать это руководство
Пример сценария PowerShell, опубликованный в репозитории GitHub для входящего трафика Microsoft Entra, автоматизирует несколько задач. Она имеет логику обработки больших CSV-файлов и блокирования массового запроса для отправки 50 записей в каждом запросе. Ниже описано, как протестировать его и настроить его в соответствии с требованиями интеграции.
Примечание.
Пример скрипта PowerShell предоставляется "как есть" для ссылки на реализацию. Если у вас есть вопросы, связанные с скриптом или если вы хотите улучшить его, используйте репозиторий проектов GitHub.
# | Задача автоматизации | Методические указания по внедрению | Расширенная настройка |
---|---|---|---|
1 | Чтение рабочих данных из CSV-файла. | Скачайте сценарий PowerShell. В ней есть внестандартная логика для чтения данных из любого CSV-файла. Сведения об использовании PowerShell см. в CSV2SCIM, чтобы ознакомиться с различными режимами выполнения этого скрипта. | Если система записей отличается, ознакомьтесь с рекомендациями, приведенными в разделе "Варианты сценария интеграции" по настройке скрипта PowerShell. |
2 | Предварительно обработайте и преобразуйте данные в формат SCIM. | По умолчанию скрипт PowerShell преобразует каждую запись в CSV-файле в представление пользователя SCIM Core и корпоративного пользователя. Выполните действия, описанные в разделе "Создание полезных данных массового запроса" со стандартной схемой , чтобы ознакомиться с этим процессом. | Если CSV-файл имеет разные поля, настройте AttributeMapping.psd-файл , чтобы создать допустимого пользователя SCIM. Вы также можете создать массовый запрос с помощью пользовательской схемы SCIM. Обновите скрипт PowerShell, чтобы включить любую пользовательскую логику проверки данных CSV. |
3 | Используйте сертификат для проверки подлинности с идентификатором Microsoft Entra. | Создайте субъект-службу, который может получить доступ к API подготовки входящего трафика. Ознакомьтесь с инструкциями в разделе "Настройка сертификата клиента для проверки подлинности субъекта-службы", чтобы узнать, как использовать сертификат клиента для проверки подлинности. | Если вы хотите использовать управляемое удостоверение вместо субъекта-службы для проверки подлинности, просмотрите использование Connect-MgGraph в примере сценария и обновите его для использования управляемых удостоверений. |
4 | Подготовка учетных записей в локальная служба Active Directory или идентификаторе Microsoft Entra. | Настройте приложение подготовки на основе API, управляемое входящего трафика. Это создает уникальную конечную точку API /bulkUpload . Чтобы запустить скрипт с помощью субъекта-службы с проверкой подлинности на основе сертификатов, ознакомьтесь с инструкциями в разделе "Отправка полезных данных массового запроса с помощью проверки подлинности сертификата клиента". Проверьте поток атрибутов и настройте сопоставления атрибутов в соответствии с требованиями интеграции. | Если вы планируете использовать массовый запрос с пользовательской схемой SCIM, расширьте схему приложения подготовки, чтобы включить пользовательские элементы схемы SCIM. |
5 | Проверьте журналы подготовки и повторите подготовку для неудачных записей. | Сведения о получении и анализе данных журнала подготовки см. в разделе "Получение журналов подготовки" последних циклов синхронизации. Определите неудачные записи пользователей и включите их в следующий цикл отправки. | - |
6 | Разверните автоматизацию на основе PowerShell в рабочей среде. | После проверки потока подготовки на основе API и настройки скрипта PowerShell в соответствии с вашими требованиями можно развернуть автоматизацию в качестве модуля Runbook рабочего процесса PowerShell в служба автоматизации Azure или как серверный процесс, запланированный для запуска на сервере Windows. | - |
Скачивание скрипта PowerShell
- Доступ к репозиторию
entra-id-inbound-provisioning
GitHub. - Используйте параметр Code ->Clone или Code ->Download ZIP, чтобы скопировать содержимое этого репозитория в локальную папку.
- Перейдите к папке PowerShell/CSV2SCIM. Она имеет следующую структуру каталогов:
- src
- CSV2SCIM.ps1 (основной скрипт)
- ScimSchemaRepresentations (папка, содержащая стандартные определения схемы SCIM для проверки файлов AttributeMapping.psd1)
- EnterpriseUser.json, Group.json, Schema.json, User.json
- Образцы
- AttributeMapping.psd1 (пример сопоставления столбцов в CSV-файле со стандартными атрибутами SCIM)
- csv-with-2-records.csv (пример CSV-файла с двумя записями)
- csv-with-1000-records.csv (пример CSV-файла с 1000 записями)
- Test-ScriptCommands.ps1 (примеры команд использования)
- UseClientCertificate.ps1 (скрипт для создания самозаверяющего сертификата и отправки его в качестве учетных данных субъекта-службы для использования в потоке OAuth)
Sample1
(папка с дополнительными примерами того, как столбцы CSV-файла можно сопоставить со стандартными атрибутами SCIM. Если вы получаете разные CSV-файлы для сотрудников, подрядчиков, интернов, можно создать отдельный файл AttributeMapping.psd1 для каждой сущности.)
- src
- Скачайте и установите последнюю версию PowerShell.
- Выполните команду, чтобы включить выполнение удаленных подписанных скриптов:
set-executionpolicy remotesigned
- Установите следующие необходимые модули:
Install-Module -Name Microsoft.Graph.Applications,Microsoft.Graph.Reports
Создание полезных данных массового запроса с помощью стандартной схемы
В этом разделе объясняется, как создать полезные данные массового запроса с использованием стандартных атрибутов пользователя SCIM Core и корпоративных пользователей из CSV-файла.
Чтобы проиллюстрировать процедуру, давайте будем использовать CSV-файл Samples/csv-with-2-records.csv
.
Откройте CSV-файл
Samples/csv-with-2-records.csv
в Блокноте++ или Excel, чтобы проверить столбцы, представленные в файле.В Блокноте++ или редакторе исходного кода, например Visual Studio Code, откройте файл
Samples/AttributeMapping.psd1
данных PowerShell, который позволяет сопоставлять столбцы CSV-файла с атрибутами стандартной схемы SCIM. Файл, который поставляется вне коробки, уже имеет предварительно настроенное сопоставление столбцов CSV-файлов с соответствующими атрибутами схемы SCIM.@{ externalId = 'WorkerID' name = @{ familyName = 'LastName' givenName = 'FirstName' } active = { $_.'WorkerStatus' -eq 'Active' } userName = 'UserID' displayName = 'FullName' nickName = 'UserID' userType = 'WorkerType' title = 'JobTitle' addresses = @( @{ type = { 'work' } streetAddress = 'StreetAddress' locality = 'City' postalCode = 'ZipCode' country = 'CountryCode' } ) phoneNumbers = @( @{ type = { 'work' } value = 'OfficePhone' } ) "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" = @{ employeeNumber = 'WorkerID' costCenter = 'CostCenter' organization = 'Company' division = 'Division' department = 'Department' manager = @{ value = 'ManagerID' } } }
Откройте PowerShell и перейдите в каталог CSV2SCIM\src.
Выполните следующую команду, чтобы инициализировать
AttributeMapping
переменную.$AttributeMapping = Import-PowerShellDataFile '..\Samples\AttributeMapping.psd1'
Выполните следующую команду, чтобы проверить, имеет ли
AttributeMapping
файл допустимые атрибуты схемы SCIM. Эта команда возвращает значение True , если проверка выполнена успешно..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ValidateAttributeMapping
Предположим
AttributeMapping
, что файл имеет недопустимый атрибут SCIM с именем userId, а в режимеValidateAttributeMapping
отображается следующая ошибка.Убедившись, что
AttributeMapping
файл действителен, выполните следующую команду, чтобы создать массовый запрос в файлеBulkRequestPayload.json
, который содержит две записи, присутствующих в CSV-файле..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping > BulkRequestPayload.json
Вы можете открыть содержимое файла
BulkRequestPayload.json
, чтобы проверить, заданы ли атрибуты SCIM в соответствии с сопоставлением, определенным в файлеAttributeMapping.psd1
.Файл, созданный выше , можно опубликовать в конечной точке API /bulkUpload , связанной с приложением подготовки, с помощью обозревателя Graph или cURL. Справка:
Чтобы напрямую отправить созданные полезные данные в конечную точку API с помощью того же скрипта PowerShell, обратитесь к следующему разделу.
Настройка сертификата клиента для проверки подлинности субъекта-службы
Примечание.
В приведенных ниже инструкциях показано, как создать самозаверяющий сертификат. Самозаверяющие сертификаты не являются доверенными по умолчанию и могут быть сложными в обслуживании. Кроме того, они могут использовать устаревшие хэши и комплекты шифров, которые могут быть ненадежными. Для повышения безопасности приобретите сертификат, подписанный известным центром сертификации.
- Выполните следующий скрипт PowerShell, чтобы создать самозаверяющий сертификат. Этот шаг можно пропустить, если вы приобрели сертификат, подписанный известным центром сертификации.
Созданный сертификат хранится в текущем пользователе\Personal\Certificates. Его можно просмотреть с помощью параметра панель управления —>Управление сертификатами пользователей.$ClientCertificate = New-SelfSignedCertificate -Subject 'CN=CSV2SCIM' -KeyExportPolicy 'NonExportable' -CertStoreLocation Cert:\CurrentUser\My $ThumbPrint = $ClientCertificate.ThumbPrint
- Чтобы связать этот сертификат с допустимым субъектом-службой, войдите в центр администрирования Microsoft Entra от имени администратора приложений.
- Откройте субъект-службу, настроенный в разделе "Регистрация приложений".
- Скопируйте идентификатор объекта из колонки "Обзор". Используйте значение для замены строки
<AppObjectId>
. Скопируйте идентификатор приложения (клиента). Мы будем использовать его позже, и он ссылается на него.<AppClientId>
- Выполните следующую команду, чтобы отправить сертификат в зарегистрированный субъект-службу.
Сертификат должен отображаться в колонке "Сертификаты и секреты " зарегистрированного приложения.Connect-MgGraph -Scopes "Application.ReadWrite.All" Update-MgApplication -ApplicationId '<AppObjectId>' -KeyCredentials @{ Type = "AsymmetricX509Cert" Usage = "Verify" Key = $ClientCertificate.RawData }
- Добавьте следующие две области разрешений приложения в приложение субъекта-службы: Application.Read.All и Synchronization.Read.All. Они необходимы для скрипта PowerShell для поиска приложения
ServicePrincipalId
подготовки и получения подготовкиJobId
.
Отправка полезных данных массового запроса с помощью проверки подлинности сертификата клиента
В этом разделе объясняется, как отправлять полезные данные с созданным массовым запросом в конечную точку API подготовки для входящего трафика с помощью доверенного сертификата клиента.
Откройте настроенное приложение подготовки на основе API. Скопируйте связанный
ServicePrincipalId
с приложением подготовки приложение из идентификатора объекта свойств>приложения>подготовки.Выполните следующую команду, указав правильные значения для
ServicePrincipalId
иClientId
TenantId
.$ClientCertificate = Get-ChildItem -Path cert:\CurrentUser\my\ | Where-Object {$_.Subject -eq "CN=CSV2SCIM"} $ThumbPrint = $ClientCertificate.ThumbPrint .\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -TenantId "contoso.onmicrosoft.com" -ServicePrincipalId "<ProvisioningAppObjectId>" -ClientId "<AppClientId>" -ClientCertificate (Get-ChildItem Cert:\CurrentUser\My\$ThumbPrint)
Перейдите в колонку журналов подготовки приложения подготовки, чтобы проверить обработку приведенного выше запроса.
Создание массового запроса с помощью пользовательской схемы SCIM
В этом разделе описывается, как создать массовый запрос с пользовательским пространством имен схемы SCIM, состоящим из полей в CSV-файле.
В Блокноте++ или редакторе исходного кода, например Visual Studio Code, откройте файл
Samples/AttributeMapping.psd1
данных PowerShell, который позволяет сопоставлять столбцы CSV-файла с атрибутами стандартной схемы SCIM. Файл, который поставляется вне коробки, уже имеет предварительно настроенное сопоставление столбцов CSV-файлов с соответствующими атрибутами схемы SCIM.Откройте PowerShell и перейдите в каталог CSV2SCIM\src.
Выполните следующую команду, чтобы инициализировать
AttributeMapping
переменную.$AttributeMapping = Import-PowerShellDataFile '..\Samples\AttributeMapping.psd1'
Выполните следующую команду, чтобы проверить, имеет ли
AttributeMapping
файл допустимые атрибуты схемы SCIM. Эта команда возвращает значение True , если проверка выполнена успешно..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ValidateAttributeMapping
Помимо атрибутов пользователя SCIM Core и корпоративного пользователя, чтобы получить неструктурированный список всех полей CSV в пользовательском пространстве
urn:ietf:params:scim:schemas:extension:contoso:1.0:User
имен схемы SCIM, выполните следующую команду..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ScimSchemaNamespace "urn:ietf:params:scim:schemas:extension:contoso:1.0:User" > BulkRequestPayloadWithCustomNamespace.json
Поля CSV будут отображаться в пользовательском пространстве имен схемы SCIM.
Расширение схемы задания подготовки
Часто файл данных, отправленный командами отдела кадров, содержит больше атрибутов, которые не имеют прямого представления в стандартной схеме SCIM. Для представления таких атрибутов рекомендуется создать схему расширения SCIM и добавить атрибуты в это пространство имен.
Скрипт CSV2SCIM предоставляет режим выполнения, который UpdateSchema
считывает все столбцы в CSV-файле, добавляет их в пространство имен схемы расширения и обновляет схему приложения подготовки.
Примечание.
Если расширения атрибутов уже присутствуют в схеме приложения подготовки, этот режим выдает предупреждение о том, что расширение атрибута уже существует. Таким образом, нет проблем с запуском скрипта CSV2SCIM в режиме UpdateSchema, если новые поля добавляются в CSV-файл, и вы хотите добавить их в качестве расширения.
Чтобы проиллюстрировать процедуру, мы будем использовать CSV-файл Samples/csv-with-2-records.csv
, представленный в папке CSV2SCIM .
Откройте CSV-файл
Samples/csv-with-2-records.csv
в Блокноте, Excel или TextPad, чтобы проверить столбцы, присутствующих в файле.Выполните следующую команду:
.\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -UpdateSchema -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com" -ScimSchemaNamespace "urn:ietf:params:scim:schemas:extension:contoso:1.0:User"
Чтобы проверить обновление схемы приложения подготовки, откройте страницу сопоставления атрибутов и перейдите к списку атрибутов "Изменить" для параметра API в разделе "Дополнительные параметры".
Список атрибутов отображает атрибуты в новом пространстве имен.
Получение журналов подготовки последних циклов синхронизации
После отправки массового запроса можно запросить журналы последних циклов синхронизации, обработанных идентификатором Microsoft Entra. Вы можете получить статистику синхронизации и сведения об обработке с помощью скрипта PowerShell и сохранить его для анализа.
Чтобы просмотреть сведения о журнале и синхронизировать статистику в консоли, выполните следующую команду:
.\CSV2SCIM.ps1 -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com" -GetPreviousCycleLogs -NumberOfCycles 1
Примечание.
ЧислоOfCycles по умолчанию равно 1. Укажите число для получения дополнительных циклов синхронизации.
Чтобы просмотреть статистику синхронизации в консоли и сохранить сведения о журналах в переменную, выполните следующую команду:
$logs=.\CSV2SCIM.ps1 -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com" -GetPreviousCycleLogs
Чтобы выполнить команду с помощью проверки подлинности сертификата клиента, выполните команду, указав правильные значения для
ServicePrincipalId
иTenantId
ClientId
:$ClientCertificate = Get-ChildItem -Path cert:\CurrentUser\my\ | Where-Object {$_.Subject -eq "CN=CSV2SCIM"} $ThumbPrint = $ClientCertificate.ThumbPrint $logs=.\CSV2SCIM.ps1 -ServicePrincipalId "<ProvisioningAppObjectId>" -TenantId "contoso.onmicrosoft.com" -ClientId "<AppClientId>" -ClientCertificate (Get-ChildItem Cert:\CurrentUser\My\$ThumbPrint) -GetPreviousCycleLogs -NumberOfCycles 1
Чтобы просмотреть сведения о конкретной записи, можно выполнить цикл в коллекцию или выбрать определенный индекс, например:
$logs[0]
Можно также использовать инструкцию
where-object
для поиска определенной записи с помощью sourceID или DisplayName. В свойстве ProvisioningLogs можно найти все сведения об операции, выполненной для этой конкретной записи.$user = $logs | where sourceId -eq '1222' $user.ProvisioningLogs | fl
В атрибуте ModifiedProperties отображаются определенные затронутые пользователем свойства.
$user.ProvisioningLogs.ModifiedProperties
Приложение
сведения об использовании PowerShell CSV2SCIM
Ниже приведен список параметров командной строки, принятых скриптом PowerShell CSV2SCIM.
PS > CSV2SCIM.ps1 -Path <path-to-csv-file>
[-ScimSchemaNamespace <customSCIMSchemaNamespace>]
[-AttributeMapping $AttributeMapping]
[-ServicePrincipalId <spn-guid>]
[-ValidateAttributeMapping]
[-UpdateSchema]
[-ClientId <client-id>]
[-ClientCertificate <certificate-object>]
[-RestartService]
Примечание.
Параметры AttributeMapping
командной ValidateAttributeMapping
строки ссылаются на сопоставление атрибутов столбцов CSV со стандартными элементами схемы SCIM.
Он не ссылается на сопоставления атрибутов, выполняемые в приложении подготовки Центра администрирования Microsoft Entra между элементами схемы SCIM источника и целевыми атрибутами Microsoft Entra /локальная служба Active Directory.
Параметр | Описание | Обработка примечаний |
---|---|---|
Путь | Полный или относительный путь к CSV-файлу. Например: .\Samples\csv-with-1000-records.csv |
Обязательный: Да |
ScimSchemaNamespace | Пользовательское пространство имен схемы SCIM, используемое для отправки всех столбцов в CSV-файле в качестве настраиваемых атрибутов SCIM, относящихся к конкретному пространству имен. Например: urn:ietf:params:scim:schemas:extension:csv:1.0:User |
Обязательный: только если требуется: - обновите схему приложения подготовки или если требуется включить настраиваемые атрибуты SCIM в полезные данные. |
AttributeMapping | Указывает на файл данных PowerShell (PSD1), который сопоставляет столбцы в CSV-файле с атрибутами пользователя SCIM Core и корпоративного пользователя. См. пример: файл AttributeMapping.psd для скрипта CSV2SCIM. Например: powershell $AttributeMapping = Import-PowerShellDataFile '.\Samples\AttributeMapping.psd1'`-AttributeMapping $AttributeMapping |
Обязательный: Да , единственный сценарий, если не нужно указывать это при использовании коммутатора UpdateSchema . |
ValidateAttributeMapping | Используйте этот флаг switch, чтобы проверить, содержит ли файл AttributeMapping атрибуты, соответствующие схеме пользователя SCIM Core и Enterprise. | Обязательный: не рекомендуется использовать его для обеспечения соответствия требованиям. |
ServicePrincipalId | Значение GUID субъекта-службы приложения подготовки, которое можно получить из идентификатора объекта свойств>приложения подготовки.> | Обязательный: только если требуется: — обновите схему приложения подготовки или отправьте созданный массовый запрос в конечную точку API. |
UpdateSchema | Используйте этот параметр, чтобы указать скрипту читать столбцы CSV и добавлять их в качестве настраиваемых атрибутов SCIM в схеме приложения подготовки. | |
ClientId | Идентификатор клиента зарегистрированного приложения Microsoft Entra, используемого для потока проверки подлинности OAuth. Это приложение должно иметь допустимые учетные данные сертификата. | Обязательно. Только при выполнении проверки подлинности на основе сертификатов. |
ClientCertificate | Сертификат проверки подлинности клиента, используемый во время потока OAuth. | Обязательно. Только при выполнении проверки подлинности на основе сертификатов. |
GetPreviousCycleLogs | Получение журналов подготовки последних циклов синхронизации. | |
NumberOfCycles | Чтобы указать количество циклов синхронизации, которые необходимо извлечь. Это значение по умолчанию равно 1. | |
RestartService | С помощью этого параметра скрипт временно приостанавливает задание подготовки перед отправкой данных, отправляет данные, а затем снова запускает задание, чтобы обеспечить немедленную обработку полезных данных. | Используйте этот параметр только во время тестирования. |
файл AttributeMapping.psd
Этот файл используется для сопоставления столбцов в CSV-файле со стандартными элементами схемы атрибутов SCIM Core User и Enterprise User. Файл также создает соответствующее представление содержимого CSV-файла в виде полезных данных массового запроса.
В следующем примере мы сопоставили следующие столбцы в CSV-файле со своими собственными атрибутами SCIM Core User и Enterprise User.
@{
externalId = 'WorkerID'
name = @{
familyName = 'LastName'
givenName = 'FirstName'
}
active = { $_.'WorkerStatus' -eq 'Active' }
userName = 'UserID'
displayName = 'FullName'
nickName = 'UserID'
userType = 'WorkerType'
title = 'JobTitle'
addresses = @(
@{
type = { 'work' }
streetAddress = 'StreetAddress'
locality = 'City'
postalCode = 'ZipCode'
country = 'CountryCode'
}
)
phoneNumbers = @(
@{
type = { 'work' }
value = 'OfficePhone'
}
)
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" = @{
employeeNumber = 'WorkerID'
costCenter = 'CostCenter'
organization = 'Company'
division = 'Division'
department = 'Department'
manager = @{
value = 'ManagerID'
}
}
}