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 } } |