PIMActivation.psd1
|
@{ # Script module or binary module file associated with this manifest. RootModule = 'PIMActivation.psm1' # Version number of this module. ModuleVersion = '2.0.0' # Supported PSEditions - Requires PowerShell Core (7+) CompatiblePSEditions = @('Core') # ID used to uniquely identify this module GUID = 'a3f4b8e2-9c7d-4e5f-b6a9-8d7c6b5a4f3e' # Author of this module Author = 'Sebastian Flæng Markdanner' # Company or vendor of this module CompanyName = 'Cloudy With a Change Of Security' # Copyright statement for this module Copyright = '(c) 2025 Sebastian Flæng Markdanner. All rights reserved.' # Description of the functionality provided by this module Description = '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 version of the PowerShell engine required by this module PowerShellVersion = '7.0' # Script to run after the module is imported ScriptsToProcess = @() # Required modules - conditionally enforced based on availability # Auto-installation logic in PSM1 handles missing modules RequiredModules = @() # Functions to export from this module FunctionsToExport = @( 'Start-PIMActivation' ) # Cmdlets to export from this module CmdletsToExport = @() # Variables to export from this module VariablesToExport = @() # Aliases to export from this module AliasesToExport = @() # Private data to pass to the module specified in RootModule/ModuleToProcess PrivateData = @{ PSData = @{ # Tags applied to this module for online gallery discoverability Tags = @('PIM', 'PrivilegedIdentityManagement', 'EntraID', 'AzureAD', 'Azure', 'AzureResources', 'Identity', 'Governance', 'RBAC', 'GUI', 'Authentication', 'ConditionalAccess', 'Security', 'Microsoft', 'Graph') # A URL to the license for this module. LicenseUri = 'https://github.com/Noble-Effeciency13/PIMActivation/blob/main/LICENSE' # A URL to the main website for this project. ProjectUri = 'https://github.com/Noble-Effeciency13/PIMActivation' # A URL to an icon representing this module. IconUri = 'https://raw.githubusercontent.com/Noble-Effeciency13/PIMActivation/main/Resources/icon.png' # ReleaseNotes ReleaseNotes = @' ## 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. '@ # Flag to indicate whether the module requires explicit user acceptance RequireLicenseAcceptance = $false } } } |