PIMActivation

2.0.0

PowerShell module for managing Microsoft Entra ID Privileged Identity Management (PIM) role activations through a modern GUI interface. Supports Entra ID roles, PIM-enabled groups, and Azure Resource roles. Features authentication context, bulk operations, and policy compliance. Developed with AI assistance. Requires PowerShell 7+.

Minimum PowerShell version

7.0

Installation Options

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

Install-Module -Name PIMActivation

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

Install-PSResource -Name PIMActivation

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) 2025 Sebastian Flæng Markdanner. All rights reserved.

Package Details

Author(s)

  • Sebastian Flæng Markdanner

Tags

PIM PrivilegedIdentityManagement EntraID AzureAD Azure AzureResources Identity Governance RBAC GUI Authentication ConditionalAccess Security Microsoft Graph

Functions

Start-PIMActivation

PSEditions

Core

Dependencies

This module has no dependencies.

Release Notes

## PIMActivation v2.0.0 - Azure Resources & Parallel Processing Engine

### 🚀 Major New Features
- **Azure Resource Roles Support**: Full integration with Azure Resource PIM for subscription, resource group, and individual resource role management
- **Parallel Processing Engine**: High-performance concurrent execution for all operations with real-time progress tracking
- **Enhanced Role Display**: Azure roles display with [Azure] prefix and portal-aligned resource/scope columns
- **Cross-Subscription Support**: Automatic enumeration and management across all accessible Azure subscriptions
- **Modular Architecture**: Split functions into individual files for better maintainability

### ⚡ Performance Features
- **Parallel Processing by Default**: Concurrent execution for Azure, Entra, and Group operations
- **Real-Time Progress Tracking**: Enhanced verbose output with emoji indicators (🚀, ✅, ❌) and timing metrics
- **Smart Throttling**: Default ThrottleLimit of 10 concurrent operations, configurable up to 50
- **Thread-Safe Operations**: ConcurrentBag and ConcurrentDictionary for safe parallel result aggregation

### ✅ Added
- Complete Azure Resource role activation and deactivation support
- Select All button for bulk role selection in GUI
- `Get-AzureResourceRoles` function with parallel subscription processing
- `Initialize-AzureResourceSupport` for Azure module management
- `DisableParallelProcessing` parameter for sequential processing when needed
- Enhanced scope parsing for Azure ARM resource hierarchies
- Support for both PIM-eligible and active Azure Resource role assignments

### 🔧 Enhanced Performance
- All v1.2.x optimizations preserved and extended:
 - ArrayList-based collections for optimal memory usage
 - Batch API operations reducing Graph calls by 85%
 - Memoized scope display name lookups
 - Intelligent role deduplication and caching
 - NEW: Parallel processing across all role types and policy operations

### 📋 Requirements
- PowerShell 7.0+ (required for parallel processing engine)
- Az.Accounts 5.1.0+ and Az.Resources 6.0.0+ (auto-installed for Azure resources)
- Microsoft Graph PowerShell modules (existing requirements preserved)

### 📚 More
- Changelog: https://github.com/Noble-Effeciency13/PIMActivation/blob/main/CHANGELOG.md
- Blog Post: https://www.chanceofsecurity.com/post/microsoft-entra-pim-bulk-role-activation-tool
- Releases:  https://github.com/Noble-Effeciency13/PIMActivation/releases

PowerShell module for comprehensive PIM role management across Entra ID, Groups, and Azure Resources with parallel processing engine and modern GUI.

FileList

Version History

Version Downloads Last updated
2.0.0 (current version) 19 1/5/2026
1.2.6 94 11/27/2025
1.2.5 288 8/14/2025
1.2.4 113 8/4/2025
1.2.3 12 8/4/2025
1.2.2 17 8/4/2025
1.2.1 11 8/4/2025
1.2.0 29 8/1/2025
1.1.1 8 7/30/2025
1.1.0 10 7/30/2025
1.0.1 9 7/29/2025
1.0.0 9 7/29/2025
Show more