function Get-OrbInventory { <# .SYNOPSIS Returns a hash table that Represents the ORB Inventory. #> [CmdletBinding()] [OutputType([System.Collections.Hashtable])] Param() $logLead = (Get-LogLeadName); $providerStopWatch = [System.Diagnostics.StopWatch]::StartNew() Write-Verbose "$logLead : [$($providerStopWatch.Elapsed)] : Getting Orb Version Details" $orbVersion = Get-OrbVersion Write-Verbose "$logLead : [$($providerStopWatch.Elapsed)] : Orb Version Details Retrieved" Write-Verbose "$logLead : [$($providerStopWatch.Elapsed)] : Getting ServerType Details" $IsWebServer = Test-IsWebServer $IsAppServer = Test-IsAppServer $IsMicServer = Test-IsMicroServer $IsFabServer = Test-IsServiceFabricServer $IsAWSServer = Test-IsAws Write-Verbose "$logLead : [$($providerStopWatch.Elapsed)] : ServerType Details Retrieved" $orbInfo = @{ orbVersion = $orbVersion; isWebServer = $IsWebServer; isAppServer = $IsAppServer; isMicServer = $IsMicServer; isFabServer = $IsFabServer; isAws = $IsAWSServer; } Write-Verbose "$logLead : [$($providerStopWatch.Elapsed)] : Provider Complete" $providerStopWatch.Stop() return $orbInfo }