Provisionamento de entrada orientado por API com script do PowerShell
Este tutorial descreve como usar um script do PowerShell para implementar o provisionamento de entrada orientado por API do Microsoft Entra ID. Usando as etapas neste tutorial, você pode converter um arquivo CSV contendo dados de RH em uma carga útil de solicitação em massa e enviá-lo para o ponto de extremidade da API de provisionamento /bulkUpload do Microsoft Entra. O artigo também fornece orientação sobre como o mesmo padrão de integração pode ser usado com qualquer sistema de registro.
Cenário de integração
Requisitos de negócio
Seu sistema de registro gera periodicamente exportações de arquivos CSV contendo dados de trabalho. Você deseja implementar uma integração que lê dados do arquivo CSV e provisiona automaticamente contas de usuário em seu diretório de destino (Ative Directory local para usuários híbridos e ID do Microsoft Entra para usuários somente na nuvem).
Requisitos de execução
Do ponto de vista da implementação:
- Você deseja usar um script do PowerShell autônomo para ler dados das exportações de arquivos CSV e enviá-los para o ponto de extremidade da API de provisionamento de entrada.
- No script do PowerShell, você não deseja implementar a lógica complexa de comparar dados de identidade entre seu sistema de registro e diretório de destino.
- Você deseja usar o serviço de provisionamento Microsoft Entra para aplicar suas regras de provisionamento gerenciado de TI para criar/atualizar/habilitar/desabilitar automaticamente contas no diretório de destino (Ative Directory local ou ID do Microsoft Entra).
Variações de cenário de integração
Embora este tutorial use um arquivo CSV como um sistema de registro, você pode personalizar o script PowerShell de exemplo para ler dados de qualquer sistema de registro. Aqui está uma lista de variações de cenário de integração empresarial, onde o provisionamento de entrada orientado por API pode ser implementado com um script do PowerShell.
# | Sistema de registo | Diretrizes de integração sobre como usar o PowerShell para ler dados de origem |
---|---|---|
1 | Tabela de banco de dados | Se você estiver usando um banco de dados SQL do Azure ou um SQL Server local, poderá usar o cmdlet Read-SqlTableData para ler dados armazenados em uma tabela de um banco de dados SQL. Você pode usar o cmdlet Invoke-SqlCmd para executar scripts Transact-SQL ou XQuery. Se você estiver usando um banco de dados Oracle / MySQL / Postgres, poderá encontrar um módulo do PowerShell publicado pelo fornecedor ou disponível na Galeria do PowerShell. Use o módulo para ler dados da tabela do banco de dados. |
2 | Servidor LDAP | Use a System.DirectoryServices.Protocols API .NET ou um dos módulos LDAP disponíveis na Galeria do PowerShell para consultar seu servidor LDAP. Entenda o esquema LDAP e a hierarquia para recuperar dados do usuário do servidor LDAP. |
3 | Qualquer sistema que exponha APIs REST | Para ler dados de um ponto de extremidade da API REST usando o PowerShell, você pode usar o cmdlet Invoke-RestMethod do Microsoft.PowerShell.Utility módulo. Verifique a documentação da sua API REST e descubra quais parâmetros e cabeçalhos ela espera, qual formato ela retorna e qual método de autenticação ela usa. Em seguida, você pode ajustar seu Invoke-RestMethod comando de acordo. |
4 | Qualquer sistema que exponha APIs SOAP | Para ler dados de um ponto de extremidade da API SOAP usando o PowerShell, você pode usar o cmdlet New-WebServiceProxy do Microsoft.PowerShell.Management módulo. Verifique a documentação da sua API SOAP e descubra quais parâmetros e cabeçalhos ela espera, qual formato ela retorna e qual método de autenticação ela usa. Em seguida, você pode ajustar seu New-WebServiceProxy comando de acordo. |
Depois de ler os dados de origem, aplique suas regras de pré-processamento e converta a saída do seu sistema de registro em uma solicitação em massa que pode ser enviada para o ponto de extremidade da API bulkUpload de provisionamento do Microsoft Entra.
Importante
Se você quiser compartilhar seu script de integração do PowerShell com a comunidade, publique-o na Galeria do PowerShell e notifique-nos no repositório entra-id-inbound-provisioning
GitHub, para que possamos adicionar uma referência a ele.
Como usar este tutorial
O script de exemplo do PowerShell publicado no repositório GitHub de provisionamento de entrada do Microsoft Entra automatiza várias tarefas. Ele tem lógica para lidar com arquivos CSV grandes e dividir a solicitação em massa para enviar 50 registros em cada solicitação. Veja como você pode testá-lo e personalizá-lo de acordo com seus requisitos de integração.
Nota
O script PowerShell de exemplo é fornecido "no estado em que se encontra" para referência de implementação. Se você tiver dúvidas relacionadas ao script ou se quiser aprimorá-lo, use o repositório do projeto GitHub.
# | Tarefa de automação | Documentação de orientação para a implementação | Personalização avançada |
---|---|---|---|
1 | Leia os dados do trabalhador a partir do arquivo CSV. | Baixe o script do PowerShell. Ele tem lógica pronta para ler dados de qualquer arquivo CSV. Consulte CSV2SCIM detalhes de uso do PowerShell para se familiarizar com os diferentes modos de execução desse script. | Se o seu sistema de registro for diferente, verifique as orientações fornecidas na seção Variações de cenário de integração sobre como você pode personalizar o script do PowerShell. |
2 | Pré-processar e converter dados para o formato SCIM. | Por padrão, o script do PowerShell converte cada registro no arquivo CSV em uma representação SCIM Core User + Enterprise User. Siga as etapas na seção Gerar carga útil de solicitação em massa com esquema padrão para se familiarizar com esse processo. | Se o arquivo CSV tiver campos diferentes, ajuste o arquivo AttributeMapping.psd para gerar um usuário SCIM válido. Você também pode gerar solicitações em massa com o esquema SCIM personalizado. Atualize o script do PowerShell para incluir qualquer lógica de validação de dados CSV personalizada. |
3 | Use um certificado para autenticação no Microsoft Entra ID. | Crie uma entidade de serviço que possa acessar a API de provisionamento de entrada. Consulte as etapas na seção Configurar certificado de cliente para autenticação de entidade de serviço para saber como usar o certificado de cliente para autenticação. | Se você quiser usar a identidade gerenciada em vez de uma entidade de serviço para autenticação, revise o uso do script de Connect-MgGraph exemplo e atualize-o para usar identidades gerenciadas. |
4 | Provisione contas no Ative Directory local ou no Microsoft Entra ID. | Configure o aplicativo de provisionamento de entrada controlado por API. Isso gera um ponto de extremidade exclusivo da API /bulkUpload . Para executar o script usando uma entidade de serviço com autenticação baseada em certificado, consulte as etapas na seção Carregar carga útil de solicitação em massa usando autenticação de certificado de cliente. Valide o fluxo de atributos e personalize os mapeamentos de atributos de acordo com seus requisitos de integração. | Se você planeja usar a solicitação em massa com o esquema SCIM personalizado, estenda o esquema do aplicativo de provisionamento para incluir seus elementos de esquema SCIM personalizados. |
5 | Analise os logs de provisionamento e tente provisionar novamente em busca de registros com falha. | Consulte as etapas na seção Obter logs de provisionamento dos ciclos de sincronização mais recentes para saber como buscar e analisar dados de log de provisionamento. Identifique registros de usuário com falha e inclua-os no próximo ciclo de carregamento. | - |
6 | Implante sua automação baseada no PowerShell na produção. | Depois de verificar seu fluxo de provisionamento controlado por API e personalizar o script do PowerShell para atender às suas necessidades, você pode implantar a automação como um runbook do Fluxo de Trabalho do PowerShell na Automação do Azure ou como um processo de servidor agendado para ser executado em um servidor Windows. | - |
Baixe o script do PowerShell
- Acesse o repositório
entra-id-inbound-provisioning
GitHub. - Use a opção Code -Clone ou Code ->Download ZIP para copiar o conteúdo deste repositório para sua pasta local.>
- Navegue até a pasta PowerShell/CSV2SCIM. Tem a seguinte estrutura de diretórios:
- SRC
- CSV2SCIM.ps1 (script principal)
- ScimSchemaRepresentations (pasta que contém definições de esquema SCIM padrão para validar arquivos AttributeMapping.psd1)
- EnterpriseUser.json, Group.json, Schema.json User.json
- Amostras
- AttributeMapping.psd1 (exemplo de mapeamento de colunas no arquivo CSV para atributos SCIM padrão)
- csv-with-2-records.csv (arquivo CSV de exemplo com dois registros)
- csv-with-1000-records.csv (arquivo CSV de exemplo com 1000 registros)
- Test-ScriptCommands.ps1 (comandos de uso de exemplo)
- UseClientCertificate.ps1 (script para gerar certificado autoassinado e carregá-lo como credencial da entidade de serviço para uso no fluxo OAuth)
Sample1
(pasta com mais exemplos de como as colunas de arquivo CSV podem ser mapeadas para atributos padrão SCIM. Se você obtiver arquivos CSV diferentes para funcionários, contratados e estagiários, poderá criar um arquivo AttributeMapping.psd1 separado para cada entidade.)
- SRC
- Baixe e instale a versão mais recente do PowerShell.
- Execute o comando para habilitar a execução de scripts assinados remotos:
set-executionpolicy remotesigned
- Instale os seguintes módulos de pré-requisito:
Install-Module -Name Microsoft.Graph.Applications,Microsoft.Graph.Reports
Gere carga útil de solicitação em massa com esquema padrão
Esta seção explica como gerar uma carga útil de solicitação em massa com atributos padrão SCIM Core User e Enterprise User a partir de um arquivo CSV.
Para ilustrar o procedimento, vamos usar o arquivo Samples/csv-with-2-records.csv
CSV .
Abra o arquivo
Samples/csv-with-2-records.csv
CSV no Notepad ++ ou Excel para verificar as colunas presentes no arquivo.No Notepad ++ ou em um editor de código-fonte como o Visual Studio Code, abra o arquivo
Samples/AttributeMapping.psd1
de dados do PowerShell que permite o mapeamento de colunas de arquivo CSV para atributos de esquema padrão SCIM. O arquivo enviado pronto para uso já tem mapeamento pré-configurado de colunas de arquivo CSV para atributos de esquema SCIM correspondentes.@{ 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' } } }
Abra o PowerShell e mude para o diretório CSV2SCIM\src.
Execute o seguinte comando para inicializar a
AttributeMapping
variável.$AttributeMapping = Import-PowerShellDataFile '..\Samples\AttributeMapping.psd1'
Execute o seguinte comando para validar se o
AttributeMapping
arquivo tem atributos de esquema SCIM válidos. Este comando retornará True se a validação for bem-sucedida..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ValidateAttributeMapping
Digamos que o
AttributeMapping
arquivo tenha um atributo SCIM inválido chamado userId, então oValidateAttributeMapping
modo exibe o seguinte erro.Depois de verificar se o
AttributeMapping
arquivo é válido, execute o seguinte comando para gerar uma solicitação em massa no arquivoBulkRequestPayload.json
que inclui os dois registros presentes no arquivo CSV..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping > BulkRequestPayload.json
Você pode abrir o conteúdo do arquivo
BulkRequestPayload.json
para verificar se os atributos SCIM estão definidos de acordo com o mapeamento definido no arquivoAttributeMapping.psd1
.Você pode postar o arquivo gerado acima no estado em que se encontra no ponto de extremidade da API /bulkUpload associado ao seu aplicativo de provisionamento usando o Graph Explorer ou o cURL. Referência:
Para carregar diretamente a carga gerada para o ponto de extremidade da API usando o mesmo script do PowerShell, consulte a próxima seção.
Configurar certificado de cliente para autenticação da entidade de serviço
Nota
As instruções aqui mostram como gerar um certificado autoassinado. Os certificados autoassinados não são confiáveis por padrão e podem ser difíceis de manter. Além disso, podem utilizar hashes e conjuntos de cifras desatualizados que podem não ser fortes. Para maior segurança, adquira um certificado assinado por uma autoridade de certificação conhecida.
- Execute o seguinte script do PowerShell para gerar um novo certificado autoassinado. Você pode pular esta etapa se tiver comprado um certificado assinado por uma autoridade de certificação conhecida.
O certificado gerado é armazenado Usuário Atual\Pessoal\Certificados. Você pode visualizá-lo usando a opção Painel de Controle ->Gerenciar certificados de usuário.$ClientCertificate = New-SelfSignedCertificate -Subject 'CN=CSV2SCIM' -KeyExportPolicy 'NonExportable' -CertStoreLocation Cert:\CurrentUser\My $ThumbPrint = $ClientCertificate.ThumbPrint
- Para associar este certificado a uma entidade de serviço válida, inicie sessão no centro de administração do Microsoft Entra como Administrador de Aplicações.
- Abra a entidade de serviço que configurou em Registos de Aplicações.
- Copie a ID do objeto da folha Visão geral . Use o valor para substituir a cadeia de caracteres
<AppObjectId>
. Copie o ID do aplicativo (cliente). Vamos usá-lo mais tarde e é referenciado como<AppClientId>
. - Execute o seguinte comando para carregar seu certificado para a entidade de serviço registrada.
Você deve ver o certificado na folha Certificados & segredos do seu aplicativo registrado.Connect-MgGraph -Scopes "Application.ReadWrite.All" Update-MgApplication -ApplicationId '<AppObjectId>' -KeyCredentials @{ Type = "AsymmetricX509Cert" Usage = "Verify" Key = $ClientCertificate.RawData }
- Adicione os dois escopos de permissão de aplicativo a seguir ao aplicativo principal de serviço: Application.Read.All e Synchronization.Read.All. Eles são necessários para que o script do PowerShell procure o aplicativo de provisionamento e
ServicePrincipalId
busque o provisionamentoJobId
.
Carregar carga útil de solicitação em massa usando autenticação de certificado de cliente
Esta seção explica como enviar a carga útil de solicitação em massa gerada para seu ponto de extremidade de API de provisionamento de entrada usando um certificado de cliente confiável.
Abra o aplicativo de provisionamento controlado por API que você configurou. Copie o
ServicePrincipalId
associado ao seu aplicativo de provisionamento da ID do objeto Propriedades>do aplicativo>de provisionamento.Execute o seguinte comando fornecendo os valores corretos para
ServicePrincipalId
,ClientId
eTenantId
.$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)
Visite a folha Logs de provisionamento do seu aplicativo de provisionamento para verificar o processamento da solicitação acima.
Gerar solicitação em massa com esquema SCIM personalizado
Esta seção descreve como gerar uma solicitação em massa com namespace de esquema SCIM personalizado que consiste em campos no arquivo CSV.
No Notepad ++ ou em um editor de código-fonte como o Visual Studio Code, abra o arquivo
Samples/AttributeMapping.psd1
de dados do PowerShell que permite o mapeamento de colunas de arquivo CSV para atributos de esquema padrão SCIM. O arquivo enviado pronto para uso já tem mapeamento pré-configurado de colunas de arquivo CSV para atributos de esquema SCIM correspondentes.Abra o PowerShell e mude para o diretório CSV2SCIM\src.
Execute o seguinte comando para inicializar a
AttributeMapping
variável.$AttributeMapping = Import-PowerShellDataFile '..\Samples\AttributeMapping.psd1'
Execute o seguinte comando para validar se o
AttributeMapping
arquivo tem atributos de esquema SCIM válidos. Este comando retornará True se a validação for bem-sucedida..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ValidateAttributeMapping
Além dos atributos SCIM Core User e Enterprise User, para obter uma lista simples de todos os campos CSV em um namespace
urn:ietf:params:scim:schemas:extension:contoso:1.0:User
de esquema SCIM personalizado, execute o seguinte comando..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ScimSchemaNamespace "urn:ietf:params:scim:schemas:extension:contoso:1.0:User" > BulkRequestPayloadWithCustomNamespace.json
Os campos CSV aparecerão sob o namespace de esquema SCIM personalizado.
Estendendo o esquema de trabalho de provisionamento
Muitas vezes, o arquivo de dados enviado pelas equipes de RH contém mais atributos que não têm uma representação direta no esquema SCIM padrão. Para representar esses atributos, recomendamos criar um esquema de extensão SCIM e adicionar atributos sob esse namespace.
O script CSV2SCIM fornece um modo de execução chamado UpdateSchema
que lê todas as colunas no arquivo CSV, adiciona-as em um namespace de esquema de extensão e atualiza o esquema do aplicativo de provisionamento.
Nota
Se as extensões de atributo já estiverem presentes no esquema do aplicativo de provisionamento, esse modo emitirá apenas um aviso de que a extensão de atributo já existe. Portanto, não há problema em executar o script CSV2SCIM no modo UpdateSchema se novos campos forem adicionados ao arquivo CSV e você quiser adicioná-los como uma extensão.
Para ilustrar o procedimento, usaremos o arquivo Samples/csv-with-2-records.csv
CSV presente na pasta CSV2SCIM .
Abra o arquivo
Samples/csv-with-2-records.csv
CSV em um bloco de notas, Excel ou TextPad para verificar as colunas presentes no arquivo.Execute o seguinte comando:
.\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"
Você pode verificar a atualização do esquema do aplicativo de provisionamento abrindo a página Mapeamento de atributos e acessando a opção Editar lista de atributos para API em Opções avançadas.
A Lista de Atributos mostra atributos sob o novo namespace.
Obter logs de provisionamento dos ciclos de sincronização mais recentes
Depois de enviar a solicitação em massa, você pode consultar os logs dos ciclos de sincronização mais recentes processados pelo Microsoft Entra ID. Você pode recuperar as estatísticas de sincronização e os detalhes de processamento com o script do PowerShell e salvá-lo para análise.
Para exibir os detalhes do log e as estatísticas de sincronização no console, execute o seguinte comando:
.\CSV2SCIM.ps1 -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com" -GetPreviousCycleLogs -NumberOfCycles 1
Nota
NumberOfCycles é 1 por padrão. Especifique um número para recuperar mais ciclos de sincronização.
Para exibir estatísticas de sincronização no console e salvar os detalhes dos logs em uma variável, execute o seguinte comando:
$logs=.\CSV2SCIM.ps1 -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com" -GetPreviousCycleLogs
Para executar o comando usando a autenticação de certificado de cliente, execute o comando fornecendo os valores corretos para
ServicePrincipalId
,ClientId
eTenantId
:$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
Para ver os detalhes de um registro específico, podemos fazer um loop na coleção ou selecionar um índice específico dele, por exemplo:
$logs[0]
Também podemos usar a
where-object
instrução para pesquisar um registro específico usando o sourceID ou DisplayName. Na propriedade ProvisioningLogs, podemos encontrar todos os detalhes da operação feita para esse registro específico.$user = $logs | where sourceId -eq '1222' $user.ProvisioningLogs | fl
Podemos ver as propriedades afetadas pelo usuário específico no atributo ModifiedProperties .
$user.ProvisioningLogs.ModifiedProperties
Anexo
CSV2SCIM detalhes de uso do PowerShell
Aqui está uma lista de parâmetros de linha de comando aceitos pelo script do CSV2SCIM PowerShell.
PS > CSV2SCIM.ps1 -Path <path-to-csv-file>
[-ScimSchemaNamespace <customSCIMSchemaNamespace>]
[-AttributeMapping $AttributeMapping]
[-ServicePrincipalId <spn-guid>]
[-ValidateAttributeMapping]
[-UpdateSchema]
[-ClientId <client-id>]
[-ClientCertificate <certificate-object>]
[-RestartService]
Nota
Os AttributeMapping
parâmetros de linha de comando e ValidateAttributeMapping
referem-se ao mapeamento de atributos de coluna CSV para os elementos de esquema SCIM padrão.
Ele não se refere aos mapeamentos de atributos que você executa no aplicativo de provisionamento do centro de administração do Microsoft Entra entre os elementos do esquema SCIM de origem e os atributos de destino do Microsoft Entra/Ative Directory local.
Parâmetro | Description | Processamento de observações |
---|---|---|
Caminho | O caminho completo ou relativo para o arquivo CSV. Por exemplo: .\Samples\csv-with-1000-records.csv |
Obrigatório: Sim |
ScimSchemaNamespace | O namespace SCIM Schema personalizado a ser usado para enviar todas as colunas no arquivo CSV como atributos SCIM personalizados pertencentes a namespace específico. Por exemplo, urn:ietf:params:scim:schemas:extension:csv:1.0:User |
Obrigatório: Somente quando você quiser: - Atualizar o esquema do aplicativo de provisionamento ou Quando quiser incluir atributos SCIM personalizados na carga útil. |
AttributeMapping | Aponta para um arquivo de dados do PowerShell (extensão .psd1) que mapeia colunas no arquivo CSV para os atributos SCIM Core User e Enterprise User. Veja o exemplo: AttributeMapping.psd arquivo para CSV2SCIM script. Por exemplo: powershell $AttributeMapping = Import-PowerShellDataFile '.\Samples\AttributeMapping.psd1'`-AttributeMapping $AttributeMapping |
Obrigatório: Sim O único cenário em que você não precisa especificar isso é ao usar o UpdateSchema switch. |
ValidateAttributeMapping | Use este sinalizador Switch para validar se o arquivo AttributeMapping contém atributos que estão em conformidade com o esquema de usuário SCIM Core e Enterprise. | Obrigatório: Não recomendo usá-lo para garantir a conformidade. |
ServicePrincipalId | O valor GUID da ID da entidade de serviço do aplicativo de provisionamento que você pode recuperar da ID do objeto Propriedades>do aplicativo>de provisionamento | Obrigatório: Somente quando você quiser: - Atualizar o esquema do aplicativo de provisionamento ou - Enviar a solicitação em massa gerada para o ponto de extremidade da API. |
UpdateSchema | Use essa opção para instruir o script a ler as colunas CSV e adicioná-las como atributos SCIM personalizados no esquema do aplicativo de provisionamento. | |
ClientId | A ID do Cliente de um aplicativo registrado do Microsoft Entra a ser usado para o fluxo de autenticação OAuth. Este aplicativo deve ter credenciais de certificado válidas. | Obrigatório: Somente ao executar a autenticação baseada em certificado. |
ClientCertificate | O Certificado de Autenticação de Cliente a ser usado durante o fluxo OAuth. | Obrigatório: Somente ao executar a autenticação baseada em certificado. |
GetPreviousCycleLogs | Para obter os logs de provisionamento dos ciclos de sincronização mais recentes. | |
NúmerodeCiclos | Para especificar quantos ciclos de sincronização devem ser recuperados. Esse valor é 1 por padrão. | |
RestartService | Com essa opção, o script pausa temporariamente o trabalho de provisionamento antes de carregar os dados, carrega os dados e, em seguida, inicia o trabalho novamente para garantir o processamento imediato da carga útil. | Use essa opção somente durante o teste. |
Ficheiro AttributeMapping.psd
Esse arquivo é usado para mapear colunas no arquivo CSV para elementos padrão do esquema de atributos SCIM Core User e Enterprise User. O arquivo também gera uma representação apropriada do conteúdo do arquivo CSV como uma carga útil de solicitação em massa.
No próximo exemplo, mapeamos as colunas a seguir no arquivo CSV para seus atributos SCIM Core User e Enterprise User correspondentes.
@{
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'
}
}
}