Public/Get-ServerUptime.ps1

function Get-ServerUptime {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory = $true, ValueFromPipeline = $true)]
        [Alias("Cn", "MachineName")]
        [String[]]$ComputerName,
        [PSCredential]$Credential
    )
    
    begin {
        
        $sb = {


            $hasV = Test-Path V:\
            
            $ret = (get-date) - (gcim Win32_OperatingSystem).LastBootUpTime
                
            if($ret)
            {
               
                $day = $ret.Days
                $uptimeStatus ="$day Days"
                $ping = $true;

                  return [PSCustomObject]@{
                     ComputerName = $env:COMPUTERNAME
                     HasDriveV = $hasV
                     Status       = $uptimeStatus
                     
                }
            }
           
            #endregion

        }
    }
    
    process {
        
            $result = invoke-SPORequest -ComputerName $ComputerName -ScriptBlock $sb -Credential $Credential
    }
    
    end {
        return $result
    }
}