365TUNE
2.3.5
365TUNE PowerShell toolkit for Microsoft 365 license optimization, security compliance, cost reporting, and Azure permissions management.
Installation Options
Owners
Copyright
(c) 2025 Metawise Consulting LLC. All rights reserved.
Package Details
Author(s)
- Metawise Consulting LLC
Tags
Azure Microsoft365 M365 MSP Licensing Security Compliance CIS Entra GDAP ExchangeOnline 365TUNE
Functions
Invoke-365TUNEConnectAll Invoke-365TUNERevokeAll Invoke-365TuneConnectAzure Invoke-365TuneRevokeAzure Invoke-365TuneConnectExchange Invoke-365TuneRevokeExchange Invoke-365TuneConnectTeams Invoke-365TuneRevokeTeams Invoke-365TuneTestAzure Invoke-365TuneTestExchange Invoke-365TuneTestTeams Invoke-365TUNETestAll
Dependencies
This module has no dependencies.
Release Notes
v2.3.5 (bug fix release)
- Fixed Cloud Shell authentication: all functions now authenticate as the signed-in user
instead of the VM Managed Identity (MSI). MSI has no Graph API or Exchange Admin
permissions, causing all Cloud Shell runs to fail silently or throw.
- Fixed 5 misplaced backtick line-continuations in ConnectExchange, ConnectTeams,
RevokeTeams that broke command parsing and caused ParameterBindingExceptions.
- Fixed -TimeoutSec and -ErrorAction Stop being bound to Where-Object instead of
Invoke-RestMethod in ConnectAzure and RevokeAzure (6 occurrences).
- Fixed -ErrorAction Stop applied to Out-Null instead of Invoke-RestMethod in
ConnectExchange and ConnectTeams, causing silent swallowing of HTTP errors.
- Fixed RevokeAzure: REST queries between elevation and try/finally block were
unprotected - if they threw, User Access Administrator elevation was never removed.
All post-elevation code is now inside a single try/finally block.
- Updated ConnectExchange and RevokeExchange .DESCRIPTION: now supported in Cloud Shell.
FileList
- 365TUNE.nuspec
- Public\Permissions\Invoke-365TUNEConnectAll.ps1
- Public\Permissions\Invoke-365TuneConnectExchange.ps1
- Public\Permissions\Invoke-365TUNERevokeAll.ps1
- Public\Permissions\Invoke-365TuneRevokeExchange.ps1
- Public\Permissions\Invoke-365TuneTestExchange.ps1
- Private\Find-365TuneSP.ps1
- Public\Permissions\Invoke-365TuneConnectAzure.ps1
- Public\Permissions\Invoke-365TuneConnectTeams.ps1
- Public\Permissions\Invoke-365TuneRevokeAzure.ps1
- Public\Permissions\Invoke-365TuneRevokeTeams.ps1
- Public\Permissions\Invoke-365TUNETestAll.ps1
- Public\Permissions\Invoke-365TuneTestTeams.ps1
- 365TUNE.psd1
- Private\Invoke-365TuneElevation.ps1
- Public\Permissions\Invoke-365TuneTestAzure.ps1
- 365TUNE.psm1
- Private\Remove-365TuneElevation.ps1
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 2.3.7 | 0 | 2/25/2026 |
| 2.3.6 | 0 | 2/25/2026 |
| 2.3.5 (current version) | 0 | 2/25/2026 |
| 2.3.4 | 0 | 2/25/2026 |
| 2.3.2 | 0 | 2/25/2026 |
| 2.3.1 | 0 | 2/25/2026 |
| 2.3.0 | 0 | 2/25/2026 |
| 2.2.9 | 0 | 2/25/2026 |
| 2.2.8 | 0 | 2/25/2026 |
| 2.2.7 | 0 | 2/25/2026 |
| 2.2.6 | 0 | 2/25/2026 |
| 2.2.5 | 0 | 2/25/2026 |
| 2.2.4 | 0 | 2/25/2026 |
| 2.2.3 | 0 | 2/25/2026 |
| 2.2.0 | 0 | 2/25/2026 |
| 2.1.9 | 0 | 2/24/2026 |
| 2.1.8 | 0 | 2/24/2026 |
| 2.1.7 | 7 | 2/21/2026 |
| 2.1.6 | 5 | 2/21/2026 |
| 2.1.5 | 9 | 2/20/2026 |
| 1.9.1 | 5 | 2/19/2026 |