[ A C C E S S   P A C K A G E S ]

Assign Microsoft Entra ID Access Packages on demand — from your terminal.

Pick a package, enter emails, add a justification, assign. One PowerShell command.

Install Now GitHub
v1.0.2 · PowerShell 7.0+

Features

Everything you need to grant access package assignments, in one tool.

👥

Bulk Assignment by Email

Assign one user or many at once. Enter addresses separated by commas, spaces, or semicolons — each is resolved and labeled inline.

📦

Pre-Configured Packages

Register the access packages this tool manages once. No browsing the directory on every run — just pick from your list.

🔍

Existing-Assignment Detection

Every email is checked and tagged before you commit: ready to assign, already has access, or not found.

📝

Business Justification

Configurable canned justification options plus a custom free-text entry. Required on every assignment, never blank.

Auto End-Date

The assignment end date is computed from the policy's maximum duration automatically — no date prompts to fill in.

🩹

Stuck-Request Recovery

Detects orphaned "open request" errors, finds the blocking request, and offers to cancel and retry — no portal trip.

🌐

Cross-Platform Sign-In

Browser-based MSAL authentication on Windows, macOS, and Linux. Full Conditional Access policy enforcement.

🔑

Custom App Registration

Optionally bring your own Entra app registration (Client ID / Tenant ID) for conditional access or tenant-scoped consent.

🔄

Cooling-Off & Auto-Refresh

A cooling-off countdown lets assignments propagate through the directory, then the live assignments view refreshes automatically.

Screenshots

Sign in, configure packages, assign a user, and see it delivered in Entra.

First-time setup — choose how to sign in
Sign-In Mode
Configure managed access packages by object ID and friendly name
Configure Packages
Assignment details, business justification, and confirmation
Assign a User
Assignment delivered in the Microsoft Entra admin center
Delivered in Entra

Quick Start

Up and running in three commands.

Install
Install-Module -Name Access-Package-OnDemand -Repository PSGallery
Configure the packages to manage
Set-AccessPackageConfig
Run
Start-AccessPackageOnDemand
Optional: Custom App Registration
# Bring your own Entra app (Client ID / Tenant ID)
Set-AppRegistrationConfig

Cmdlets

Ten cmdlets cover the whole workflow.

CmdletDescription
Start-AccessPackageOnDemandLaunch the interactive TUI: auth → pick package → enter emails → justify → assign.
Set-AccessPackageConfigAdd, remove, or replace the configured access packages.
Get-AccessPackageConfigList the access packages currently configured.
Clear-AccessPackageConfigDelete the saved configuration.
Set-AccessPackageJustificationOptionsSet the canned business justification options.
Get-AccessPackageJustificationOptionsShow the effective justification options.
Clear-AccessPackageJustificationOptionsRevert to the built-in default justifications.
Set-AppRegistrationConfigConfigure a custom Entra app registration for sign-in.
Get-AppRegistrationConfigShow the configured app registration, if any.
Clear-AppRegistrationConfigRevert to the default Microsoft public client.

Permissions

Delegated Microsoft Graph scopes and a directory role that can manage assignments.

Delegated Graph Scopes

  • EntitlementManagement.ReadWrite.All
  • User.Read.All

Directory Role (one of)

  • Identity Governance Administrator
  • Catalog owner
  • Access Package Manager