API-alapú bejövő kiépítés PowerShell-szkripttel
Ez az oktatóanyag bemutatja, hogyan lehet PowerShell-szkriptet használni a Microsoft Entra ID API-alapú bejövő kiépítés implementálásához. Az oktatóanyag lépéseivel a HR-adatokat tartalmazó CSV-fájlokat tömeges kérelem hasznos adattá alakíthatja, és elküldheti a Microsoft Entra provisioning /bulkUpload API-végpontnak. A cikk azt is ismerteti, hogyan használható ugyanaz az integrációs minta bármilyen rekordrendszerrel.
Integrációs forgatókönyv
Üzleti követelmény
A rekordrendszer rendszeresen generál munkavégző adatokat tartalmazó CSV-fájlexportokat. Olyan integrációt szeretne megvalósítani, amely adatokat olvas be a CSV-fájlból, és automatikusan kiépít felhasználói fiókokat a célkönyvtárban (hibrid felhasználók számára helyi Active Directory és Microsoft Entra-azonosítót csak felhőalapú felhasználók számára).
Megvalósítási követelmény
Megvalósítás szempontjából:
- Felügyelet nélküli PowerShell-szkripttel szeretné beolvasni az adatokat a CSV-fájlexportokból, és elküldeni a bejövő kiépítési API-végpontra.
- A PowerShell-szkriptben nem szeretné implementálni az identitásadatok rekord- és célkönyvtár-rendszer közötti összehasonlításának összetett logikáját.
- A Microsoft Entra kiépítési szolgáltatással szeretné alkalmazni a felügyelt informatikai kiépítési szabályokat a célkönyvtárban lévő fiókok automatikus létrehozására/frissítésére/engedélyezésére/letiltására (helyi Active Directory vagy Microsoft Entra-azonosító).
Integrációs forgatókönyv-változatok
Bár ez az oktatóanyag egy CSV-fájlt használ rekordrendszerként, testre szabhatja a PowerShell-mintaszkriptet, hogy bármilyen rekordrendszerből beolvassa az adatokat. Az alábbi lista a vállalati integrációs forgatókönyv változatainak listáját tartalmazza, ahol az API-vezérelt bejövő kiépítés PowerShell-szkripttel implementálható.
# | Rekordrendszer | Integrációs útmutató a PowerShell forrásadatok olvasásához való használatához |
---|---|---|
0 | Adatbázistábla | Ha Azure SQL-adatbázist vagy helyszíni SQL Servert használ, a Read-SqlTableData parancsmaggal beolvashatja az SQL-adatbázis táblájában tárolt adatokat. Az Invoke-SqlCmd parancsmaggal Transact-SQL- vagy XQuery-szkripteket futtathat. Ha Oracle/MySQL/Postgres-adatbázist használ, a szállító által közzétett vagy a PowerShell-galéria elérhető PowerShell-modult talál. A modul használatával adatokat olvashat az adatbázistáblából. |
2 | LDAP-kiszolgáló | Az LDAP-kiszolgáló lekérdezéséhez használja a System.DirectoryServices.Protocols .NET API-t vagy a PowerShell-galéria elérhető LDAP-modulokat. Ismerje meg az LDAP-sémát és a hierarchiát a felhasználói adatok LDAP-kiszolgálóról való lekéréséhez. |
3 | Minden olyan rendszer, amely REST API-kat tesz elérhetővé | Ha a PowerShell használatával szeretne adatokat olvasni EGY REST API-végpontról, használhatja az Invoke-RestMethod parancsmagot a Microsoft.PowerShell.Utility modulból. Ellenőrizze a REST API dokumentációját, és megtudhatja, hogy milyen paramétereket és fejléceket vár, milyen formátumot ad vissza, és milyen hitelesítési módszert használ. Ezután ennek megfelelően módosíthatja a Invoke-RestMethod parancsot. |
4 | Minden olyan rendszer, amely SOAP API-kat tesz elérhetővé | Ha adatokat szeretne olvasni egy SOAP API-végpontról a PowerShell használatával, használhatja a Modul New-WebServiceProxy parancsmagát Microsoft.PowerShell.Management . Ellenőrizze a SOAP API dokumentációját, és megtudhatja, hogy milyen paramétereket és fejléceket vár, milyen formátumot ad vissza, és milyen hitelesítési módszert használ. Ezután ennek megfelelően módosíthatja a New-WebServiceProxy parancsot. |
A forrásadatok beolvasása után alkalmazza az előfeldolgozási szabályokat, és alakítsa át a rekordrendszer kimenetét tömeges kéréssé, amelyet elküldhet a Microsoft Entra kiépítési bulkUpload API-végpontjának.
Fontos
Ha meg szeretné osztani a PowerShell-integrációs szkriptet a közösséggel, tegye közzé PowerShell-galéria, és értesítsen minket a GitHub-adattárbanentra-id-inbound-provisioning
, hogy hozzáadhassunk egy hivatkozást.
Az oktatóanyag használata
A Microsoft Entra bejövő kiépítési GitHub-adattárában közzétett PowerShell-mintaszkript számos feladatot automatizál. A nagyméretű CSV-fájlok kezelésére és a tömeges kérelem darabolására szolgáló logikával rendelkezik, hogy minden kérésben 50 rekordot küldjön. Az alábbiakban bemutatjuk, hogyan tesztelheti és szabhatja testre az integrációs követelményeknek megfelelően.
Feljegyzés
A PowerShell-példaszkript a megvalósítási referencia részeként érhető el. Ha kérdése van a szkripttel kapcsolatban, vagy szeretné továbbfejleszteni, használja a GitHub projektadattárat.
# | Automatizálási feladat | Megvalósítási útmutató | Speciális testreszabás |
---|---|---|---|
0 | Feldolgozói adatok olvasása a CSV-fájlból. | Töltse le a PowerShell-szkriptet. Beépített logikával rendelkezik, amely bármilyen CSV-fájlból beolvassa az adatokat. A szkript különböző végrehajtási módjainak megismeréséhez tekintse meg CSV2SCIM PowerShell-használati adatokat . | Ha a rekordrendszer eltérő, tekintse meg az Integrációs forgatókönyvben található útmutatást, amelyből megtudhatja , hogyan szabhatja testre a PowerShell-szkriptet. |
2 | Adatok előkezelése és konvertálása SCIM formátumba. | Alapértelmezés szerint a PowerShell-szkript a CSV-fájlban lévő összes rekordot SCIM Core User + Enterprise User reprezentációvá alakítja. A folyamat megismeréséhez kövesse a Tömeges kérelem hasznos adatainak létrehozása standard sémával című szakasz lépéseit. | Ha a CSV-fájl különböző mezőket tartalmaz, módosítsa a AttributeMapping.psd fájlt egy érvényes SCIM-felhasználó létrehozásához. Tömeges kéréseket egyéni SCIM-sémával is létrehozhat. Frissítse a PowerShell-szkriptet úgy, hogy az tartalmazza az egyéni CSV-adatérvényesítési logikát. |
3 | Hitelesítéshez használjon tanúsítványt a Microsoft Entra-azonosítóhoz. | Hozzon létre egy szolgáltatásnevet, amely hozzáfér a bejövő kiépítési API-hoz. Az ügyféltanúsítvány hitelesítéshez való használatának megismeréséhez tekintse meg az Ügyféltanúsítvány konfigurálása szolgáltatásnév-hitelesítéshez című szakasz lépéseit. | Ha a hitelesítéshez szolgáltatásnév helyett felügyelt identitást szeretne használni, tekintse át a mintaszkript használatátConnect-MgGraph , és frissítse a felügyelt identitások használatára. |
4 | Fiókok kiépítése helyi Active Directory vagy Microsoft Entra-azonosítóban. | API-alapú bejövő kiépítési alkalmazás konfigurálása. Ez létrehoz egy egyedi /bulkUpload API-végpontot. A tömeges kérelem hasznos adatainak létrehozása és feltöltése rendszergazdai felhasználóként című szakasz lépéseit követve megtudhatja, hogyan tölthet fel adatokat erre a végpontra. Ellenőrizze az attribútumfolyamatot, és szabja testre az attribútumleképezéseket az integrációs követelmények szerint. Ha tanúsítványalapú hitelesítéssel rendelkező egyszerű szolgáltatásnévvel szeretné futtatni a szkriptet, tekintse meg a tömeges kérelem hasznos adatainak feltöltése ügyféltanúsítvány-hitelesítéssel című szakasz lépéseit | Ha tömeges kérelmet szeretne használni egyéni SCIM-sémával, akkor terjessze ki a kiépítési alkalmazás sémáját úgy, hogy az tartalmazza az egyéni SCIM-sémaelemeket. |
5 | Vizsgálja meg a kiépítési naplókat, és próbálkozzon újra a sikertelen rekordok kiépítésével. | A kiépítési naplók adatainak beolvasásával és elemzésével kapcsolatban tekintse meg a legújabb szinkronizálási ciklusok kiépítési naplóinak lekérése című szakasz lépéseit. Azonosíthatja a sikertelen felhasználói rekordokat, és belefoglalhatja őket a következő feltöltési ciklusba. | - |
6 | A PowerShell-alapú automatizálás üzembe helyezése éles környezetben. | Miután ellenőrizte az API-alapú kiépítési folyamatot, és testre szabta a PowerShell-szkriptet a követelményeknek megfelelően, üzembe helyezheti az automatizálást PowerShell-munkafolyamat-forgatókönyvként az Azure Automationben, vagy egy Windows-kiszolgálón való futtatásra ütemezett kiszolgálói folyamatként. | - |
A PowerShell-szkript letöltése
- Hozzáférés a GitHub-adattárhoz
entra-id-inbound-provisioning
. - A Kód –>Klónozás vagy kód> letöltése – ZIP-fájl használatával másolja az adattár tartalmát a helyi mappába.
- Lépjen a PowerShell/CSV2SCIM mappára. A következő könyvtárszerkezettel rendelkezik:
- Src
- CSV2SCIM.ps1 (fő szkript)
- ScimSchemaRepresentations (standard SCIM-sémadefiníciókat tartalmazó mappa az AttributeMapping.psd1 fájlok érvényesítéséhez)
- EnterpriseUser.json, Group.json, Schema.json, User.json
- Minták
- AttributeMapping.psd1 (a CSV-fájl oszlopainak mintaleképezése standard SCIM-attribútumokhoz)
- csv-with-2-records.csv (minta CSV-fájl két rekorddal)
- csv-with-1000-records.csv (1000 rekordot tartalmazó CSV-mintafájl)
- Test-ScriptCommands.ps1 (minta használati parancsok)
- UseClientCertificate.ps1 (szkript önaláírt tanúsítvány létrehozásához és szolgáltatásnév hitelesítő adataiként való feltöltéséhez az OAuth-folyamatban való használatra)
Sample1
(a CSV-fájloszlopok SCIM standard attribútumokra való leképezésének további példáit tartalmazó mappa. Ha különböző CSV-fájlokat kap az alkalmazottak, alvállalkozók és gyakornokok számára, minden entitáshoz létrehozhat egy külön AttributeMapping.psd1 fájlt.)
- Src
- Töltse le és telepítse a PowerShell legújabb verzióját.
- Futtassa a parancsot a távoli aláírt szkriptek végrehajtásának engedélyezéséhez:
set-executionpolicy remotesigned
- Telepítse a következő előfeltételmodulokat:
Install-Module -Name Microsoft.Graph.Applications,Microsoft.Graph.Reports
Tömeges kérelem hasznos adatainak létrehozása standard sémával
Ez a szakasz bemutatja, hogyan hozhat létre tömeges kérelem hasznos adatokat standard SCIM Core user és enterprise user attribútumokkal egy CSV-fájlból.
Az eljárás szemléltetéséhez használja a CSV-fájlt Samples/csv-with-2-records.csv
.
Nyissa meg a CSV-fájlt
Samples/csv-with-2-records.csv
a Jegyzettömb++ vagy az Excel alkalmazásban a fájlban található oszlopok ellenőrzéséhez.A Jegyzettömb++ vagy a Visual Studio Code-hoz hasonló forráskódszerkesztőben nyissa meg a PowerShell-adatfájlt
Samples/AttributeMapping.psd1
, amely lehetővé teszi a CSV-fájloszlopok SCIM standard sémaattribútumokra való leképezését. A dobozon kívülre szállított fájl már előre konfigurálta a CSV-fájloszlopok leképezését a megfelelő SCIM-sémaattribútumokhoz.@{ 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' } } }
Nyissa meg a PowerShellt, és váltson a CSV2SCIM\src könyvtárra.
Futtassa a következő parancsot a változó inicializálásához
AttributeMapping
.$AttributeMapping = Import-PowerShellDataFile '..\Samples\AttributeMapping.psd1'
Futtassa a következő parancsot annak ellenőrzéséhez, hogy a
AttributeMapping
fájl rendelkezik-e érvényes SCIM-sémaattribútumokkal. Ez a parancs igaz értéket ad vissza, ha az ellenőrzés sikeres..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ValidateAttributeMapping
Tegyük fel, hogy a
AttributeMapping
fájlnak van egy userId nevű SCIM attribútuma, majd a mód aValidateAttributeMapping
következő hibát jeleníti meg.Miután ellenőrizte, hogy a
AttributeMapping
fájl érvényes-e, futtassa a következő parancsot egy tömeges kérés létrehozásához a fájlbanBulkRequestPayload.json
, amely tartalmazza a CSV-fájlban található két rekordot..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping > BulkRequestPayload.json
A fájl
BulkRequestPayload.json
tartalmát megnyitva ellenőrizheti, hogy az SCIM-attribútumok a fájlbanAttributeMapping.psd1
meghatározott leképezések szerint vannak-e beállítva.A fent létrehozott fájlt közzéteheti a kiépítési alkalmazáshoz társított /bulkUpload API-végponton a Graph Explorer, a Postman vagy a cURL használatával. Hivatkozás:
Ha a létrehozott hasznos adatokat közvetlenül fel szeretné tölteni az API-végpontra ugyanazzal a PowerShell-szkripttel, tekintse meg a következő szakaszt.
Tömeges kérelem hasznos adatainak létrehozása és feltöltése rendszergazdai felhasználóként
Ez a szakasz bemutatja, hogyan küldheti el a generált tömeges kérelem hasznos adatait a bejövő kiépítési API-végpontnak.
Jelentkezzen be a Microsoft Entra felügyeleti központba legalább egy alkalmazás-Rendszergazda istratorként.
Keresse meg a Kiépítési alkalmazás>tulajdonságai>objektumazonosítót, és másolja ki a
ServicePrincipalId
kiépítési alkalmazáshoz társítottat.Globális Rendszergazda istrator szerepkörrel rendelkező felhasználóként futtassa a következő parancsot a megfelelő értékek
ServicePrincipalId
megadásával.TenantId
A rendszer kérni fogja a hitelesítést, ha a bérlőhöz még nem létezik hitelesített munkamenet. Adja meg beleegyezését a hitelesítés során kérendő engedélyekhez..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com"
A fenti kérés feldolgozásának ellenőrzéséhez látogasson el a kiépítési alkalmazás Kiépítési naplók paneljére.
Ügyféltanúsítvány konfigurálása egyszerű szolgáltatáshitelesítéshez
Feljegyzés
Az itt található utasítások bemutatják, hogyan hozhat létre önaláírt tanúsítványt. Az önaláírt tanúsítványok alapértelmezés szerint nem megbízhatók, és nehezen karbantarthatók. Emellett elavult kivonatokat és titkosítási csomagokat is használhatnak, amelyek nem feltétlenül erősek. A nagyobb biztonság érdekében vásároljon egy jól ismert hitelesítésszolgáltató által aláírt tanúsítványt.
- Futtassa a következő PowerShell-szkriptet egy új önaláírt tanúsítvány létrehozásához. Ezt a lépést kihagyhatja, ha egy jól ismert hitelesítésszolgáltató által aláírt tanúsítványt vásárolt.
A létrehozott tanúsítvány az Aktuális felhasználó\Személyes\Tanúsítványok tárolóban van tárolva. Ezt a Vezérlőpult –>Felhasználói tanúsítványok kezelése lehetőséggel tekintheti meg.$ClientCertificate = New-SelfSignedCertificate -Subject 'CN=CSV2SCIM' -KeyExportPolicy 'NonExportable' -CertStoreLocation Cert:\CurrentUser\My $ThumbPrint = $ClientCertificate.ThumbPrint
- Ha érvényes szolgáltatásnévvel szeretné társítani ezt a tanúsítványt, jelentkezzen be a Microsoft Entra felügyeleti központba alkalmazásként Rendszergazda istratorként.
- Nyissa meg az Alkalmazásregisztrációk területen konfigurált szolgáltatásnevet.
- Másolja ki az objektumazonosítót az Áttekintés panelről. Az érték használatával cserélje le a sztringet
<AppObjectId>
. Másolja ki az alkalmazás (ügyfél) azonosítóját. Később fogjuk használni, és a hivatkozás a következő:<AppClientId>
. - Futtassa a következő parancsot a tanúsítvány regisztrált szolgáltatásnévre való feltöltéséhez.
A tanúsítványnak a regisztrált alkalmazás Tanúsítványok &titkos kulcsok paneljén kell megjelennie.Connect-MgGraph -Scopes "Application.ReadWrite.All" Update-MgApplication -ApplicationId '<AppObjectId>' -KeyCredentials @{ Type = "AsymmetricX509Cert" Usage = "Verify" Key = $ClientCertificate.RawData }
- Adja hozzá a következő két alkalmazásengedély-hatókört a szolgáltatásnév alkalmazáshoz: Application.Read.All és Synchronization.Read.All. Ezek szükségesek ahhoz, hogy a PowerShell-szkript megkeresse
ServicePrincipalId
a kiépítési alkalmazást, és lekérje a kiépítéstJobId
.
Tömeges kérelem hasznos adatainak feltöltése ügyféltanúsítvány-hitelesítéssel
Ez a szakasz bemutatja, hogyan küldheti el a generált tömeges kérelem hasznos adatait a bejövő kiépítési API-végpontnak megbízható ügyféltanúsítvány használatával.
Nyissa meg a konfigurált API-alapú kiépítési alkalmazást. Másolja ki a kiépítési alkalmazáshoz társítottat az
ServicePrincipalId
alkalmazástulajdonságok>>objektumazonosítójából.Futtassa a következő parancsot a megfelelő értékek megadásával az és
TenantId
aServicePrincipalId
ClientId
.$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)
A fenti kérés feldolgozásának ellenőrzéséhez látogasson el a kiépítési alkalmazás Kiépítési naplók paneljére.
Tömeges kérés létrehozása egyéni SCIM-sémával
Ez a szakasz azt ismerteti, hogyan hozhat létre tömeges kérést egyéni SCIM-sémanévtérrel, amely a CSV-fájl mezőiből áll.
A Jegyzettömb++ vagy a Visual Studio Code-hoz hasonló forráskódszerkesztőben nyissa meg a PowerShell-adatfájlt
Samples/AttributeMapping.psd1
, amely lehetővé teszi a CSV-fájloszlopok SCIM standard sémaattribútumokra való leképezését. A dobozon kívülre szállított fájl már előre konfigurálta a CSV-fájloszlopok leképezését a megfelelő SCIM-sémaattribútumokhoz.Nyissa meg a PowerShellt, és váltson a CSV2SCIM\src könyvtárra.
Futtassa a következő parancsot a változó inicializálásához
AttributeMapping
.$AttributeMapping = Import-PowerShellDataFile '..\Samples\AttributeMapping.psd1'
Futtassa a következő parancsot annak ellenőrzéséhez, hogy a
AttributeMapping
fájl rendelkezik-e érvényes SCIM-sémaattribútumokkal. Ez a parancs igaz értéket ad vissza, ha az ellenőrzés sikeres..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ValidateAttributeMapping
Az SCIM Core User és Enterprise User attribútumok mellett az egyéni SCIM-sémanévtérben
urn:ietf:params:scim:schemas:extension:contoso:1.0:User
lévő ÖSSZES CSV-mező egybesimított listájának lekéréséhez futtassa az alábbi parancsot..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ScimSchemaNamespace "urn:ietf:params:scim:schemas:extension:contoso:1.0:User" > BulkRequestPayloadWithCustomNamespace.json
Kiépítési feladatséma kiterjesztése
A HR-csapatok által küldött adatfájl gyakran több olyan attribútumot tartalmaz, amelyek nem rendelkeznek közvetlen reprezentációval a standard SCIM-sémában. Az ilyen attribútumok ábrázolásához javasoljuk, hogy hozzon létre egy SCIM-bővítménysémát, és adjon hozzá attribútumokat ezen a névtéren.
A CSV2SCIM szkript egy végrehajtási módot biztosít, UpdateSchema
amely beolvassa a CSV-fájl összes oszlopát, hozzáadja őket egy bővítményséma névteréhez, és frissíti a kiépítési alkalmazás sémáját.
Feljegyzés
Ha az attribútumbővítmények már megtalálhatók a kiépítési alkalmazás sémájában, akkor ez a mód csak arra figyelmeztet, hogy az attribútumbővítmény már létezik. Így nincs probléma a CSV2SCIM szkript UpdateSchema módban való futtatásával, ha új mezőket ad hozzá a CSV-fájlhoz, és bővítményként szeretné hozzáadni őket.
Az eljárás szemléltetéséhez a CSV2SCIM mappában található CSV-fájlt Samples/csv-with-2-records.csv
fogjuk használni.
Nyissa meg a CSV-fájlt
Samples/csv-with-2-records.csv
egy Jegyzettömb, Excelben vagy Szövegtömbben a fájlban található oszlopok ellenőrzéséhez.Futtassa az alábbi parancsot:
.\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"
A kiépítési alkalmazásséma frissítésének ellenőrzéséhez nyissa meg az Attribútumleképezés lapot, és nyissa meg az API attribútumlistájának szerkesztését a Speciális beállítások területen.
Az attribútumlista az új névtérben lévő attribútumokat jeleníti meg.
Kiépítési naplók lekérése a legújabb szinkronizálási ciklusokról
A tömeges kérés elküldése után lekérdezheti a Microsoft Entra ID által feldolgozott legújabb szinkronizálási ciklusok naplóit. A szinkronizálási statisztikákat és a részleteket a PowerShell-szkripttel lekérheti, és elemzésre mentheti.
A napló részleteinek megtekintéséhez és a statisztikák szinkronizálásához futtassa a következő parancsot:
.\CSV2SCIM.ps1 -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com" -GetPreviousCycleLogs -NumberOfCycles 1
Feljegyzés
A NumberOfCycles alapértelmezés szerint 1. Adjon meg egy számot a további szinkronizálási ciklusok lekéréséhez.
A konzol szinkronizálási statisztikáinak megtekintéséhez és a naplók adatainak változóba mentéséhez futtassa a következő parancsot:
$logs=.\CSV2SCIM.ps1 -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com" -GetPreviousCycleLogs
A parancs ügyféltanúsítvány-hitelesítéssel való futtatásához futtassa a parancsot a megfelelő értékek megadásával a következőhöz
ServicePrincipalId
ClientId
TenantId
:$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
Egy adott rekord részleteinek megtekintéséhez becsúszhatunk a gyűjteménybe, vagy kiválaszthatunk egy adott indexet, például:
$logs[0]
Az utasítással
where-object
egy adott rekordot is kereshetünk a forrásazonosító vagy a DisplayName használatával. A ProvisioningLogs tulajdonságban megtalálhatja az adott rekordhoz végrehajtott művelet összes részletét.$user = $logs | where sourceId -eq '1222' $user.ProvisioningLogs | fl
Az adott felhasználó által érintett tulajdonságok a ModifiedProperties attribútumon láthatók.
$user.ProvisioningLogs.ModifiedProperties
Függelék
CSV2SCIM PowerShell használati adatai
Íme a CSV2SCIM PowerShell-szkript által elfogadott parancssori paraméterek listája.
PS > CSV2SCIM.ps1 -Path <path-to-csv-file>
[-ScimSchemaNamespace <customSCIMSchemaNamespace>]
[-AttributeMapping $AttributeMapping]
[-ServicePrincipalId <spn-guid>]
[-ValidateAttributeMapping]
[-UpdateSchema]
[-ClientId <client-id>]
[-ClientCertificate <certificate-object>]
[-RestartService]
Feljegyzés
ValidateAttributeMapping
A AttributeMapping
parancssori paraméterek a CSV-oszlopattribútumok standard SCIM-sémaelemekhez való leképezésére vonatkoznak.
Nem hivatkozik azokra az attribútumleképezésekre, amelyeket a Microsoft Entra Felügyeleti központ kiépítési alkalmazásában végez a forrás SCIM-sémaelemek és a Cél Microsoft Entra /helyi Active Directory attribútumok között.
Paraméter | Leírás | Megjegyzések feldolgozása |
---|---|---|
Elérési út | A CSV-fájl teljes vagy relatív elérési útja. Például: .\Samples\csv-with-1000-records.csv |
Kötelező: Igen |
ScimSchemaNamespace | A CSV-fájl összes oszlopának elküldéséhez használandó egyéni SCIM-sémanévtér egyéni SCIM-attribútumokként, amelyek adott névtérhez tartoznak. Például: urn:ietf:params:scim:schemas:extension:csv:1.0:User |
Kötelező: Csak akkor, ha szeretné: - Frissítse a kiépítési alkalmazás sémáját, vagy ha egyéni SCIM-attribútumokat szeretne belefoglalni a hasznos adatba. |
AttributeMapping | Egy PowerShell-adatfájlra (.psd1 kiterjesztés) mutat, amely a CSV-fájl oszlopait SCIM Core User és Enterprise User attribútumokra képezi le. Lásd például: AttributeMapping.psd fájl CSV2SCIM szkripthez. Például: powershell $AttributeMapping = Import-PowerShellDataFile '.\Samples\AttributeMapping.psd1'`-AttributeMapping $AttributeMapping |
Kötelező: Igen Az egyetlen eset, amikor nem kell megadnia ezt a UpdateSchema kapcsoló használatakor. |
ValidateAttributeMapping | Ezzel a Kapcsolójelölővel ellenőrizheti, hogy az AttributeMapping fájl olyan attribútumokat tartalmaz-e, amelyek megfelelnek az SCIM Core és a Vállalati felhasználói sémának. | Kötelező: Nem ajánlott a megfelelőség biztosítása érdekében használni. |
ServicePrincipalId | A kiépítési alkalmazás szolgáltatásnév-azonosítójának GUID-értéke, amelyet lekérhet a Kiépítési alkalmazás>tulajdonságai>objektumazonosítójából | Kötelező: Csak akkor, ha szeretné: – Frissítse a kiépítési alkalmazás sémáját, vagy küldje el a generált tömeges kérelmet az API-végpontnak. |
UpdateSchema | Ezzel a kapcsolóval utasíthatja a szkriptet, hogy olvassa be a CSV-oszlopokat, és vegye fel őket egyéni SCIM-attribútumként a kiépítési alkalmazás sémájában. | |
ClientID | Az OAuth-hitelesítési folyamathoz használandó Regisztrált Microsoft Entra-alkalmazás ügyfélazonosítója. Az alkalmazásnak érvényes tanúsítvány hitelesítő adatokkal kell rendelkeznie. | Kötelező: Csak tanúsítványalapú hitelesítés esetén. |
ClientCertificate | Az OAuth-folyamat során használandó ügyfél-hitelesítési tanúsítvány. | Kötelező: Csak tanúsítványalapú hitelesítés esetén. |
GetPreviousCycleLogs | A legújabb szinkronizálási ciklusok kiépítési naplóinak lekérése. | |
NumberOfCycles | Annak megadásához, hogy hány szinkronizálási ciklust kell lekérni. Ez az érték alapértelmezés szerint 1. | |
RestartService | Ezzel a beállítással a szkript ideiglenesen szünetelteti a kiépítési feladatot az adatok feltöltése előtt, feltölti az adatokat, majd újra elindítja a feladatot, hogy biztosítsa a hasznos adatok azonnali feldolgozását. | Ezt a lehetőséget csak a tesztelés során használhatja. |
AttributeMapping.psd fájl
Ez a fájl arra szolgál, hogy a CSV-fájl oszlopait szabványos SCIM Core User és Enterprise User attribútumsémaelemekre képezhesse le. A fájl a CSV-fájl tartalmának megfelelő ábrázolását is generálja tömeges kérelem hasznos adatként.
A következő példában a CSV-fájl alábbi oszlopait képeztük le a megfelelő SCIM Core User és Enterprise User attribútumokra.
@{
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'
}
}
}
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: