PowerShellでuptimeを取れないかなーと調べてみた所、Use PowerShell and WMI to calculate server uptimeの記事を発見したので、この記事の内容をパクっ参考にして簡単なワンライナーを2つほど書いてみました。
最初のコードは実行するとTimeSpan型の値を返し、コンソールには以下の様な表示がされます。
Days : 0 Hours : 1 Minutes : 0 Seconds : 52 Milliseconds : 6 Ticks : 36520065770 TotalDays : 0.0422685946412037 TotalHours : 1.01444627138889 TotalMinutes : 60.8667762833333 TotalSeconds : 3652.006577 TotalMilliseconds : 3652006.577
2番目のコードは実行すると以下の様な文字列で結果を返します。
23:30:55 up 0 days, 01:04
やってることは前述の記事で説明されている通りWin32_OperatingSystemクラスのLastBootUpTimeプロパティとLocalDateTimeプロパティの値を取っているだけです。
ワンライナーらしくするためにコードの文字数を削る努力を少しだけしています。
最後のはおまけでファンクションに登録+Alias設定してます。