functions/Get-ProfileStatus.ps1

function Get-ProfileStatus {
    [cmdletbinding()]
    [OutputType('ProfileStatusInfo')]
    param( )

    begin {
        Write-Verbose "[$((Get-Date).TimeOfDay) BEGIN ] $($strings.Starting -f $($MyInvocation.MyCommand))"
        Write-Verbose "[$((Get-Date).TimeOfDay) BEGIN ] $($strings.usingVersion -f $modVersion)"
        Write-Verbose "[$((Get-Date).TimeOfDay) BEGIN ] $($strings.runningPS -f $($PSVersionTable.PSVersion))"

    } #begin

    process {
        Write-Verbose "[$((Get-Date).TimeOfDay) PROCESS] $($strings.getProfile)"
        $profile.PSObject.Properties.Where({ $_.name -match 'host' }).foreach({
                [PSCustomObject]@{
                    PSTypeName  = 'ProfileStatusInfo'
                    ProfileName = $_.Name
                    Path        = $_.value
                    Exists      = Test-Path $_.Value
                }
            })
    } #process

    end {
        Write-Verbose "[$((Get-Date).TimeOfDay) END ] $($strings.ending -f $($MyInvocation.MyCommand))"
    } #end

} #close Get-ProfileStatus