2018年12月17日月曜日

Ekranの機能ご紹介 ~スケジュールレポートで従業員の勤務状況を把握する~(2020/3/3更新)

最近よく耳にする「働き方改革」。従業員の勤務状況を効率的に把握するにはどうすればよいでしょうか。
今回のブログ記事では Ekran(エクラン) のレポート機能を紹介します。Ekran のテキストログの集計結果をレポートとして受け取ると従業員の勤務状況を素早く把握することができます。さらに画像スライドを再生すると詳細な作業状況を調査することもできます。

(2018/12/17) 公開
(2020/3/3) 一部修正:対応OSの変更、PowerShell 出力の明示

Ekran の概要
Ekran (エクラン)はコンピューターにインストールすることで、ユーザーの操作を画像スライドとテキストログで記録するソフトウェアです。Windows(GUI)、macOS(GUI)、Linux(CUI) に対応しています。




Ekran のレポートで勤務状況を把握する

従業員の勤務場所は会社内、リモートワーク、外出・訪問先等、様々な場所が考えられます。いずれの場所であっても Ekran がインストールされたコンピューターを使用していれば、勤務状況、作業状況が記録されます。
勤務状況を素早く把握する例として次のレポートを紹介します。


  • 各ユーザーのログイン時間、ログアウト時間、対応するビデオスライドへのリンク




コンピューター別、ユーザー別にビデオスライドの一覧が表示されており、コンピューターのログイン時間、ログアウト時間等の使用状況を把握できます。
さらに、気になるビデオスライドのリンクをクリックすれば、画像スライドを Webブラウザーで開いて再生し、作業の様子を詳細に調査できます。画像スライドを閲覧することで、テキストログからは知ることのできない、ユーザーの作業の理由・意図も読み取れます。
Ekran のレポートは、スケジュールを指定して定期的に生成しメール送信を行うことができます。

Ekran のレポート

先程紹介した

  • 各ユーザーのログイン時間、ログアウト時間、対応するビデオスライドへのリンク

のほかにも、Ekran は取得したテキストログを集計し、以下のようなレポートを生成できます。

  • 各ユーザーの使用アプリケーションとそれぞれの使用時間



各ユーザーの閲覧 URL とそれぞれの閲覧時間


  • クリップボードの内容の一覧
  • 挿入された USB メモリの一覧

[技術詳細] XML レポートの加工

Ekran のレポートはエクセル(xlsx)、HTML 形式等で作成できるほか、XML 形式で出力することもできます。
XML を処理することで、表示項目、表示順序等を自由に変更したり、独自の集計を行うことでレポート閲覧者の要望に応えることができます。

例えば、
  • 各ユーザーのログイン時間、ログアウト時間、対応するビデオスライドへのリンク
として以下のレポートが生成されたとします。

report1.xml

<?xml version="1.0"?>
<ArrayOfSessionGridReportData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SessionGridReportData>
<ClientName>PC-03</ClientName>
<ClientDescription>業務部管理</ClientDescription>
<UserName>DOMAIN1\nakamura</UserName>
<TotalTimeForAllSessionsSpent>7m 43s</TotalTimeForAllSessionsSpent>
<SessionTotalTime>13s</SessionTotalTime>
<SessionStartTime>2018-11-13T17:21:52</SessionStartTime>
<LastActivityTime>2018-11-13T17:22:05.71</LastActivityTime>
<RemoteIp>なし</RemoteIp>
<UserComment>なし</UserComment>
<Url>https://192.168.0.11:443/EkranSystem//Player?id=3318</Url>
</SessionGridReportData>
<SessionGridReportData>
<ClientName>PC-04</ClientName>
<ClientDescription>営業部管理</ClientDescription>
<UserName>DOMAIN1\yoshida</UserName>
<TotalTimeForAllSessionsSpent>3m 51s</TotalTimeForAllSessionsSpent>
<SessionTotalTime>10s</SessionTotalTime>
<SessionStartTime>2018-11-15T15:19:58</SessionStartTime>
<LastActivityTime>2018-11-15T15:20:08</LastActivityTime>
<RemoteIp>なし</RemoteIp>
<UserComment>なし</UserComment>
<Url>https://192.168.0.11:443/EkranSystem//Player?id=3486</Url>
</SessionGridReportData>
</ArrayOfSessionGridReportData>

XML は Windows 標準搭載の PowerShell を使用して簡単にパースできます。

PS > $temp_hash_table = [xml](Get-Content -Encoding UTF8 -Path 
.\report1.xml)
XML の内容がハッシュテーブル(型はXmlDocumentオブジェクト)に格納されました。


※Ekran は UTF8 で XML レポートを出力しますので、エンコードとして UTF8 を指定します。

1本目のビデオスライドのログインユーザー名は次のように参照します。
PS > $temp_hash_table.ArrayOfSessionGridReportData.SessionGridReportData[0].UserName

出力:
DOMAIN1\nakamura

2本目のビデオスライドのログイン日時は次のように参照します。
PS > $temp_hash_table.ArrayOfSessionGridReportData.SessionGridReportData[1].SessionStartTime

出力:
2018-11-15T15:19:58

すべてのビデオスライドのコンピューター名は次のように抽出できます。

PS > $temp_hash_table.ArrayOfSessionGridReportData.SessionGridReportData | Select-Object ClientName

出力:
ClientName
----------
PC-03
PC-04

ログアウト時間が 17:00 以降であるビデオスライドのユーザー名、ログイン時間、ログアウト時間は次のように抽出できます。
PS > $temp_hash_table.ArrayOfSessionGridReportData.SessionGridReportData | Where-Object { ([DateTime]$_.LastActivityTime).ToString("HH:mm") -ge "17:00" } | Select-Object -Property UserName,SessionStartTime,LastActivityTime

出力:
UserName         SessionStartTime    LastActivityTime
--------         ----------------    ----------------
DOMAIN1\nakamura 2018-11-13T17:21:52 2018-11-13T17:22:05.71

XML を処理するスクリプトを作成すれば、レポート内のデータを独自に集計し、自由な順序で出力することができます。

Ekran とは

Ekran は米国 Ekran System 社の製品で、PC やサーバーの操作画面を画像で記録するソフトウェアです。
内部不正の抑止、外部ベンダーの作業記録、操作ミスの調査、社内外の勤務状況の確認、コンプライアンス対策等に活用できます。

詳細については製品ページ/製品ガイドをご覧ください。


https://www.jtc-i.co.jp/support/documents/ekrandoc.html

        

Ekranには評価版ソフトウェア(30日間)を用意しています。ぜひお試しください


https://www.jtc-i.co.jp/support/download/