広告が統合されたコンピューターのリストがあり、最後に再起動した時刻のリストが必要です。 Get-WmiObject -ClassName win32_operatingsystem -ComputerName xxx | select csname, lastbootuptime
のようなコマンドをいくつか見つけましたが、それは私が必要としているものではありません。コンピュータがたくさんあるので、スクリプトが必要になります。
誰かが私にいくつかの提案を手伝ってくれるなら、私はPowerShellの経験がありません。
PS C:\Users\XxX> Get-wmiobject win32_operatingsystem -ComputerName LC006909 | select csname, @{label='LastRestart';expression={$_.ConverToDateTime($_.LastBootUpTime)}}
csname LastRestart
------ -----------
LC006909
この出力が表示されます... LastRestartの下では空です。
Nixphoe's答えは間違いなく正しいですが、複数のコンピュータのlastbootuptimeを取得する方法を追加したいと思います(必要に応じて、出力をファイルにリダイレクトすることもできます):
複数のマシンの最終ブート時間を取得
$compname = Get-Content -Path C:\computers.txt
foreach ($comp in $compname) {
Get-WmiObject win32_operatingsystem -ComputerName $comp| select CSName, @{LABEL='LastBootUpTime';EXPRESSION={$_.ConverttoDateTime($_.lastbootuptime)}}
}
C:\computers.txt
-コンピューターのホスト名をここに1行に配置します
私にとって、systeminfoは本当に遅いです。あなたがpowershell 3を持っているなら、あなたは次のようなものを使うことができるはずです
Get-CimInstance -ComputerName $yourcomputerObj -ClassName win32_operatingsystem | select csname, lastbootuptime
または
Get-WmiObject win32_operatingsystem -ComputerName $yourcomputerObj | select csname, @{LABEL='LastBootUpTime';EXPRESSION={$_.ConverttoDateTime($_.lastbootuptime)}}
前回の起動時間を取得するには、多くの方法があります。
systeminfo | find /i "Boot Time"
たとえば、(人間が読める形式で)トリックを行います。ここではさまざまな言語に注意してください。たとえば、ドイツ語では「Systemstartzeit」をgrepする必要があります。
(言語非依存)wmiを試すこともできます。
wmic os get lastBootUpTime
逆の形式で起動時間を提供します(20150915100340.494919 + 120など)
いつも使う
_systeminfo | find "Time"
_
出力する
System Boot Time: 16/09/2015, 08:41:28 Time Zone: (UTC) Dublin, Edinburgh, Lisbon, London