Creare un pacchetto di accesso nella gestione entitlement per un'applicazione con un singolo ruolo usando PowerShell
Nella gestione entitlement di Microsoft Entra un pacchetto di accesso include i criteri per il modo in cui gli utenti possono ottenere assegnazioni per uno o più ruoli delle risorse. Le risorse possono includere gruppi, applicazioni e siti di SharePoint Online.
Questo articolo descrive come creare un pacchetto di accesso per una singola applicazione con un singolo ruolo usando Microsoft Graph PowerShell. Questo scenario è applicabile principalmente agli ambienti che usano la gestione entitlement per automatizzare l'accesso continuo per un'applicazione aziendale o middleware specifica. Un'organizzazione con più risorse o risorse con più ruoli può anche modellare i criteri di accesso con i pacchetti di accesso:
- Se l'organizzazione ha già un modello di ruolo aziendale esistente per i ruoli aziendali, può eseguire la migrazione di tale modello alla governance degli ID di Microsoft Entra e gestire l'accesso con un modello di ruolo aziendale.
- Se l'organizzazione dispone di applicazioni con più ruoli, è possibile distribuire i criteri dell'organizzazione per gestire l'accesso alle applicazioni integrate con Microsoft Entra ID
- Per altre informazioni sulla creazione di pacchetti di accesso per altri scenari, vedere Esercitazione: Gestire l'accesso alle risorse nella gestione entitlement e come creare un pacchetto di accesso nella gestione entitlement.
Prerequisiti
L'uso di questa funzionalità richiede le licenze di Microsoft Entra ID Governance o della Famiglia di prodotti Microsoft Entra. Per trovare la licenza appropriata per i requisiti, vedere Nozioni fondamentali sulla governance degli ID di Microsoft Entra ID.
Prima di iniziare a creare il pacchetto di accesso, è necessario integrare l'applicazione con Microsoft Entra ID. Se l'applicazione non è già presente nel tenant Microsoft Entra ID, seguire le istruzioni riportate in questo articolo per creare un'applicazione e un'entità servizio per l'oggetto. Assicurarsi anche che il tenant di Microsoft Entra ID abbia soddisfatto i prerequisiti prima di configurare Microsoft Entra ID per la governance delle identità.
Per creare il pacchetto di accesso e i criteri e le assegnazioni associati, è necessario avere le informazioni seguenti pronte:
Caso d'uso | Impostazione di configurazione | Variabile di PowerShell |
---|---|---|
Tutte le date | Nome dell'applicazione nel tenant di Microsoft Entra ID | $servicePrincipalName |
Tutte le date | Nome del ruolo dell'applicazione | $servicePrincipalRoleName |
Tutte le date | Nome del catalogo contenente il pacchetto di accesso | $catalogName |
Tutte le date | Nome per assegnare il pacchetto di accesso | $accessPackageName |
Tutte le date | Descrizione per assegnare il pacchetto di accesso | $accessPackageDescription |
Separazione dei requisiti di compiti con un pacchetto di accesso incompatibile | l’ID del pacchetto di accesso incompatibile | $incompatibleAccessPackageId (se necessario) |
Utenti che non hanno già assegnazioni e non vengono assegnati automaticamente | elenco di utenti | $inputpath (se necessario) |
Gli utenti con attributi specifici hanno automaticamente delle assegnazioni | l’espressione di query per gli utenti nell'ambito | $autoAssignmentPolicyFilter (se necessario) |
Consentire agli utenti che non hanno un'assegnazione di richiedere un'assegnazione | l'ambito degli utenti che possono richiedere, i responsabili approvazione e il periodo di verifica dell'accesso | dipende dai requisiti |
Automatizzare la creazione o la rimozione delle assegnazioni in base all'aggiunta o all'uscita di flussi di lavoro nei flussi di lavoro del ciclo di vita | i nomi dei flussi di lavoro che forniscono e rimuovono l'accesso | dipende dai requisiti |
Eseguire l'autenticazione in Microsoft Entra ID
Questa sezione illustra come interagire con Microsoft Entra ID Governance usando i cmdlet di Microsoft Graph PowerShell.
La prima volta che l'organizzazione usa questi cmdlet per questo scenario, è necessario essere in un ruolo di amministratore globale per consentire l'uso di Microsoft Graph PowerShell nel tenant. Le interazioni successive possono usare un ruolo con privilegi inferiori, ad esempio:
Aprire PowerShell.
Se non sono già installati i moduli di Microsoft Graph PowerShell, installare il modulo
Microsoft.Graph.Identity.Governance
e altri usando questo comando:Install-Module Microsoft.Graph
Se i moduli sono già installati, assicurarsi di usare una versione recente:
Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
Connettersi a Microsoft Entra ID:
$msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
Se è la prima volta che è stato usato questo comando, potrebbe essere necessario fornire il consenso per permettere agli strumenti della riga di comando di Microsoft Graph di avere queste autorizzazioni.
Creare un catalogo nella gestione entitlement di Microsoft Entra
Per impostazione predefinita, quando un amministratore interagisce per la prima volta con la gestione entitlement, viene creato automaticamente un catalogo predefinito. Tuttavia, i pacchetti di accesso per le applicazioni regolamentate devono trovarsi in un catalogo designato.
Consente di specificare il nome del catalogo.
$catalogName = "Business applications"
Se è già disponibile un catalogo per lo scenario di governance delle applicazioni, continuare con il passaggio 4 di questa sezione.
Se non è già disponibile un catalogo per lo scenario di governance delle applicazioni, creare un catalogo.
$catalog = New-MgEntitlementManagementCatalog -DisplayName $catalogName
Cercare l'ID del catalogo.
$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
Aggiungere l'applicazione come risorsa al catalogo
Dopo aver creato il catalogo, aggiungere l'applicazione come risorsa nel catalogo.
Specificare il nome dell'applicazione e il nome del ruolo applicazione. Usare il nome dell'applicazione come valore di
servicePrincipalName
.$servicePrincipalName = "SAP Cloud Identity Services" $servicePrincipalRoleName = "User"
Cercare l'ID dell'entità servizio dell'applicazione.
$servicePrincipalFilter = "displayName eq '" + $applicationName + "'" $servicePrincipal = Get-MgServicePrincipal -Filter $servicePrincipalFilter -all if ($servicePrincipal -eq $null) { throw "service principal $servicePrincipalName not found" } $servicePrincipalId = $servicePrincipal.Id
Controllare se l'applicazione è già presente nel catalogo come risorsa. Se è già presente, continuare al passaggio 6 di questa sezione.
$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"}
Aggiungere l'entità servizio dell'applicazione come risorsa al catalogo.
$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
Recuperare l'ID e l'ambito della risorsa nel catalogo.
$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" }
Recuperare i ruoli dell'applicazione.
$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" }
Selezionare il ruolo che verrà incluso nel pacchetto di accesso.
$resourceRole = $null foreach ($r in $resourceRoles) { if ($r.DisplayName -eq $servicePrincipalRoleName) { $resourceRole = $r; break; } } if ($resourceRole -eq $null) { throw "role $servicePrincipalRoleName not located" }
Creare il pacchetto di accesso per l'applicazione
Successivamente si userà PowerShell per creare un pacchetto di accesso in un catalogo che include il ruolo dell'applicazione.
Specificare il nome e la descrizione del pacchetto di accesso.
$accessPackageName = "SAP Cloud Identity Services" $accessPackageDescription = "A user of SAP Cloud Identity Services" $accessPackageHidden = $true
Verificare che il pacchetto di accesso non esista già.
foreach ($a in $catalog.AccessPackages) { if ($a.DisplayName -eq $accessPackageName) { throw "access package $accessPackageName already exists" } }
Creare il pacchetto di accesso.
$accessPackageParams = @{ displayName = $accessPackageName description = $accessPackageDescription isHidden = $accessPackageHidden catalog = @{ id = $catalog.id } } $accessPackage = New-MgEntitlementManagementAccessPackage -BodyParameter $accessPackageParams $accessPackageId = $accessPackage.Id
Aggiungere il ruolo applicazione al pacchetto di accesso
Dopo aver creato un pacchetto di accesso, collegare il ruolo della risorsa nel catalogo al pacchetto di accesso.
$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
Creare criteri di assegnazione dei pacchetti di accesso per l'assegnazione diretta
In questa sezione si creeranno i primi criteri di assegnazione dei pacchetti di accesso nel pacchetto di accesso, un criterio di assegnazione dei pacchetti di accesso per l'assegnazione diretta, che può essere usato per tenere traccia degli utenti che hanno già accesso all'applicazione. Nei criteri di esempio creati in questa sezione, solo gli amministratori o i responsabili delle assegnazioni dei pacchetti di accesso possono assegnare l'accesso, gli utenti mantengono l'accesso a tempo indeterminato e non sono presenti approvazioni o verifiche di accesso.
Creare criteri.
$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
Configurare la separazione dei vincoli dei compiti
La gestione entitlement di Microsoft Entra può applicare dei controlli sulla separazione dei compiti per impedire a un utente che ha già un'assegnazione esistente a un altro pacchetto di accesso designato o all'appartenenza a un gruppo designato, di richiedere un pacchetto di accesso.
Se non si hanno dei requisiti di separazione dei compiti per questa applicazione, continuare con la sezione successiva.
Se si hanno dei requisiti di separazione dei compiti, configurare i pacchetti di accesso incompatibili o i gruppi esistenti per il pacchetto di accesso.
Per ogni pacchetto di accesso che deve essere contrassegnato come incompatibile con un altro, è possibile usare un configura i pacchetti di accesso come incompatibili di PowerShell.
Specificare l'altro pacchetto di accesso non compatibile con questo pacchetto. Modificare il valore di
incompatibleAccessPackageId
impostando l'ID di un altro pacchetto di accesso nella gestione entitlement di Microsoft Entra.$incompatibleAccessPackageId = "67cc7175-7a3d-4cb2-860f-4d9217ba96ca"
Creare il riferimento incompatibile in questo pacchetto di accesso.
$incompatible1params = @{ "@odata.id" = "https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/accessPackages/" + $incompatibleAccessPackageId } New-MgEntitlementManagementAccessPackageIncompatibleAccessPackageByRef -AccessPackageId $accessPackageId -BodyParameter $incompatible1params
Creare il riferimento incompatibile nell'altro pacchetto di accesso.
$incompatible2params = @{ "@odata.id" = "https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/accessPackages/" + $accessPackageId } New-MgEntitlementManagementAccessPackageIncompatibleAccessPackageByRef -AccessPackageId $incompatibleAccessPackageId -BodyParameter $incompatible2params
Ripetere per tutti gli altri pacchetti di accesso.
Se lo scenario richiede la possibilità di eseguire l'override di una separazione dei compiti, è anche possibile configurare pacchetti di accesso aggiuntivi per questi scenari di override.
Aggiungere assegnazioni di utenti esistenti che hanno già accesso all'applicazione
Aggiungere assegnazioni di utenti esistenti, che hanno già accesso all'applicazione, al pacchetto di accesso e ai relativi criteri di assegnazione diretta. È possibile assegnare direttamente ogni utente a un pacchetto di accesso.
Recuperare le assegnazioni di ruolo dell'applicazione esistenti.
$existingAppRoleAssignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $servicePrincipalId -All)
Per evitare di creare assegnazioni duplicate, recuperare le assegnazioni esistenti nel pacchetto di accesso.
$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}
Creare nuove assegnazioni.
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" } }
Aggiungere assegnazioni per eventuali utenti aggiuntivi che potrebbero necessitare dell'accesso all'applicazione
Questo script mostra come usare i cmdlet di PowerShell di Microsoft Graph per aggiungere assegnazioni per utenti aggiuntivi affinché possano accedere all'applicazione. Se non si dispone di utenti che hanno bisogno di accesso e non lo riceveranno automaticamente, continuare nella sezione successiva.
Questo script presuppone che si disponga di un file CSV di input contenente una colonna, UserPrincipalName
, per assegnare tali utenti al pacchetto di accesso tramite i criteri di assegnazione diretta.
Specificare il nome del file di input.
$inputpath = "users.csv"
Per evitare di creare assegnazioni duplicate, recuperare le assegnazioni esistenti nel pacchetto di accesso.
$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}
Creare nuove assegnazioni.
$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" } }
Aggiungere un criterio ai pacchetti di accesso per l'assegnazione automatica
Se i criteri dell'organizzazione per la quale può essere assegnato l'accesso a un'applicazione includono una regola basata sugli attributi dell'utente per assegnare e rimuovere automaticamente l'accesso in base a tali attributi, è possibile rappresentarlo usando un criterio di assegnazione automatica. Un pacchetto di accesso può avere al massimo un criterio di assegnazione automatica. Se non si ha un requisito per un'assegnazione automatica, continuare con la sezione successiva.
Specificare l'espressione di filtro di assegnazione automatica per consentire agli utenti di ricevere un'assegnazione. Modificare il valore di
autoAssignmentPolicyFilter
in modo che sia un filtro per gli utenti nell'ID Microsoft Entra nell'ambito. La sintassi e gli attributi consentiti vengono forniti nelle regole per i gruppi di appartenenza dinamica in Microsoft Entra ID.$autoAssignmentPolicyFilter = '(user.city -eq "Redmond")'
Usare PowerShell per creare criteri di assegnazione automatica nel pacchetto di accesso.
$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
Creare criteri aggiuntivi per consentire agli utenti di richiedere l'accesso
Se gli utenti che non dispongono già dell'accesso possono richiedere di essere assegnati all'applicazione, è anche possibile configurare un criterio di assegnazione del pacchetto di accesso per consentire agli utenti di richiedere un pacchetto di accesso. È possibile aggiungere altri criteri a un pacchetto di accesso, e in ogni criterio specificare quali utenti possono fare richiesta e chi deve approvare. Se si desidera che l'accesso venga assegnato solo agli utenti automaticamente o da un amministratore, continuare con la sezione successiva.
Per altri esempi, vedere Creare criteri di assegnazione tramite PowerShell, accessPackageAssignmentPolicy e Creare un assignmentPolicy.
Specificare il nome, la descrizione del criterio e l'ID di un utente di Microsoft Entra che sarà il responsabile dell’approvazione.
$policy3Name = "example policy" $policy3Description = "example of a policy for users to request assignment" $policy3ApproverSingleUserId = "1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5"
Creare i criteri.
$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
Configurare le attività dei flussi di lavoro del ciclo di vita
Se si usano i flussi di lavoro del ciclo di vita di Microsoft Entra per l'aggiunta dei dipendenti, spostare gli eventi di uscita, è anche possibile aggiungere o rimuovere attività a tali flussi di lavoro per aggiungere o rimuovere assegnazioni a questo pacchetto di accesso. Se non si usano flussi di lavoro del ciclo di vita, continuare con la sezione successiva.
In questo esempio viene illustrato come apportare una modifica ai flussi di lavoro di join e di uscita dagli eventi.
Recuperare il flusso di lavoro della categoria
joiner
e le relative attività usando il comando Get-MgIdentityGovernanceLifecycleWorkflow.Aggiungere un'attività all'elenco di attività nel flusso di lavoro.
Nome visualizzato dell'attività taskDefinitionId argomenti Richiedere l'assegnazione del pacchetto di accesso utente c1ec1e76-f374-4375-aaa6-0bb6bd4c60be
nome: assignmentPolicyId
valore: ID dei criteri di assegnazione, ad esempio il valore di$directAssignmentPolicyId
se non è necessaria alcuna approvazione, per il pacchetto di accesso che si vuole assegnare all'utente.
nome:accessPackageId
valore: ID pacchetto di accesso,$accessPackageId
, per il pacchetto di accesso che si vuole assegnare all'utente.Creare una nuova versione del flusso di lavoro, inclusa la nuova attività, usando il comando New-MgIdentityGovernanceLifecycleWorkflowNewVersion.
Recuperare il flusso di lavoro della categoria
leaver
e le relative attività usando il comando Get-MgIdentityGovernanceLifecycleWorkflow.Aggiungere un'attività all'elenco di attività nel flusso di lavoro.
Nome visualizzato dell'attività taskDefinitionId argomenti Rimuovere l'assegnazione del pacchetto di accesso per l'utente 4a0b64f2-c7ec-46ba-b117-18f262946c50
nome: accessPackageId
valore: ID pacchetto di accesso valido,accessPackageId
per il pacchetto di accesso di cui si desidera annullare l'assegnazione all'utente.Creare una nuova versione del flusso di lavoro, inclusa la nuova attività, usando il comando New-MgIdentityGovernanceLifecycleWorkflowNewVersion.
Gestire le assegnazioni
Dopo aver creato i pacchetti di accesso, i criteri e le assegnazioni iniziali, agli utenti viene assegnato l'accesso al ruolo dell'applicazione.
Successivamente, sarà possibile monitorare le modifiche alle assegnazioni o aggiungere o rimuovere assegnazioni a livello di codice.
Recuperare le assegnazioni esistenti
Questo script illustra l'uso di un filtro per recuperare le assegnazioni al pacchetto di accesso nello stato Delivered
. Lo script genera un file CSV assignments.csv
con un elenco di utenti con assegnazioni, con una riga per assegnazione.
$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"
Rimuovere un'assegnazione
È possibile rimuovere l'assegnazione di un utente con il cmdlet New-MgEntitlementManagementAssignmentRequest
.
$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
}