Entra-PIM
2.2.0
Minimum PowerShell version
7.0
Installation Options
Owners
Copyright
(c) 2025. All rights reserved.
Package Details
Author(s)
- markorr321
Tags
Entra PIM Azure Identity Governance MicrosoftGraph Privileged RoleManagement AzureResources CrossPlatform macOS
Functions
Start-EntraPIM Configure-EntraPIM Clear-EntraPIMConfig Get-EntraPIMHelp
Dependencies
This module has no dependencies.
Release Notes
## 2.2.0
- Added automatic update notifications - checks PowerShell Gallery once per 24 hours
- Inline red notification when newer version is available
- Cached version checks to minimize network calls
- 5-second timeout for non-blocking updates
- Can be disabled via ENTRAPIM_DISABLE_UPDATE_CHECK environment variable
## 2.1.0
- Added Configure-EntraPIM command for persistent configuration via environment variables
- Added Clear-EntraPIMConfig command to remove saved configuration
- Added Get-EntraPIMHelp command for comprehensive command reference
- Added visual confirmation of which app registration is being used during authentication
- Fixed Windows terminal exit behavior for Ctrl+Q in Entra workflow
- Fixed MSAL assembly conflict when multiple Microsoft modules are loaded
- macOS: Automatic PowerShell profile integration for persistent configuration
## 2.0.9
- Bug fix: Module wrapper now properly exposes ClientId and TenantId parameters
## 2.0.8
- Added ClientId and TenantId parameters for custom app registration support
- Switched to least-privilege Graph permissions for better security
- Fixed macOS terminal exit to avoid session save messages
## 2.0.7
- Additional macOS compatibility improvements
## 2.0.6
- Fixed macOS auto-exit issue - clear input buffer after setting TreatControlCAsInput
## 2.0.5
- Fixed Ctrl+C not working on macOS - now properly captures as keyboard input
- Added TreatControlCAsInput for macOS/Linux platforms
- Ctrl+C now works as quit shortcut alongside Ctrl+Q on all platforms
## 2.0.4
- Fixed exit behavior - no longer kills parent apps like VS Code or Windows Terminal
- Only terminates parent PowerShell processes when running nested
## 2.0.3
- Performance optimization: REST API calls with $select for faster role loading
- Fixed deactivation workflow - includes all required fields (PrincipalId, DirectoryScopeId)
- Fixed terminal exit behavior - properly closes terminal on exit
- Simplified input prompts with inline cursor positioning
- Azure PIM: Better subscription discovery via PIM eligible roles API
## 2.0.2
- Handle Ctrl+C gracefully with proper disconnect from Graph/Azure
## 2.0.1
- Fix activation status detection for roles with pending requests
## 2.0.0
- **MAJOR**: Added Azure Resource role support alongside Entra ID roles
- Workflow selector to choose between Entra ID and Azure Resource PIM
- Cross-platform support for Windows and macOS
- Browser-based authentication with ForceLogin prompt
- Dynamic keyboard shortcuts based on platform
- Silent prerequisite checking (only shows output when modules need installing)
## 1.6.0
- Added step-up authentication support for PIM role activations
- Handles MFA/claims challenges automatically when activating privileged roles
## 1.5.0
- Added auto-installation of required modules (Az.Accounts, Microsoft.Graph)
- Script now automatically installs missing dependencies on first run
## 1.4.0
- Switched to WAM (Windows Account Manager) authentication for native SSO
- Removed app registration dependency - uses Microsoft public client ID
- Renamed script to Entra-PIM.ps1
- Code cleanup and optimizations
## 1.3.2
- Bug fixes
## 1.3.1
- Fixed project URLs in manifest
## 1.3.0
- Removed Microsoft.Graph.Users dependency
- Fixed module loading issues
- Improved error handling for module imports
## 1.2.0
- Performance optimizations
- Bug fixes
## 1.0.0
- Initial release
- Browser-based authentication with PKCE
- Role activation and deactivation workflows
- Interactive TUI for role selection
- Caching for optimized API calls
FileList
- Entra-PIM.nuspec
- Create-Release.ps1
- Entra-PIM.psd1
- Publish-Module.ps1
- .git\COMMIT_EDITMSG
- .git\HEAD
- dev-feature\Azure-PIM.ps1
- dev-feature\PIM-Activation-Browser.ps1
- .git\hooks\applypatch-msg.sample
- .git\hooks\post-update.sample
- .git\hooks\pre-merge-commit.sample
- .git\hooks\pre-receive.sample
- .git\hooks\sendemail-validate.sample
- .git\info\refs
- .git\objects\17\1b566275f943a4699ffe496ed4ff3a2413bbd1
- .git\objects\27\3977e724b8315e5da4d268c79649556b966314
- .git\objects\2c\b189fd546a8e6115e870ba9cdbf9c1c7f9e06b
- .git\objects\35\a30aabf2bc1b20e43b69560f70eba3f26fc8e8
- .git\objects\52\6d750f8c5a0c662501ebc08c2606629a86f9d8
- .git\objects\61\2b3f321cbd3464b655c280f0b49d0569e1a134
- .git\objects\7d\5b5a07466d609c5e25e6b9c26a195982dafb04
- .git\objects\88\e1ac92be4af161e6ab44ea7f21cd7a5fcc83b9
- .git\objects\a4\32dffa7da5104d55134d514ccc5940a75a1731
- .git\objects\d2\b5040c3e82fb3db0a40b022a2832a961bdd125
- .git\objects\e8\cac1b9f7ace5228b559a526a1196c3284f13ad
- .git\objects\f1\a4f589945a4f4cf97a5d7ddd415f749d18ac3a
- .git\objects\fc\12ab1fdf77e1e20b6de7689776810d56c43e75
- .git\objects\pack\pack-329065d74b46a38bbb47e4e2a77fe3817a7787ec.idx
- .git\refs\heads\main
- .git\logs\refs\heads\main
- .git\logs\refs\remotes\origin\dev-feature
- Entra-PIM-Demo.mp4
- Entra-PIM.psm1
- README.md
- .git\config
- .git\index
- dev-feature\Combined-PIM.ps1
- dev-feature\PIM-Global-SelfActivate.ps1
- .git\hooks\commit-msg.sample
- .git\hooks\pre-applypatch.sample
- .git\hooks\pre-push.sample
- .git\hooks\prepare-commit-msg.sample
- .git\hooks\update.sample
- .git\logs\HEAD
- .git\objects\18\11ff0a72e6b10d2e09b71164644daa50a160b1
- .git\objects\29\1b7433d7c1ce289171e02bafc83c99dee75728
- .git\objects\33\d69ac8e4b14c20d70522ac76502e8100e3266d
- .git\objects\3f\d7f0258bf7b87e7dbf9423e520a20c304889a5
- .git\objects\57\45e02bee9ef00cc3cffbc328c810e40955732b
- .git\objects\6f\06ff3e92d6bdbb4f5c407c758757466d23e236
- .git\objects\7e\82246967d35910a38b6d589ef722f53abfab1c
- .git\objects\91\c77d13ff9d52881fc6c06d45850703c6fcf96a
- .git\objects\b7\063750c6e6593af1419de66f369a7636a0c4b7
- .git\objects\d2\e50fd72f9b5a2f48883e54178ea2e589be1a32
- .git\objects\e8\d7bbbb0e8fb04907bd99866382502d7d111786
- .git\objects\f5\49c501159fad9473e130bb6973f49e6be09c1b
- .git\objects\info\commit-graph
- .git\objects\pack\pack-329065d74b46a38bbb47e4e2a77fe3817a7787ec.pack
- .git\refs\tags\v2.1.0
- .git\refs\remotes\origin\HEAD
- .git\logs\refs\remotes\origin\HEAD
- LICENSE
- Test-VersionNotification.ps1
- .git\description
- .git\ORIG_HEAD
- dev-feature\Entra-PIM.ps1
- .git\hooks\fsmonitor-watchman.sample
- .git\hooks\pre-commit.sample
- .git\hooks\pre-rebase.sample
- .git\hooks\push-to-checkout.sample
- .git\info\exclude
- .git\logs\refs\stash
- .git\objects\22\2880416856e413e4d8ea00a278ffbf39f6ca77
- .git\objects\2c\5d0912baa3dc2c90d1a6b121361578fe83581d
- .git\objects\34\a871e94d3677a9962095259896bd4f076c1eba
- .git\objects\4a\c0eb19ec3fa6b61be4e7a5c51213c4c27392bd
- .git\objects\5a\bf63a43f64eb0c527b097a10f20d3fd9e5963e
- .git\objects\79\a6cf743ea8b836e6c239ddabd2cad067d0398c
- .git\objects\7f\efb7d8b8acf0da6649b51723b55b98a44f6c1f
- .git\objects\a3\df44e1074d7e67fef7c9a9c1507de9c24e3ef0
- .git\objects\ce\7b7285d1574a5cea6225ca5ed496325dfaa15d
- .git\objects\da\7b579e217138a5c6c2c7fb67666fd1ce070eb6
- .git\objects\ec\afc49f66af5acbf6d5975be541b0e02163789f
- .git\objects\f9\dfb46cf86061922dae9fa15567d77c2cd527f5
- .git\objects\info\packs
- .git\objects\pack\pack-329065d74b46a38bbb47e4e2a77fe3817a7787ec.rev
- .git\logs\refs\heads\dev-feature
- .git\refs\remotes\origin\main
- .git\logs\refs\remotes\origin\main
- Entra-PIM.ps1
- msalruntime.dll
- .git\AUTO_MERGE
- .git\FETCH_HEAD
- .git\packed-refs
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 2.2.4 | 11 | 1/31/2026 |
| 2.2.3 | 5 | 1/31/2026 |
| 2.2.2 | 4 | 1/31/2026 |
| 2.2.1 | 3 | 1/31/2026 |
| 2.2.0 (current version) | 6 | 1/31/2026 |
| 2.1.0 | 12 | 1/28/2026 |
| 2.0.9 | 9 | 1/27/2026 |
| 2.0.8 | 9 | 1/21/2026 |
| 2.0.7 | 9 | 1/14/2026 |
| 2.0.6 | 10 | 1/14/2026 |
| 2.0.5 | 6 | 1/14/2026 |
| 2.0.4 | 7 | 1/13/2026 |
| 2.0.3 | 5 | 1/13/2026 |
| 2.0.2 | 8 | 1/13/2026 |
| 2.0.1 | 5 | 1/13/2026 |
| 2.0.0 | 6 | 1/13/2026 |
| 1.7.0 | 8 | 1/12/2026 |
| 1.6.2 | 21 | 12/30/2025 |
| 1.6.1 | 4 | 12/30/2025 |
| 1.6.0 | 7 | 12/29/2025 |
| 1.5.0 | 7 | 12/29/2025 |
| 1.4.0 | 6 | 12/29/2025 |
| 1.3.2 | 5 | 12/29/2025 |
| 1.3.1 | 8 | 12/27/2025 |
| 1.3.0 | 5 | 12/27/2025 |
| 1.2.0 | 8 | 12/27/2025 |
| 1.1.0 | 5 | 12/27/2025 |
| 1.0.0 | 5 | 12/27/2025 |