[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 でパソコンを使ってるユーザーが取れる見たいなんで、これを使ってなんとかできると思います。多分。

| | コメント (0) | トラックバック (0)

WSH(VBS)でWMI関連リンク集

Windows Script Host(VBScrpt) で WMI (Windows Management Instrumentation) を使うためのリンク集です。

チュートリアル

はぢめてのWMI
とても分かりやすいので、最初に読んで勉強しましょう。
WMI スクリプト入門 : 第 1 部
Microsoftの公式解説。ちょっと難しい。。。
WMI スクリプト入門 : 第 2 部
続き。

総合情報

スクリプト センター
Microsoft公式。WMI総本山。FAQ、ツール、基本的な話とか。WMIサンプルが大量。
WMIをいぢる
初心者向け?
WMI Fun !! ~ WMI に興味がある方・システム管理者必見 !! ~
大量のWMIサンプル。

HTA(HTML Applications)

WMIとは直接関係ありませんが、普通のWHS系のサイトではあんまりみかけません。

HTML Applications 概要
Microsoft。公式解説。
Tips - ステップアップWSH
作成方法

WMIリファレンス

WMI Reference
Microsoft公式。英語ですが、全部載ってます。多分。
WMI サンプル集 - ActiveXperts Network Monitor
メジャー系一覧。

自分で調べるツール

WMI Query Analyzer
日本語。Win2000では動かない。
Download details: WMI Administrative Tools
Microsoft。CIM Studio。

| | コメント (0) | トラックバック (0)