Delen via


Een toegangspakket maken in rechtenbeheer voor een toepassing met één rol met behulp van PowerShell

In Microsoft Entra-rechtenbeheer omvat een toegangspakket het beleid voor het verkrijgen van toewijzingen voor een of meer resourcerollen. De resources kunnen groepen, toepassingen en SharePoint Online-sites bevatten.

In dit artikel wordt beschreven hoe u een toegangspakket maakt voor één toepassing met één rol, met behulp van Microsoft Graph PowerShell. Dit scenario is voornamelijk van toepassing op omgevingen die rechtenbeheer gebruiken voor het automatiseren van doorlopende toegang voor een specifieke business- of middlewaretoepassing. Een organisatie met meerdere resources of resources met meerdere rollen kan ook het toegangsbeleid modelleren met toegangspakketten:

Vereisten

Voor het gebruik van deze functie zijn Microsoft Entra ID-governance- of Microsoft Entra Suite-licenties vereist. Zie Microsoft Entra ID-governance basisprincipes van licenties om de juiste licentie voor uw vereisten te vinden.

Voordat u begint met het maken van het toegangspakket, moet u de toepassing integreren met Microsoft Entra-id. Als uw toepassing nog niet aanwezig is in uw Microsoft Entra ID-tenant, volgt u de instructies in dat artikel om een toepassing en service-principal voor het object te maken. Zorg er ook voor dat uw Microsoft Entra ID-tenant voldoet aan de vereisten voordat u Microsoft Entra-id configureert voor identiteitsbeheer.

Als u het toegangspakket en de bijbehorende beleidsregels en toewijzingen wilt maken, moet u de volgende informatie gereed hebben:

Gebruiksscenario Configuratie-instelling PowerShell-variabele
Alle Naam van de toepassing in uw Microsoft Entra ID-tenant $servicePrincipalName
Alle Naam van de rol van de toepassing $servicePrincipalRoleName
Alle Naam van de catalogus met het toegangspakket $catalogName
Alle Naam om het toegangspakket te geven $accessPackageName
Alle Beschrijving om het toegangspakket te geven $accessPackageDescription
Scheiding van takenvereiste met een incompatibel toegangspakket de id van het incompatibele toegangspakket $incompatibleAccessPackageId (indien nodig)
Gebruikers die nog geen toewijzingen hebben en niet automatisch worden toegewezen lijst met gebruikers $inputpath (indien nodig)
Gebruikers met specifieke kenmerken hebben automatisch toewijzingen de query-expressie voor de gebruikers binnen het bereik $autoAssignmentPolicyFilter (indien nodig)
Gebruikers toestaan die geen opdracht hebben om een opdracht aan te vragen het bereik van gebruikers die kunnen aanvragen, de goedkeurders en de periode voor toegangsbeoordeling is afhankelijk van vereisten
Het maken of verwijderen van toewijzingen automatiseren op basis van join of verlaten van werkstromen in levenscycluswerkstromen de namen van de werkstromen die toegang geven en verwijderen is afhankelijk van vereisten

Verifiëren bij Microsoft Entra-id

In deze sectie wordt beschreven hoe u kunt communiceren met Microsoft Entra ID-governance met behulp van Microsoft Graph PowerShell-cmdlets.

De eerste keer dat uw organisatie deze cmdlets gebruikt voor dit scenario, moet u de rol Globale beheerder hebben om Microsoft Graph PowerShell te kunnen gebruiken in uw tenant. Volgende interacties kunnen een rol met lagere bevoegdheden gebruiken, zoals:

  1. Open PowerShell.

  2. Als u de Microsoft Graph PowerShell-modules nog niet hebt geïnstalleerd, installeer dan de module Microsoft.Graph.Identity.Governance en andere met behulp van deze opdracht:

    Install-Module Microsoft.Graph
    

    Als u de modules al hebt geïnstalleerd, controleer dan of u een recente versie gebruikt:

    Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
    
  3. Verbinding maken met Microsoft Entra-id:

    $msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
    
  4. Als dit de eerste keer is dat u deze opdracht hebt gebruikt, moet u mogelijk toestemming geven voor de Microsoft Graph-opdrachtregelprogramma's om deze machtigingen te hebben.

Een catalogus maken in Microsoft Entra-rechtenbeheer

Wanneer een beheerder voor het eerst met rechtenbeheer werkt, wordt er automatisch een standaardcatalogus gemaakt. Toegangspakketten voor beheerde toepassingen moeten echter in een aangewezen catalogus staan.

  1. Geef de naam van de catalogus op.

    $catalogName = "Business applications"
    
  2. Als u al een catalogus hebt voor uw toepassingsbeheerscenario, gaat u verder met stap 4 van deze sectie.

  3. Als u nog geen catalogus hebt voor uw toepassingsbeheerscenario, maakt u een catalogus.

    $catalog = New-MgEntitlementManagementCatalog -DisplayName $catalogName
    
  4. Zoek de id van de catalogus op.

    $catalogFilter = "displayName eq '" + $catalogName + "'"
    $catalog = Get-MgEntitlementManagementCatalog -Filter $catalogFilter -All -expandProperty resources,accessPackages
    if ($catalog -eq $null) { throw "catalog $catalogName not found" }
    $catalogId = $catalog.Id
    

De toepassing toevoegen als een resource aan de catalogus

Zodra de catalogus is gemaakt, voegt u de toepassing toe als een resource in die catalogus.

  1. Geef de naam van de toepassing en de naam van de toepassingsrol op. Gebruik de naam van uw toepassing als de waarde van servicePrincipalName.

    $servicePrincipalName = "SAP Cloud Identity Services"
    $servicePrincipalRoleName = "User"
    
  2. Zoek de id van de service-principal van de toepassing op.

    $servicePrincipalFilter = "displayName eq '" + $applicationName + "'"
    $servicePrincipal = Get-MgServicePrincipal -Filter $servicePrincipalFilter -all
    if ($servicePrincipal -eq $null) { throw "service principal $servicePrincipalName not found" }
    $servicePrincipalId = $servicePrincipal.Id
    
  3. Controleer of de toepassing al in de catalogus aanwezig is als resource. Als deze al aanwezig is, gaat u verder met stap 6 van deze sectie.

    $resourceId = $null
    foreach ($r in $catalog.Resources) { if ($r.OriginId -eq $servicePrincipalId) { $resourceId = $r.id; break } }
    if ($resourceId -ne $null) { write-output "resource already in catalog" } else {write-output "resource not yet in catalog"}
    
  4. Voeg de service-principal van de toepassing toe als een resource aan de catalogus.

    $resourceAddParams = @{
      requestType = "adminAdd"
      resource = @{
        originId = $servicePrincipalId
        originSystem = "AadApplication"
      }
      catalog = @{ id = $catalogId }
    }
    
    $resourceAdd = New-MgEntitlementManagementResourceRequest -BodyParameter $resourceAddParams
    if ($resourceAdd -eq $null) { throw "resource could not be added" }
    sleep 5
    
  5. Haal de id en het bereik van de resource in die catalogus op.

    $resource = $null
    $resourceId = $null
    $resourceScope = $null
    $catalogResources = Get-MgEntitlementManagementCatalogResource -AccessPackageCatalogId $CatalogId -ExpandProperty "scopes" -all
    
    foreach ($r in $catalogResources) { if ($r.OriginId -eq $servicePrincipalId) { $resource = $r; $resourceId = $r.id; $resourceScope = $r.Scopes[0]; break } }
    if ($resourceId -eq $null) { throw "resource was not added" }
    
  6. Haal de rollen van de toepassing op.

    $resourceRoleFilter = "(originSystem eq 'AadApplication' and resource/id eq '" + $resourceId + "')"
    $resourceRoles = @(get-mgentitlementmanagementcatalogresourcerole  -AccessPackageCatalogId $catalogId -Filter $resourceRoleFilter -All -ExpandProperty "resource")
    if ($resourceRoles -eq $null -or $resourceRoles.count -eq 0) { throw "no roles available" }
    
  7. Selecteer de rol die wordt opgenomen in het toegangspakket.

    $resourceRole = $null
    foreach ($r in $resourceRoles) { if ($r.DisplayName -eq $servicePrincipalRoleName) { $resourceRole = $r; break; } }
    if ($resourceRole -eq $null) { throw "role $servicePrincipalRoleName not located" }
    

Het toegangspakket voor de toepassing maken

Vervolgens gebruikt u PowerShell om een toegangspakket te maken in een catalogus met de rol van de toepassing.

  1. Geef de naam en beschrijving van het toegangspakket op.

    $accessPackageName = "SAP Cloud Identity Services"
    $accessPackageDescription = "A user of SAP Cloud Identity Services"
    $accessPackageHidden = $true
    
  2. Controleer of het toegangspakket nog niet bestaat.

    foreach ($a in $catalog.AccessPackages) { if ($a.DisplayName -eq $accessPackageName) { throw "access package $accessPackageName already exists" } }
    
  3. Maak het toegangspakket.

    $accessPackageParams = @{
        displayName = $accessPackageName
        description = $accessPackageDescription
        isHidden = $accessPackageHidden
        catalog = @{
            id = $catalog.id
        }
    }
    $accessPackage = New-MgEntitlementManagementAccessPackage -BodyParameter $accessPackageParams
    $accessPackageId = $accessPackage.Id
    

De toepassingsrol toevoegen aan het toegangspakket

Nadat u een toegangspakket hebt gemaakt, koppelt u de rol van de resource in de catalogus aan het toegangspakket.

$rrsParams = @{
 role = @{
     id =  $resourceRole.Id
     displayName =  $resourceRole.DisplayName
     description =  $resourceRole.Description
     originSystem =  $resourceRole.OriginSystem
     originId =  $resourceRole.OriginId
     resource = @{
         id = $resource.Id
         originId = $resource.OriginId
         originSystem = $resource.OriginSystem
     }
 }
 scope = @{
     id = $resourceScope.Id
     originId = $resourceScope.OriginId
     originSystem = $resourceScope.OriginSystem
 }
}

$roleAddRes = New-MgEntitlementManagementAccessPackageResourceRoleScope -AccessPackageId $accessPackageId -BodyParameter $rrsParams

Beleid voor toewijzing van toegangspakketten maken voor directe toewijzing

In deze sectie maakt u het eerste toegangspakkettoewijzingsbeleid in het toegangspakket, een beleid voor toewijzing van toegangspakketten voor directe toewijzing, dat kan worden gebruikt om de gebruikers bij te houden die al toegang hebben tot de toepassing. In het voorbeeldbeleid dat in deze sectie is gemaakt, kunnen alleen de beheerders of beheerders van pakkettoewijzingen toegang toewijzen, gebruikers voor onbepaalde tijd toegang behouden en zijn er geen goedkeuringen of toegangsbeoordelingen.

  1. Maak een beleid.

    $policy1Name = "Direct assignment policy"
    $policy1Description = "policy for administrative assignment"
    
    $policy1params = @{
     displayName = $policy1Name
     description = $policy1Description
     allowedTargetScope = "notSpecified"
     specificAllowedTargets = @(
     )
     expiration = @{
         endDateTime = $null
         duration = $null
         type = "noExpiration"
     }
     requestorSettings = @{
         enableTargetsToSelfAddAccess = $true
         enableTargetsToSelfUpdateAccess = $false
         enableTargetsToSelfRemoveAccess = $true
         allowCustomAssignmentSchedule = $true
         enableOnBehalfRequestorsToAddAccess = $false
         enableOnBehalfRequestorsToUpdateAccess = $false
         enableOnBehalfRequestorsToRemoveAccess = $false
         onBehalfRequestors = @(
         )
     }
     requestApprovalSettings = @{
         isApprovalRequiredForAdd = $false
         isApprovalRequiredForUpdate = $false
         stages = @(
         )
     }
     accessPackage = @{
         id = $accessPackageId
     }
    }
    
    $policy1Res = New-MgEntitlementManagementAssignmentPolicy -BodyParameter $policy1params
    $directAssignmentPolicyId = $policy1Res.Id
    
    

Scheiding van takenbeperkingen configureren

Microsoft Entra-rechtenbeheer kan scheiding van taken afdwingen om te voorkomen dat een gebruiker die al een bestaande toewijzing heeft aan een ander aangewezen toegangspakket of lidmaatschap van een aangewezen groep, een toegangspakket aanvraagt.

Als u geen scheiding van takenvereisten voor deze toepassing hebt, gaat u verder in het volgende gedeelte.

Als u scheiding van takenvereisten hebt, configureert u de incompatibele toegangspakketten of bestaande groepen voor uw toegangspakket.

Voor elk toegangspakket dat moet worden gemarkeerd als niet compatibel met een ander, kunt u een PowerShell-configuratie van toegangspakketten gebruiken als niet compatibel.

  1. Geef het andere toegangspakket op dat niet compatibel is met dit pakket. Wijzig de waarde van incompatibleAccessPackageId in de id van een ander toegangspakket in Microsoft Entra-rechtenbeheer.

    $incompatibleAccessPackageId = "67cc7175-7a3d-4cb2-860f-4d9217ba96ca"
    
  2. Maak de incompatibele verwijzing voor dit toegangspakket.

    $incompatible1params = @{
     "@odata.id" = "https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/accessPackages/" + $incompatibleAccessPackageId
    }
    New-MgEntitlementManagementAccessPackageIncompatibleAccessPackageByRef -AccessPackageId $accessPackageId -BodyParameter $incompatible1params
    
  3. Maak de incompatibele verwijzing voor het andere toegangspakket.

    $incompatible2params = @{
     "@odata.id" = "https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/accessPackages/" + $accessPackageId
    }
    New-MgEntitlementManagementAccessPackageIncompatibleAccessPackageByRef -AccessPackageId $incompatibleAccessPackageId -BodyParameter $incompatible2params
    
  4. Herhaal dit voor andere toegangspakketten.

  5. Als voor uw scenario de mogelijkheid is vereist om een scheiding van taken te overschrijven, kunt u ook extra toegangspakketten instellen voor deze overschrijvingsscenario's.

Toewijzingen toevoegen van bestaande gebruikers die al toegang hebben tot de toepassing

Voeg toewijzingen toe van bestaande gebruikers, die al toegang hebben tot de toepassing, aan het toegangspakket en het bijbehorende beleid voor directe toewijzing. U kunt elke gebruiker rechtstreeks toewijzen aan een toegangspakket.

  1. Haal de bestaande roltoewijzingen van de toepassing op.

    $existingAppRoleAssignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $servicePrincipalId -All)
    
  2. Als u wilt voorkomen dat er dubbele toewijzingen worden gemaakt, haalt u eventuele bestaande toewijzingen op voor het toegangspakket.

    $existingAssignments1filter = "accessPackage/id eq '" + $accessPackageId + "' and state eq 'Delivered'"
    $existingassignments1 = @(Get-MgEntitlementManagementAssignment -Filter $existingAssignments1filter -ExpandProperty target -All -ErrorAction Stop)
    $existingusers1 = @()
    foreach ($a in $existingassignments1) { $existingusers1 += $a.Target.ObjectId}
    
  3. Nieuwe opdrachten maken.

    foreach ($ar in $existingAppRoleAssignments) {
     if ($ar.principalType -ne "User") {
       write-warning "non-user assigned to application role"
     }
     $arpid = $ar.principalId
     if ($existingusers1.contains($arpId)) { continue }
    
     $params = @{
       requestType = "adminAdd"
       assignment = @{
          targetId = $arpId
          assignmentPolicyId = $directAssignmentPolicyId
          accessPackageId = $accessPackageId
       }
     }
     try {
       New-MgEntitlementManagementAssignmentRequest -BodyParameter $params
     } catch {
       write-error "cannot create request for user $upn"
     }
    }
    

Toewijzingen toevoegen voor eventuele extra gebruikers die toegang moeten hebben tot de toepassing

Dit script illustreert het gebruik van de Microsoft Graph PowerShell-cmdlets om toewijzingen toe te voegen voor extra gebruikers, zodat ze toegang hebben tot de toepassing. Als u geen gebruikers hebt die toegang nodig hebben en deze niet automatisch zou ontvangen, gaat u verder in de volgende sectie.

In dit script wordt ervan uitgegaan dat u een CSV-invoerbestand met één kolom hebt, UserPrincipalNameom deze gebruikers toe te wijzen aan het toegangspakket via het beleid voor directe toewijzing.

  1. Geef de naam van het invoerbestand op.

    $inputpath = "users.csv"
    
  2. Als u wilt voorkomen dat er dubbele toewijzingen worden gemaakt, haalt u eventuele bestaande toewijzingen op voor het toegangspakket.

    $existingAssignments2filter = "accessPackage/id eq '" + $accessPackageId + "' and state eq 'Delivered'"
    $existingassignments2 = @(Get-MgEntitlementManagementAssignment -Filter $existingAssignments2filter -ExpandProperty target -All -ErrorAction Stop)
    $existingusers2 = @()
    foreach ($a in $existingassignments2) { $existingusers2 += $a.Target.ObjectId}
    
  3. Nieuwe opdrachten maken.

    $users = import-csv -Path $inputpath
    foreach ($userrecord in $users) {
       $upn = $userrecord.UserPrincipalName
       if ($null -eq $upn) {throw "no UserPrincipalName" }
       $u = $null
       try {
          $u = Get-MgUser -UserId $upn
       } catch {
          write-error "no user $upn"
       }
       if ($u -eq $null) { continue }
       if ($existingusers2.contains($u.Id)) { continue }
    
       $params = @{
          requestType = "adminAdd"
          assignment = @{
             targetId = $u.Id
             assignmentPolicyId = $directAssignmentPolicyId
             accessPackageId = $accessPackageId
          }
       }
       try {
          New-MgEntitlementManagementAssignmentRequest -BodyParameter $params
       } catch {
          write-error "cannot create request for user $upn"
       }
    }
    

Een beleid toevoegen aan de toegangspakketten voor automatische toewijzing

Als het beleid van uw organisatie voor wie toegang kan krijgen tot een toepassing een regel bevat op basis van de kenmerken van de gebruiker om automatisch toegang toe te wijzen en te verwijderen op basis van deze kenmerken, kunt u dit vertegenwoordigen met behulp van een beleid voor automatische toewijzing. Een toegangspakket kan maximaal één beleid voor automatische toewijzing hebben. Als u geen vereiste voor een automatische toewijzing hebt, gaat u verder in de volgende sectie.

  1. Geef de filterexpressie voor automatische toewijzing op zodat gebruikers een opdracht kunnen ontvangen. Wijzig de waarde van autoAssignmentPolicyFilter een filter voor de gebruikers in uw Microsoft Entra-id die binnen het bereik vallen. De syntaxis en toegestane kenmerken zijn opgenomen in dynamische lidmaatschapsregels voor groepen in Microsoft Entra-id.

    $autoAssignmentPolicyFilter = '(user.city -eq "Redmond")'
    
  2. Gebruik PowerShell om een beleid voor automatische toewijzing in het toegangspakket te maken.

    $policy2Name = "Automatic assignment policy"
    $policy2Description = "policy for automatic assignment"
    
    $policy2Params = @{
     DisplayName = $policy2Name
     Description = $policy2Description
     AllowedTargetScope = "specificDirectoryUsers"
     SpecificAllowedTargets = @( @{
         "@odata.type" = "#microsoft.graph.attributeRuleMembers"
         description = $policy2Description
         membershipRule = $autoAssignmentPolicyFilter
     } )
     AutomaticRequestSettings = @{
         RequestAccessForAllowedTargets = $true
     }
     AccessPackage = @{
       Id = $accessPackageId
     }
    }
    New-MgEntitlementManagementAssignmentPolicy -BodyParameter $policy2Params
    

Aanvullende beleidsregels maken zodat gebruikers toegang kunnen aanvragen

Als gebruikers die nog geen toegang hebben om aan de toepassing te worden toegewezen, kunnen aanvragen, dan kunt u ook een toewijzingsbeleid voor toegangspakketten configureren zodat gebruikers een toegangspakket kunnen aanvragen. U kunt extra beleidsregels toevoegen aan een toegangspakket en in elk beleid opgeven welke gebruikers kunnen aanvragen en wie moet goedkeuren. Als u alleen gebruikers automatisch of door een beheerder toegang wilt geven, gaat u verder in de volgende sectie.

Zie Een toewijzingsbeleid maken via PowerShell, accessPackageAssignmentPolicy en Een assignmentPolicy maken voor meer voorbeelden.

  1. Geef de naam, beschrijving van het beleid en de id op van een Microsoft Entra-gebruiker die de fiatteur wordt.

    $policy3Name = "example policy"
    $policy3Description = "example of a policy for users to request assignment"
    $policy3ApproverSingleUserId = "1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5"
    
  2. Maak het beleid.

    $policy3Params = @{
     displayName = $policy3Name
     description = $policy3Description
     allowedTargetScope = "allMemberUsers"
     expiration = @{
         type = "noExpiration"
     }
     requestorSettings = @{
         enableTargetsToSelfAddAccess = "true"
         enableTargetsToSelfUpdateAccess = "true"
         enableTargetsToSelfRemoveAccess = "true"
     }
     requestApprovalSettings = @{
         isApprovalRequiredForAdd = "true"
         isApprovalRequiredForUpdate = "true"
         stages = @(
             @{
                 durationBeforeAutomaticDenial = "P7D"
                 isApproverJustificationRequired = "false"
                 isEscalationEnabled = "false"
                 fallbackPrimaryApprovers = @(
                 )
                 escalationApprovers = @(
                 )
                 fallbackEscalationApprovers = @(
                 )
                 primaryApprovers = @(
                     @{
                         "@odata.type" = "#microsoft.graph.singleUser"
                         userId = $policy3ApproverSingleUserId
                     }
                 )
             }
         )
     }
     accessPackage = @{
         id = $accessPackageId
     }
    }
    
    New-MgEntitlementManagementAssignmentPolicy -BodyParameter $policy3Params
    

Taken voor levenscycluswerkstromen configureren

Als u microsoft Entra-levenscycluswerkstromen gebruikt voor deelname aan werknemers, verlaten gebeurtenissen verplaatst, kunt u ook taken toevoegen aan deze werkstromen om toewijzingen aan dit toegangspakket toe te voegen of te verwijderen. Als u geen levenscycluswerkstromen gebruikt, gaat u verder in de volgende sectie.

In dit voorbeeld ziet u hoe u een wijziging aanbrengt in de werkstromen voor joins en gebeurtenissen verlaat.

  1. Haal de joiner categoriewerkstroom en de bijbehorende taken op met behulp van de opdracht Get-MgIdentityGovernanceLifecycleWorkflow .

  2. Voeg een taak toe aan een lijst met taken in die werkstroom.

    Weergavenaam van taak taskDefinitionId Argumenten
    Toewijzing van gebruikerstoegangspakket aanvragen c1ec1e76-f374-4375-aaa6-0bb6bd4c60be naam: assignmentPolicyId
    waarde: de beleids-id van de toewijzing, zoals de waarde waaruit $directAssignmentPolicyId geen goedkeuring is vereist, voor het toegangspakket dat u de gebruiker wilt toewijzen.

    naam: accessPackageId
    waarde: De toegangspakket-id, $accessPackageIdvoor het toegangspakket dat u wilt toewijzen aan de gebruiker.
  3. Maak een nieuwe versie van de werkstroom, inclusief de nieuwe taak, met behulp van de opdracht New-MgIdentityGovernanceLifecycleWorkflowNewVersion .

  4. Haal de leaver categoriewerkstroom en de bijbehorende taken op met behulp van de opdracht Get-MgIdentityGovernanceLifecycleWorkflow .

  5. Voeg een taak toe aan een lijst met taken in die werkstroom.

    Weergavenaam van taak taskDefinitionId Argumenten
    Toewijzing van toegangspakket voor gebruiker verwijderen 4a0b64f2-c7ec-46ba-b117-18f262946c50 naam: accessPackageId
    waarde: Een geldige toegangspakket-id, accessPackageId voor het toegangspakket dat u wilt intrekken van de gebruiker.
  6. Maak een nieuwe versie van de werkstroom, inclusief de nieuwe taak, met behulp van de opdracht New-MgIdentityGovernanceLifecycleWorkflowNewVersion .

Toewijzingen beheren

Zodra de toegangspakketten, beleidsregels en initiële toewijzingen zijn gemaakt, krijgen gebruikers toegang tot de rol van de toepassing.

Later kunt u controleren op wijzigingen in de toewijzingen of programmatisch toewijzingen toevoegen of verwijderen.

Bestaande toewijzingen ophalen

Dit script illustreert het gebruik van een filter om de toewijzingen op te halen voor het toegangspakket dat de status heeft Delivered. Het script genereert een CSV-bestand assignments.csv met een lijst met gebruikers die toewijzingen hebben, met één rij per toewijzing.

$assignmentFilter = "accessPackage/id eq '" + $accessPackageId + "' and state eq 'Delivered'"
$assignments = @(Get-MgEntitlementManagementAssignment -Filter $assignmentFilter -ExpandProperty target -All -ErrorAction Stop)
$sp = $assignments | select-object -Property Id,{$_.Target.id},{$_.Target.ObjectId},{$_.Target.DisplayName},{$_.Target.PrincipalName}
$sp | Export-Csv -Encoding UTF8 -NoTypeInformation -Path ".\assignments.csv"

Een toewijzing verwijderen

U kunt de toewijzing van een gebruiker verwijderen met de New-MgEntitlementManagementAssignmentRequest cmdlet.

$userId = "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
$filter = "accessPackage/Id eq '" + $accessPackageId + "' and state eq 'Delivered' and target/objectId eq '" + $userId + "'"
$assignment = Get-MgEntitlementManagementAssignment -Filter $filter -ExpandProperty target -all -ErrorAction stop
if ($assignment -ne $null) {
   $params = @{
      requestType = "adminRemove"
      assignment = @{ id = $assignment.id }
   }
   New-MgEntitlementManagementAssignmentRequest -BodyParameter $params
}

Volgende stappen