« [秀丸] マクロからWSHを実行 | トップページ | 「一文字に三つ星」について »

[VBScript] パソコンの稼働時間を取得する

正確には、「現在のログインユーザーのPC使用時間を取得する」です。
WMIを使います。

やり方。
 ① Win32_NetworkLoginProfile の LastLogon で時間を取得。
 ② その時間と、現在の時間とを引き算します。

ソースファイル

文字コード Shfit_JIS(シフトJIS) です。
ブラウザで見る場合、右クリックでエンコードを切り替えてください。
初期状態でほぼ100%化けてると思います。

「WSH_WorkingTime.txt」をダウンロード

余談 LastBootUpTime

ホントは、Win32_OperatingSystem の LastBootUpTime でやる方がいいはずです。
パソコンの起動時間が取得でるのでより正確な稼働時間が得られます。
が、僕のPC(Windows2000)では値が EMPTY になって使えません。

余談 複数ログイン

Windows2000でスタンドアロン(一人しかそのパソコンを使ってない)で利用してるので、Win32_NetworkLoginProfile の Count が 1 であることを仮定してます。

以下、想像です。

WindowsXPは、ログインしたまま他のユーザーがログインできます。(ユーザーの切り替え)
この場合、Win32_NetworkLoginProfile の Count が 2 とか 3 になるんじゃないかと思います。

あと、共有フォルダに別のPCからファイルを取りに来てたりする場合も、同じ状況になるんじゃないかと思います。

こういう場合、Win32_ComputerSystem の UserName でパソコンを使ってるユーザーが取れる見たいなんで、これを使ってなんとかできると思います。多分。

|

« [秀丸] マクロからWSHを実行 | トップページ | 「一文字に三つ星」について »

「VBScript」カテゴリの記事

「パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/44406/4081464

この記事へのトラックバック一覧です: [VBScript] パソコンの稼働時間を取得する:

« [秀丸] マクロからWSHを実行 | トップページ | 「一文字に三つ星」について »