API-driven inkommande etablering med PowerShell-skript
I den här självstudien beskrivs hur du använder ett PowerShell-skript för att implementera API-driven inkommande etablering i Microsoft Entra ID. Med hjälp av stegen i den här självstudien kan du konvertera en CSV-fil som innehåller HR-data till en nyttolast för massbegäran och skicka den till Microsoft Entra-etableringen /bulkUpload API-slutpunkten. Artikeln innehåller också vägledning om hur samma integrationsmönster kan användas med valfritt arkivhandlingssystem.
Integrationsscenario
Affärsbehov
Ditt postsystem genererar regelbundet CSV-filexporter som innehåller arbetsdata. Du vill implementera en integrering som läser data från CSV-filen och automatiskt etablerar användarkonton i målkatalogen (lokalni Active Directory för hybridanvändare och Microsoft Entra-ID för enbart molnanvändare).
Implementeringskrav
Ur ett implementeringsperspektiv:
- Du vill använda ett obevakat PowerShell-skript för att läsa data från CSV-filexporterna och skicka dem till api-slutpunkten för inkommande etablering.
- I PowerShell-skriptet vill du inte implementera den komplexa logiken för att jämföra identitetsdata mellan ditt system med post- och målkatalog.
- Du vill använda Microsoft Entra-etableringstjänsten för att tillämpa dina IT-hanterade etableringsregler för att automatiskt skapa/uppdatera/aktivera/inaktivera konton i målkatalogen (lokalni Active Directory eller Microsoft Entra-ID).
Integreringsscenariovariationer
I den här självstudien används en CSV-fil som ett arkivhandlingssystem, men du kan anpassa PowerShell-exempelskriptet för att läsa data från alla postsystem. Här är en lista över variationer i företagsintegreringsscenariot, där API-driven inkommande etablering kan implementeras med ett PowerShell-skript.
# | System för post | Integreringsvägledning om hur du använder PowerShell för att läsa källdata |
---|---|---|
1 | Databastabell | Om du använder en Azure SQL-databas eller en lokal SQL Server kan du använda cmdleten Read-SqlTableData för att läsa data som lagras i en tabell i en SQL-databas. Du kan använda cmdleten Invoke-SqlCmd för att köra Transact-SQL- eller XQuery-skript. Om du använder en Oracle-/MySQL-/Postgres-databas kan du hitta en PowerShell-modul som antingen har publicerats av leverantören eller är tillgänglig i PowerShell-galleriet. Använd modulen för att läsa data från databastabellen. |
2 | LDAP-server | Använd .NET-API:et System.DirectoryServices.Protocols eller någon av de LDAP-moduler som är tillgängliga i PowerShell-galleriet för att fråga din LDAP-server. Förstå LDAP-schemat och hierarkin för att hämta användardata från LDAP-servern. |
3 | Alla system som exponerar REST-API:er | Om du vill läsa data från en REST API-slutpunkt med PowerShell kan du använda cmdleten Invoke-RestMethod från modulen Microsoft.PowerShell.Utility . Kontrollera dokumentationen för rest-API:et och ta reda på vilka parametrar och huvuden det förväntar sig, vilket format det returnerar och vilken autentiseringsmetod det använder. Du kan sedan justera kommandot Invoke-RestMethod i enlighet med detta. |
4 | Alla system som exponerar SOAP-API:er | Om du vill läsa data från en SOAP API-slutpunkt med PowerShell kan du använda cmdleten New-WebServiceProxy från modulen Microsoft.PowerShell.Management . Kontrollera dokumentationen för SOAP-API:et och ta reda på vilka parametrar och huvuden det förväntar sig, vilket format det returnerar och vilken autentiseringsmetod det använder. Du kan sedan justera kommandot New-WebServiceProxy i enlighet med detta. |
När du har läst källdata tillämpar du dina förbearbetningsregler och konverterar utdata från postsystemet till en massbegäran som kan skickas till Microsoft Entra-etableringsslutpunkten bulkUpload API.
Viktigt!
Om du vill dela ditt PowerShell-integreringsskript med communityn publicerar du det i PowerShell-galleriet och meddelar oss på GitHub-lagringsplatsen entra-id-inbound-provisioning
så att vi kan lägga till en referens.
Så här använder du den här självstudien
PowerShell-exempelskriptet som publicerats i GitHub-lagringsplatsen för inkommande etablering av Microsoft Entra automatiserar flera uppgifter. Den har logik för att hantera stora CSV-filer och segmentera massbegäran för att skicka 50 poster i varje begäran. Så här kan du testa det och anpassa det enligt dina integreringskrav.
Kommentar
PowerShell-exempelskriptet tillhandahålls som det är för implementeringsreferens. Om du har frågor om skriptet eller om du vill förbättra det använder du GitHub-projektlagringsplatsen.
# | Automation-uppgift | Riktlinjer för implementering | Avancerad anpassning |
---|---|---|---|
1 | Läsa arbetsdata från CSV-filen. | Ladda ned PowerShell-skriptet. Den har inbyggd logik för att läsa data från valfri CSV-fil. Se CSV2SCIM Information om PowerShell-användning för att bekanta dig med de olika körningslägena för det här skriptet. | Om ditt postsystem är annorlunda kan du läsa vägledningen i avsnittet Integreringsscenariovariationer om hur du kan anpassa PowerShell-skriptet. |
2 | Förbearbeta och konvertera data till SCIM-format. | Som standard konverterar PowerShell-skriptet varje post i CSV-filen till en SCIM Core User + Enterprise User-representation. Följ stegen i avsnittet Generera nyttolast för massbegäran med standardschema för att bekanta dig med den här processen. | Om CSV-filen har olika fält justerar du AttributeMapping.psd-filen för att generera en giltig SCIM-användare. Du kan också generera massbegäran med anpassat SCIM-schema. Uppdatera PowerShell-skriptet så att det innehåller all anpassad CSV-dataverifieringslogik. |
3 | Använd ett certifikat för autentisering till Microsoft Entra-ID. | Skapa ett huvudnamn för tjänsten som kan komma åt API:et för inkommande etablering. Se stegen i avsnittet Konfigurera klientcertifikat för autentisering med tjänstens huvudnamn för att lära dig hur du använder klientcertifikat för autentisering. | Om du vill använda hanterad identitet i stället för ett huvudnamn för tjänsten för autentisering granskar du användningen av Connect-MgGraph i exempelskriptet och uppdaterar den så att den använder hanterade identiteter. |
4 | Etablera konton i lokalni Active Directory eller Microsoft Entra-ID. | Konfigurera EN API-driven etableringsapp för inkommande trafik. Detta genererar en unik /bulkUpload API-slutpunkt. Se stegen i avsnittet Generera och ladda upp nyttolast för massbegäran som administratörsanvändare för att lära dig hur du laddar upp data till den här slutpunkten. Verifiera attributflödet och anpassa attributmappningarna enligt dina integreringskrav. Om du vill köra skriptet med ett huvudnamn för tjänsten med certifikatbaserad autentisering läser du stegen i avsnittet Ladda upp nyttolast för massbegäran med klientcertifikatautentisering | Om du planerar att använda massbegäran med anpassat SCIM-schema utökar du schemat för etableringsappen så att det inkluderar dina anpassade SCIM-schemaelement. |
5 | Genomsök etableringsloggarna och försök etablera igen efter misslyckade poster. | Se stegen i avsnittet Hämta etableringsloggar för de senaste synkroniseringscyklerna för att lära dig hur du hämtar och analyserar etableringsloggdata. Identifiera misslyckade användarposter och inkludera dem i nästa uppladdningscykel. | - |
6 | Distribuera din PowerShell-baserade automatisering till produktion. | När du har verifierat ditt API-drivna etableringsflöde och anpassat PowerShell-skriptet för att uppfylla dina krav kan du distribuera automatiseringen som en PowerShell Workflow-runbook i Azure Automation eller som en serverprocess som är schemalagd att köras på en Windows-server. | - |
Ladda ned PowerShell-skriptet
- Åtkomst till GitHub-lagringsplatsen
entra-id-inbound-provisioning
. - Använd alternativet Kod ->Klona eller Kod ->Ladda ned ZIP för att kopiera innehållet i den här lagringsplatsen till din lokala mapp.
- Gå till mappen PowerShell/CSV2SCIM. Den har följande katalogstruktur:
- Src
- CSV2SCIM.ps1 (huvudskript)
- ScimSchemaRepresentations (mapp som innehåller scim-standardschemadefinitioner för validering av AttributeMapping.psd1-filer)
- EnterpriseUser.json, Group.json, Schema.json, User.json
- Prover
- AttributeMapping.psd1 (exempelmappning av kolumner i CSV-fil till SCIM-standardattribut)
- csv-with-2-records.csv (CSV-exempelfil med två poster)
- csv-with-1000-records.csv (CSV-exempelfil med 1 000 poster)
- Test-ScriptCommands.ps1 (exempel på användningskommandon)
- UseClientCertificate.ps1 (skript för att generera självsignerat certifikat och ladda upp det som autentiseringsuppgifter för tjänstens huvudnamn för användning i OAuth-flödet)
Sample1
(mapp med fler exempel på hur CSV-filkolumner kan mappas till SCIM-standardattribut. Om du får olika CSV-filer för anställda, entreprenörer, praktikanter kan du skapa en separat AttributeMapping.psd1-fil för varje entitet.)
- Src
- Ladda ned och installera den senaste versionen av PowerShell.
- Kör kommandot för att aktivera körning av fjärrsignerade skript:
set-executionpolicy remotesigned
- Installera följande nödvändiga moduler:
Install-Module -Name Microsoft.Graph.Applications,Microsoft.Graph.Reports
Generera nyttolast för massbegäran med standardschema
I det här avsnittet beskrivs hur du genererar en nyttolast för massbegäran med standardattributen SCIM Core-användare och Enterprise-användare från en CSV-fil.
För att illustrera proceduren ska vi använda CSV-filen Samples/csv-with-2-records.csv
.
Öppna CSV-filen
Samples/csv-with-2-records.csv
i Anteckningar++ eller Excel för att kontrollera kolumnerna i filen.I Anteckningar++ eller en källkodsredigerare som Visual Studio Code öppnar du PowerShell-datafilen
Samples/AttributeMapping.psd1
som möjliggör mappning av CSV-filkolumner till SCIM-standardschemaattribut. Filen som levereras direkt har redan förkonfigurerad mappning av CSV-filkolumner till motsvarande SCIM-schemaattribut.@{ 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' } } }
Öppna PowerShell och ändra till katalogen CSV2SCIM\src.
Kör följande kommando för att initiera variabeln
AttributeMapping
.$AttributeMapping = Import-PowerShellDataFile '..\Samples\AttributeMapping.psd1'
Kör följande kommando för att kontrollera om
AttributeMapping
filen har giltiga SCIM-schemaattribut. Det här kommandot returnerar Sant om valideringen lyckas..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ValidateAttributeMapping
Anta att
AttributeMapping
filen har ett ogiltigt SCIM-attribut med namnet userId. IValidateAttributeMapping
läget visas följande fel.När du har verifierat att
AttributeMapping
filen är giltig kör du följande kommando för att generera en massbegäran i filenBulkRequestPayload.json
som innehåller de två posterna som finns i CSV-filen..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping > BulkRequestPayload.json
Du kan öppna innehållet i filen
BulkRequestPayload.json
för att kontrollera om SCIM-attributen anges enligt den mappning som definierats i filenAttributeMapping.psd1
.Du kan publicera filen som genereras ovan som den är till api-slutpunkten /bulkUpload som är associerad med din etableringsapp med Hjälp av Graph Explorer eller cURL. Referens:
Om du vill ladda upp den genererade nyttolasten direkt till API-slutpunkten med samma PowerShell-skript läser du nästa avsnitt.
Generera och ladda upp nyttolast för massbegäran som administratörsanvändare
I det här avsnittet beskrivs hur du skickar den genererade nyttolasten för massbegäran till api-slutpunkten för inkommande etablering.
Logga in på administrationscentret för Microsoft Entra som minst programadministratör.
Bläddra till Objekt-ID för etableringsappegenskaper>>och kopiera associerad
ServicePrincipalId
med din etableringsapp.Som användare med rollen Global administratör kör du följande kommando genom att ange rätt värden för
ServicePrincipalId
ochTenantId
. Du uppmanas att ange autentisering om det inte redan finns en autentiserad session för den här klientorganisationen. Ge ditt medgivande till behörigheter som efterfrågas under autentiseringen..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com"
Gå till bladet Etableringsloggar i etableringsappen för att verifiera bearbetningen av ovanstående begäran.
Konfigurera klientcertifikat för autentisering med tjänstens huvudnamn
Kommentar
Anvisningarna här visar hur du genererar ett självsignerat certifikat. Självsignerade certifikat är inte betrodda som standard och de kan vara svåra att underhålla. Dessutom kan de använda inaktuella hash- och chiffersviter som kanske inte är starka. För bättre säkerhet kan du köpa ett certifikat som signerats av en välkänd certifikatutfärdare.
- Kör följande PowerShell-skript för att generera ett nytt självsignerat certifikat. Du kan hoppa över det här steget om du har köpt ett certifikat som signerats av en välkänd certifikatutfärdare.
Det genererade certifikatet lagras Aktuell användare\Personligt\Certifikat. Du kan visa den med hjälp av alternativet Kontrolna tabla -Manage user certificates (Hantera> användarcertifikat).$ClientCertificate = New-SelfSignedCertificate -Subject 'CN=CSV2SCIM' -KeyExportPolicy 'NonExportable' -CertStoreLocation Cert:\CurrentUser\My $ThumbPrint = $ClientCertificate.ThumbPrint
- Om du vill associera certifikatet med ett giltigt huvudnamn för tjänsten loggar du in på administrationscentret för Microsoft Entra som programadministratör.
- Öppna tjänstens huvudnamn som du konfigurerade under Appregistreringar.
- Kopiera objekt-ID:t från bladet Översikt. Använd värdet för att ersätta strängen
<AppObjectId>
. Kopiera program-ID :t (klienten). Vi använder den senare och den refereras till som<AppClientId>
. - Kör följande kommando för att ladda upp certifikatet till det registrerade tjänstens huvudnamn.
Du bör se certifikatet under bladet Certifikat och hemligheter i din registrerade app.Connect-MgGraph -Scopes "Application.ReadWrite.All" Update-MgApplication -ApplicationId '<AppObjectId>' -KeyCredentials @{ Type = "AsymmetricX509Cert" Usage = "Verify" Key = $ClientCertificate.RawData }
- Lägg till följande två programbehörighetsomfång i tjänstens huvudnamnsapp: Application.Read.All och Synchronization.Read.All. Dessa krävs för att PowerShell-skriptet ska kunna slå upp etableringsappen efter
ServicePrincipalId
och hämta etableringenJobId
.
Ladda upp nyttolasten för massbegäran med klientcertifikatautentisering
I det här avsnittet beskrivs hur du skickar den genererade nyttolasten för massbegäran till api-slutpunkten för inkommande etablering med hjälp av ett betrott klientcertifikat.
Öppna den API-drivna etableringsapp som du har konfigurerat. Kopiera den associerade med etableringsappen
ServicePrincipalId
från Objekt-ID för etableringsappegenskaper>>.Kör följande kommando genom att ange rätt värden för
ServicePrincipalId
,ClientId
ochTenantId
.$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)
Gå till bladet Etableringsloggar i etableringsappen för att verifiera bearbetningen av ovanstående begäran.
Generera massbegäran med anpassat SCIM-schema
I det här avsnittet beskrivs hur du genererar en massbegäran med ett anpassat SCIM-schemanamnområde som består av fält i CSV-filen.
I Anteckningar++ eller en källkodsredigerare som Visual Studio Code öppnar du PowerShell-datafilen
Samples/AttributeMapping.psd1
som möjliggör mappning av CSV-filkolumner till SCIM-standardschemaattribut. Filen som levereras direkt har redan förkonfigurerad mappning av CSV-filkolumner till motsvarande SCIM-schemaattribut.Öppna PowerShell och ändra till katalogen CSV2SCIM\src.
Kör följande kommando för att initiera variabeln
AttributeMapping
.$AttributeMapping = Import-PowerShellDataFile '..\Samples\AttributeMapping.psd1'
Kör följande kommando för att kontrollera om
AttributeMapping
filen har giltiga SCIM-schemaattribut. Det här kommandot returnerar Sant om valideringen lyckas..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ValidateAttributeMapping
Kör följande kommando för att hämta en platt lista över alla CSV-fält under ett anpassat SCIM-schemanamnområde
urn:ietf:params:scim:schemas:extension:contoso:1.0:User
, förutom scim-kärnanvändarattributen och företagsanvändarattributen..\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-fälten visas under det anpassade SCIM-schemanamnområdet.
Utöka etableringsjobbschemat
Ofta innehåller datafilen som skickas av HR-team fler attribut som inte har någon direkt representation i SCIM-standardschemat. För att representera sådana attribut rekommenderar vi att du skapar ett SCIM-tilläggsschema och lägger till attribut under det här namnområdet.
Skriptet CSV2SCIM innehåller ett körningsläge med namnet UpdateSchema
som läser alla kolumner i CSV-filen, lägger till dem under ett tilläggsschemanamnområde och uppdaterar schemat för etableringsappen.
Kommentar
Om attributtilläggen redan finns i schemat för etableringsappen genererar det här läget bara en varning om att attributtillägget redan finns. Det är därför inget problem med att köra skriptet CSV2SCIM i Läget UpdateSchema om nya fält läggs till i CSV-filen och du vill lägga till dem som ett tillägg.
För att illustrera proceduren använder vi CSV-filen Samples/csv-with-2-records.csv
som finns i mappen CSV2SCIM .
Öppna CSV-filen
Samples/csv-with-2-records.csv
i anteckningar, Excel eller TextPad för att kontrollera kolumnerna som finns i filen.Kör följande kommando:
.\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"
Du kan verifiera uppdateringen av schemat för etableringsappen genom att öppna sidan Attributmappning och öppna alternativet Redigera attributlista för API under Avancerade alternativ.
Attributlistan visar attribut under det nya namnområdet.
Hämta etableringsloggar för de senaste synkroniseringscyklerna
När du har skickat massbegäran kan du köra frågor mot loggarna för de senaste synkroniseringscyklerna som bearbetats av Microsoft Entra ID. Du kan hämta synkroniseringsstatistiken och bearbeta information med PowerShell-skriptet och spara den för analys.
Kör följande kommando för att visa logginformation och synkroniseringsstatistik i konsolen:
.\CSV2SCIM.ps1 -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com" -GetPreviousCycleLogs -NumberOfCycles 1
Kommentar
NumberOfCycles är 1 som standard. Ange ett tal för att hämta fler synkroniseringscykler.
Om du vill visa synkroniseringsstatistik i konsolen och spara logginformationen i en variabel kör du följande kommando:
$logs=.\CSV2SCIM.ps1 -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com" -GetPreviousCycleLogs
Om du vill köra kommandot med klientcertifikatautentisering kör du kommandot genom att ange rätt värden för
ServicePrincipalId
,ClientId
ochTenantId
:$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
Om du vill se information om en specifik post kan vi loopa in i samlingen eller välja ett specifikt index för den, till exempel:
$logs[0]
Vi kan också använda -instruktionen
where-object
för att söka efter en specifik post med hjälp av sourceID eller DisplayName. I egenskapen ProvisioningLogs hittar vi all information om den åtgärd som utförts för den specifika posten.$user = $logs | where sourceId -eq '1222' $user.ProvisioningLogs | fl
Vi kan se de specifika egenskaper som påverkas av användaren i attributet ModifiedProperties .
$user.ProvisioningLogs.ModifiedProperties
Bilaga
CSV2SCIM Information om PowerShell-användning
Här är en lista över kommandoradsparametrar som godkänts av CSV2SCIM PowerShell-skriptet.
PS > CSV2SCIM.ps1 -Path <path-to-csv-file>
[-ScimSchemaNamespace <customSCIMSchemaNamespace>]
[-AttributeMapping $AttributeMapping]
[-ServicePrincipalId <spn-guid>]
[-ValidateAttributeMapping]
[-UpdateSchema]
[-ClientId <client-id>]
[-ClientCertificate <certificate-object>]
[-RestartService]
Kommentar
Parametrarna AttributeMapping
och ValidateAttributeMapping
kommandoradsparametrarna refererar till mappningen av CSV-kolumnattribut till scim-standardschemaelementen.
Den refererar inte till de attributmappningar som du utför i microsoft Entra admin center-etableringsappen mellan scim-källschemaelement och microsoft entra-/lokalni Active Directory-attribut.
Parameter | Description | Bearbeta kommentarer |
---|---|---|
Sökväg | Den fullständiga eller relativa sökvägen till CSV-filen. Till exempel: .\Samples\csv-with-1000-records.csv |
Obligatoriskt: Ja |
ScimSchemaNamespace | Det anpassade SCIM-schemanamnområdet som ska användas för att skicka alla kolumner i CSV-filen som anpassade SCIM-attribut som tillhör ett specifikt namnområde. Till exempel: urn:ietf:params:scim:schemas:extension:csv:1.0:User |
Obligatoriskt: Endast när du vill: - Uppdatera etableringsappschemat eller När du vill inkludera anpassade SCIM-attribut i nyttolasten. |
AttributeMapping | Pekar på en PowerShell Data-fil (.psd1-tillägg) som mappar kolumner i CSV-filen till SCIM Core User- och Enterprise User-attribut. Se exempel: AttributeMapping.psd fil för CSV2SCIM skript. Till exempel: powershell $AttributeMapping = Import-PowerShellDataFile '.\Samples\AttributeMapping.psd1'`-AttributeMapping $AttributeMapping |
Obligatoriskt: Ja Det enda scenariot när du inte behöver ange detta är när du använder växeln UpdateSchema . |
ValidateAttributeMapping | Använd den här switchflaggan för att verifiera att AttributeMapping-filen innehåller attribut som följer SCIM Core- och Enterprise-användarschemat. | Obligatoriskt: Ingen rekommendation om att använda den för att säkerställa efterlevnad. |
ServicePrincipalId | GUID-värdet för etableringsappens tjänsthuvudnamns-ID som du kan hämta från objekt-ID:t för etableringsappens egenskaper>> | Obligatoriskt: Endast när du vill: – Uppdatera schemat för etableringsappen eller – Skicka den genererade massbegäran till API-slutpunkten. |
UpdateSchema | Använd den här växeln för att instruera skriptet att läsa CSV-kolumnerna och lägga till dem som anpassade SCIM-attribut i ditt etableringsappschema. | |
ClientId | Klient-ID för en Microsoft Entra-registrerad app som ska användas för OAuth-autentiseringsflöde. Den här appen måste ha giltiga certifikatautentiseringsuppgifter. | Obligatoriskt: Endast när du utför certifikatbaserad autentisering. |
ClientCertificate | Det klientautentiseringscertifikat som ska användas under OAuth-flödet. | Obligatoriskt: Endast när du utför certifikatbaserad autentisering. |
GetPreviousCycleLogs | Hämta etableringsloggarna för de senaste synkroniseringscyklerna. | |
NumberOfCycles | Ange hur många synkroniseringscykler som ska hämtas. Det här värdet är 1 som standard. | |
RestartService | Med det här alternativet pausar skriptet tillfälligt etableringsjobbet innan data laddas upp, data laddas upp och sedan startas jobbet igen för att säkerställa omedelbar bearbetning av nyttolasten. | Använd endast det här alternativet under testningen. |
AttributeMapping.psd fil
Den här filen används för att mappa kolumner i CSV-filen till standardschemaelementen SCIM Core User och Enterprise User. Filen genererar också en lämplig representation av CSV-filinnehållet som en nyttolast för massbegäran.
I nästa exempel mappade vi följande kolumner i CSV-filen till deras SCIM Core User- och Enterprise-användarattribut.
@{
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'
}
}
}