From b13ddfcbe024b7f6224476f3454b2f1ab46da126 Mon Sep 17 00:00:00 2001 From: David Paulson Date: Mon, 20 Jun 2022 09:55:48 -0500 Subject: [PATCH] Add Try Catch to NewServiceObject avoid script failing with null-valued expression in NewServiceObject --- .../Get-ExchangeDependentServices.ps1 | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeDependentServices.ps1 b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeDependentServices.ps1 index b0b2c7a516..a920e163e1 100644 --- a/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeDependentServices.ps1 +++ b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeDependentServices.ps1 @@ -36,10 +36,25 @@ function Get-ExchangeDependentServices { param( [object]$Service ) + $name = $Service.Name + $status = "Unknown" + $startType = "Unknown" + try { + $status = $Service.Status.ToString() + } catch { + Write-Verbose "Failed to set Status of service '$name'" + Invoke-CatchActions + } + try { + $startType = $Service.StartType.ToString() + } catch { + Write-Verbose "Failed to set Start Type of service '$name'" + Invoke-CatchActions + } return [PSCustomObject]@{ - Name = $Service.Name - Status = $Service.Status.ToString() - StartType = $Service.StartType.ToString() + Name = $name + Status = $status + StartType = $startType } } } process {