ページ : 1 2
<この記事を全て表示する場合はこちらをクリック>
引数でコンピュータ名を指定できる版
'引数が一個の場合はそれをコンピュータ名に指定する。 If WScript.Arguments.Count = 1 Then strComputer = WScript.Arguments.Item(0) '端末にPINGを打って応答が無かった場合はスクリプト終了。 If PingResult(strComputer) = False Then Wscript.Quit End If Else 'それ以外の場合にはローカルコンピュータを指定する。 strComputer = "." End If Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colOperatingSystems = objWMIService.ExecQuery _ ("Select * from Win32_OperatingSystem") For Each objOS in colOperatingSystems dtmBootup = objOS.LastBootUpTime dtmLastBootupTime = WMIDateStringToDate(dtmBootup) dtmSystemUptime = DateDiff("s", dtmLastBootUpTime, Now) Wscript.Echo "このコンピュータの起動時間は" & Second2Time(dtmSystemUptime,1) & "です。" Next 'UTC時間を時刻に変換 Function WMIDateStringToDate(dtmBootup) WMIDateStringToDate = CDate(Mid(dtmBootup, 5, 2) & "/" & _ Mid(dtmBootup, 7, 2) & "/" & Left(dtmBootup, 4) _ & " " & Mid (dtmBootup, 9, 2) & ":" & _ Mid(dtmBootup, 11, 2) & ":" & Mid(dtmBootup,13, 2)) End Function '秒を日時分秒に変換 Function Second2Time(intSec,int) Dim Day Dim Hour Dim Minute Dim Second Day = intSec \ 86400 Hour = (intSec - Day * 86400) \ 3600 Minute = (intSec - Day * 86400 - Hour * 3600) \ 60 Second = intSec - Day * 86400 - Hour * 3600 - Minute * 60 Select Case int Case 0 Second2Time = Day & ":" & LeadingZero(Hour) & ":" & LeadingZero(Minute) & ":" & LeadingZero(Second) Case 1 Second2Time = Day & "日" & LeadingZero(Hour) & "時間" & LeadingZero(Minute) & "分" & LeadingZero(Second) & "秒" Case Else Second2Time = "" End Select End Function '数値の整形 Function LeadingZero(intNumber) If intNumber < 10 Then LeadingZero = "0" & intNumber Else LeadingZero = intNumber End If End Function 'strComputerにpingを行って成功したらPingResultにTrueを返す Function PingResult(strComputer) Dim objWMIService Dim colItems Dim objItem Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colItems = objWMIService.ExecQuery _ ("Select * from Win32_PingStatus " & _ "Where Address = '" & strComputer & "'") For Each objItem in colItems If objItem.StatusCode = 0 Then PingResult = True Else PingResult = False End If Next Set objWMIService = Nothing Set colItems = Nothing End Function
参考
ページ : 1 2
<この記事を全て表示する場合はこちらをクリック>
1 2