microsoft / CSS-Exchange

Exchange Server support tools and scripts
MIT License
1.22k stars 340 forks source link

[Issue] ExchangeLogCollector fails to collect Daily Performance Logs if the location was changed #2023

Open lusassl-msft opened 7 months ago

lusassl-msft commented 7 months ago

Describe the issue ExchangeLogCollector fails to collect the DailyPerformanceLogs if a customer changes the path to a non-default one.

Expected behavior Script should be able to collect the daily performance logs even if the path was changed. We should decide if this is something we want to support or if we want to show a warning instead.

Additional context This is, because we're using a static path:

        if ($PassedInfo.DailyPerformanceLogs) {
            #Daily Performance Logs are always by days worth
            $copyFrom = "$Script:localExInstall`Logging\Diagnostics\DailyPerformanceLogs"

            try {
                $logmanOutput = logman ExchangeDiagnosticsDailyPerformanceLog
                $logmanRootPath = $logmanOutput | Select-String "Root Path:"

                if (!$logmanRootPath.ToString().Contains($copyFrom)) {
                    $copyFrom = $logmanRootPath.ToString().Replace("Root Path:", "").Trim()
                    Write-Verbose "Changing the location to get the daily performance logs to '$copyFrom'"
                }
            } catch {
                Write-Verbose "Couldn't get logman info to verify Daily Performance Logs location"
                Invoke-CatchActions
            }
            Add-LogCopyBasedOffTimeTaskAction $copyFrom "Daily_Performance_Logs"
        }