diff --git a/Diagnostics/FreeBusyChecker/FreeBusyChecker.ps1 b/Diagnostics/FreeBusyChecker/FreeBusyChecker.ps1 index b26835b44a..d9ffdd5c6a 100644 --- a/Diagnostics/FreeBusyChecker/FreeBusyChecker.ps1 +++ b/Diagnostics/FreeBusyChecker/FreeBusyChecker.ps1 @@ -74,7 +74,6 @@ This cmdlet will run the Free Busy Checker Script for Exchange On-Premises Avail #> #region Properties and Parameters -#Requires -Module ExchangeOnlineManagement #Requires -Module ActiveDirectory [CmdletBinding(DefaultParameterSetName = "FreeBusyInfo_OP", SupportsShouldProcess)] @@ -119,6 +118,15 @@ begin { $Script:Server = hostname $Script:startingDate = (Get-Date -Format yyyyMMdd_HHmmss) $Script:htmlFile = "$PSScriptRoot\FBCheckerOutput_$($Script:startingDate).html" + +#Check if EXO module is required and available, if so, import it. + if (-not $Org -or ($Org -eq 'ExchangeOnline')) { + if (-not (Get-Module -ListAvailable -Name ExchangeOnlineManagement)) { + Write-Error "The ExchangeOnlineManagement module is required but not installed. + Install it with: Install-Module ExchangeOnlineManagement" + return + } + Import-Module ExchangeOnlineManagement -ErrorAction Stop} loadingParameters #Parameter input