EasyPIM

2.3.3

EasyPIM simplifies Microsoft PIM management by abstracting complex Graph and ARM APIs into intuitive PowerShell cmdlets. Overcome portal limitations with bulk operations, export/import policies across tenants, manage Azure RBAC and Entra roles using friendly role names instead of GUIDs, track changes with interactive HTML reports, and automate what the portal cannot.
EasyPIM simplifies Microsoft PIM management by abstracting complex Graph and ARM APIs into intuitive PowerShell cmdlets. Overcome portal limitations with bulk operations, export/import policies across tenants, manage Azure RBAC and Entra roles using friendly role names instead of GUIDs, track changes with interactive HTML reports, and automate what the portal cannot. One unified module for Azure Resources, Entra Roles, and PIM Groups—built for ease and automation at scale.
Show more

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name EasyPIM

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name EasyPIM

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) loicmichel. All rights reserved.

Package Details

Author(s)

  • Loïc MICHEL

Tags

Azure PIM EntraID PrivilegedIdentityManagement RBAC AzureAD Identity Security Governance Compliance ARM Graph

Functions

Import-PIMAzureResourcePolicy Get-PIMAzureResourcePolicy Set-PIMAzureResourcePolicy Copy-PIMAzureResourcePolicy Export-PIMAzureResourcePolicy Backup-PIMAzureResourcePolicy Get-PIMAzureResourceActiveAssignment Get-PIMAzureResourceEligibleAssignment New-PIMAzureResourceActiveAssignment New-PIMAzureResourceEligibleAssignment Remove-PIMAzureResourceEligibleAssignment Remove-PIMAzureResourceActiveAssignment Get-PIMEntraRolePolicy Export-PIMEntraRolePolicy Import-PIMEntraRolePolicy Set-PIMEntraRolePolicy Backup-PIMEntraRolePolicy Copy-PIMEntraRolePolicy Get-PIMEntraRoleActiveAssignment Get-PIMEntraRoleEligibleAssignment New-PIMEntraRoleActiveAssignment New-PIMEntraRoleEligibleAssignment Remove-PIMEntraRoleActiveAssignment Remove-PIMEntraRoleEligibleAssignment Get-PIMGroupPolicy Set-PIMGroupPolicy Get-PIMGroupActiveAssignment Get-PIMGroupEligibleAssignment New-PIMGroupActiveAssignment New-PIMGroupEligibleAssignment Remove-PIMGroupActiveAssignment Remove-PIMGroupEligibleAssignment Show-PIMReport Get-PIMAzureResourcePendingApproval Approve-PIMAzureResourcePendingApproval Deny-PIMAzureResourcePendingApproval Get-PIMEntraRolePendingApproval Approve-PIMEntraRolePendingApproval Deny-PIMEntraRolePendingApproval Get-PIMGroupPendingApproval Approve-PIMGroupPendingApproval Deny-PIMGroupPendingApproval Copy-PIMAzureResourceActiveAssignment Copy-PIMAzureResourceEligibleAssignment Copy-PIMEntraRoleEligibleAssignment

Dependencies

Release Notes

   EasyPIM 2.3.3 (2026-09-27)
   - Fixed ARM GET throttling (#269): honor Retry-After with at most five retries and 60 seconds of total sleep. Mutation requests are not retried.
   - Fixed Azure role enumeration pagination (#277): follow every page using the shared ARM retry helper while preserving continuation queries and authentication context.
   - Reject cross-origin or repeated continuation URLs and fail on later-page errors instead of returning incomplete role lists.
   - Added offline regression tests for retries, pagination, continuation validation, and failure handling.
   - EasyPIM.Orchestrator is unchanged.

   EasyPIM 2.3.2 (2026-09-24)
   - Fixed Azure resource role policy expiration payloads: omit maximumDuration when permanent active or eligible assignments are allowed.
   - Corrected the Azure active assignment expiration rule target level to Assignment.
   - Include ARM error response details in failure messages when available.
   - Added offline regression tests for Azure and Entra expiration rules and ARM error reporting.
   - Includes PR #273 by Sebastian Claesson, addressing issue #272.

   🚀 EasyPIM v2.0.0 - Major Architectural Milestone (2025-08-28):

   BREAKING CHANGES:
   - Module separation: EasyPIM.Orchestrator now available as standalone module
   - Parameter standardization: 'assignee' renamed to 'principalId' (alias provided for compatibility)
   - ARM API compatibility improvements may affect existing scripts

   ✅ NEW FEATURES:
   - ARM API fixes: Resolved InvalidResourceType and NoRegisteredProviderFound errors
   - Enhanced policy validation with proactive error detection and clear user guidance
   - Auto-configuration of permanent assignment flags based on duration specifications
   - Parameter consistency across all Azure resource assignment functions
   - Improved module dependency management

   🔧 TECHNICAL IMPROVEMENTS:
   - Fixed query parameter formatting in ARM API calls (eliminated double question marks)
   - Updated API versions to 2020-10-01-preview for endpoint compatibility
   - Enhanced error handling with actionable guidance for policy conflicts
   - Microsoft Graph session preservation during module imports

   📋 MIGRATION GUIDE:
   - Update scripts using 'assignee' parameter to 'principalId' (alias available for compatibility)
   - Install both EasyPIM and EasyPIM.Orchestrator for complete functionality
   - Test workflows thoroughly before production deployment

   Contributors: Loïc MICHEL (original author), Chase Dafnis (multi-cloud support)
   Docs: https://github.com/kayasax/EasyPIM/wiki

FileList

Version History

Version Downloads Last updated
2.3.3 (current version) 66 9/27/2026
2.3.2 20 9/26/2026
2.3.1 5,987 4/12/2026
2.3.0 7 4/12/2026
2.2.2 2,731 1/12/2026
2.2.1 548 12/28/2025
2.2.0 13 12/28/2025
2.0.42 955 11/15/2025
2.0.41 116 11/11/2025
2.0.39 13 11/11/2025
2.0.37 107 11/9/2025
2.0.35 9 11/9/2025
2.0.34 9 11/9/2025
2.0.33 9 11/9/2025
2.0.32 9 11/9/2025
2.0.31 1,028 10/12/2025
2.0.30 15 10/11/2025
2.0.29 13 10/10/2025
2.0.28 691 9/19/2025
2.0.27 43 9/17/2025
2.0.26 175 9/12/2025
2.0.25 265 9/9/2025
2.0.24 41 9/8/2025
2.0.23 10 9/8/2025
2.0.22 11 9/8/2025
2.0.21 22 9/8/2025
2.0.20 11 9/8/2025
2.0.19 20 9/7/2025
2.0.18 32 9/7/2025
2.0.17 9 9/7/2025
2.0.16 122 9/6/2025
2.0.14 24 9/6/2025
2.0.13 13 9/6/2025
2.0.12 198 9/3/2025
2.0.11 27 9/2/2025
2.0.10 27 9/2/2025
2.0.8 17 9/2/2025
2.0.7 25 9/2/2025
2.0.6 28 9/2/2025
2.0.5 172 8/29/2025
2.0.4 11 8/29/2025
2.0.3 20 8/29/2025
2.0.2 49 8/29/2025
2.0.1 58 8/28/2025
2.0.0 20 8/28/2025
1.10.0 242 8/23/2025
1.9.4 65 8/22/2025
1.9.3 43 8/21/2025
1.9.2 124 8/19/2025
1.9.1 51 8/19/2025
1.9.0 223 8/13/2025
1.8.4.3 15,368 6/17/2025
1.8.4.2 93 6/10/2025
1.8.4.1 139 6/2/2025
1.8.4 11 6/2/2025
1.8.3 25 5/31/2025
1.8.2.2 443 4/14/2025
1.8 95 4/4/2025
1.7.7 2,353 1/31/2025
1.7.6 4,106 1/8/2025
1.7.5 1,222 12/27/2024
1.7.4 600 12/17/2024
1.7.3 165 12/12/2024
1.7.2 14 12/12/2024
1.7.1 1,755 10/7/2024
1.7 1,441 9/16/2024
1.6.7 173 9/4/2024
1.6.6 1,169 7/23/2024
1.6.5 784 7/2/2024
1.6.4 130 6/26/2024
1.6.3 47 6/24/2024
1.6.2 366 6/5/2024
1.6.1 195 5/24/2024
1.6 120 5/14/2024
1.5.10 71 5/6/2024
1.5.9 43 5/3/2024
1.5.8 44 4/29/2024
1.5.7 40 4/25/2024
1.5.6 339 3/28/2024
1.5.5 46,999 3/27/2024
1.5.4 10 3/27/2024
1.5.3 99 3/20/2024
1.5.2 12 3/20/2024
1.5.1 46 3/18/2024
1.5.0 154 3/8/2024
1.4.0 50 3/7/2024
1.3.0 111 3/4/2024
1.2.3 285 2/13/2024
1.2.2 29 2/12/2024
1.2.1 123 2/5/2024
1.2.0 16 2/5/2024
1.1.0 160 1/26/2024
1.0.2 80 1/24/2024
1.0.1 37 1/22/2024
Show more