Um pouco diferente sobre este, usando apenas o PowerShell. Usando este artigo como base:
New-TimeSpan -Start (Get-CimInstance -ClassName win32_operatingsystem).LastBootUpTime -End (Get-Date)
Este link também mostra como você pode usar o Get-WMIObject, se precisar.
Este fica um pouco longo .....
New-TimeSpan -Start ((Get-WmiObject win32_operatingsystem | '
Select-Object @{Name='LastBootUptime';Expression={$_.ConverttoDateTime($_.lastbootuptime)}}).lastbootuptime) -End (Get-Date)
De lá, você pode formatar o objeto para não ter milissegundos, etc.
Por exemplo:
New-TimeSpan -Start (Get-CimInstance -ClassName win32_operatingsystem).LastBootUpTime -End (Get-Date) | '
Select-Object Days,Hours
Obrigado, Tim.