バッジおよび日次ログデータのタイムゾーン設定の構成

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:2分
  • バッジリーダーデータソースまたはユーザー日次ログデータソースを使用して診断要求を実行するときに、感染したユーザーのタイムゾーンを考慮するために、グローバルスコープにスクリプトインクルードを追加します。

    始める前に

    必要なロール:admin

    手順

    1. 次のように移動する。 All (すべて) > システム UI > スクリプトインクルード.
    2. [New] をクリックします。
    3. [名前] フィールドに「TimeZoneUtils」を入力します。
    4. [アクセス可能] リストから [すべてのアプリケーションスコープ] を選択します。
    5. 次のスクリプトを [スクリプト] フィールドにコピーします。
      var TimeZoneUtils = Class.create();
      TimeZoneUtils.prototype = {
      	initialize: function() {
      	},
      	getTimeZone: function(timeZoneString) {
      		return Packages.java.util.TimeZone.getTimeZone(timeZoneString);
      	},
      	getTimeZoneOffSet: function(timeZoneString, gdt) {
      		var timeZoneObj = this.getTimeZone(timeZoneString);
      		var dateTime = new GlideDateTime();
      		if (gdt) {
      			dateTime.setValue(gdt);
      		}
      		dateTime.setTZ(timeZoneObj);
      		return dateTime.getTZOffset();
      	},
      	getBoundaryDates: function(timeZoneString, offset, dateTime) {
      		var tz = this.getTimeZone(timeZoneString);
      		var gd = new GlideDateTime();
      		gd.setValue(dateTime);
      		gd.add(offset);
      		var startTime = '00:00:00';
      		var endTime = '23:59:59';
      		var actualDate = new GlideDate();
      		actualDate.setValue(gd.getValue());		
      		var startDateTime = new GlideDateTime();
      		startDateTime.setTZ(tz);
      		startDateTime.setDisplayValueInternal(actualDate + ' ' + startTime);
      		var endDateTime = new GlideDateTime();
      		endDateTime.setTZ(tz);
      		endDateTime.setDisplayValueInternal(actualDate + ' ' + endTime);
      		return {
      			startDateTime: startDateTime,
      			endDateTime: endDateTime
      		};
      	},
      	type: 'TimeZoneUtils'
      };
    6. [送信] をクリックします。

    タスクの結果

    このスクリプトは、バッジリーダーデータソースまたはユーザー日次ログデータソースを使用して診断要求を実行するときに使用されます。これらのデータソースは、感染したユーザーに接触した可能性があり、感染した恐れのあるユーザーを特定します。このスクリプトは、感染したユーザーのタイムゾーンを考慮して従業員バッジスワイプデータまたは日次ログデータから日付と時刻を計算します。