Windows 向けのエクスペリエンス管理

エクスペリエンス管理(DEEM とも呼ばれる)は、Windows デバイスで動作し、ネットワークの健全性に関するインサイトを提供します。Windows 向けのエクスペリエンス管理エージェントは、Windows アプリケーションの Workspace ONE Intelligent Hub に組み込まれているため、このアプリケーションを管理対象 Windows デバイスに展開してインストールすると、Workspace ONE Intelligence のダッシュボードとレポートで Windows テレメトリのエクスペリエンス管理を使用できます。

Windows でのインストールとトラブルシューティング

お使いのデバイスが、エクスペリエンス管理用のテレメトリ データを Workspace ONE Intelligence に送信していない場合は、Workspace ONE Intelligent Hub のステータスを確認し、ログ ファイルをレビューして、システムのトラブルシューティングを行うことができます。

Windows デバイス用に個別のエクスペリエンス管理エージェントをインストールする必要がありますか。

Windows デバイスにエクスペリエンス管理エージェントをインストールする必要はありません。Windows 向けのエクスペリエンス管理エージェントは、Windows のWorkspace ONE Intelligent Hub とともにインストールされます。C:\Program Files\VMware\Endpoint Telemetry Service でエージェントを検索します。

Workspace ONE Intelligent Hub が実行されているかどうかを確認するにはどうすればよいですか。

Workspace ONE Intelligence にデータを送信する際の問題をトラブルシューティングする方法の 1 つは、Windows デバイスで Workspace ONE Intelligent Hub または Windows 向けのエクスペリエンス管理エージェントが実行されていることを確認することです。エクスペリエンス管理エージェントには、2 つのサービスが含まれています。

サービス名 サービス表示名
VMWOSQEXT VMware のデジタル体験のテレメトリ
vmwetlm VMware Experience Management Service

管理者としてコマンド プロンプト アプリケーションを起動し、sc query vmwosqext または sc query vmwetlm を実行します。これらのコマンドは、DEEM テレメトリ エージェント サービスのステータスを VMWOSQEXT または vmwetlm として表示します。

エクスペリエンス管理が使用するレジストリ設定について

Experience Management は、Windows デバイスの HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VMWOSQEXT および HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vmwetlm にレジストリ エントリを作成します。これらのレジストリは、Workspace ONE Intelligent Hub と Windows 向けのエクスペリエンス管理エージェントの両方で機能します。

トラブルシューティング用のユーティリティ ツール(tlmtool

トラブルシューティングを容易にするため、エクスペリエンス管理エージェント v22.6.0 以降には、tlmtool と呼ばれる新しいユーティリティ ツールが付属しています。ユーティリティ ツールを使用して、ログ レベルの設定、ログ ファイルの収集、およびログ ファイルのパッケージ化を行います。

ユーティリティ ツールは、Windows 向けのエクスペリエンス管理エージェントと同じディレクトリ (C:\Program Files\VMware\Endpoint Telemetry Service\Tools) にあるデバイスにインストールされます。インストールパスは、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vmwetlm\ImagePath でレジストリ キーを使用して取得できます。

ユーティリティ ツールを実行する方法

管理者として tlmtool を実行し、PowerShell スクリプトで実行ポリシーを使用します。PowerShell コマンドは Set-ExecutionPolicy です。

  1. 管理者としてコマンド プロンプト アプリを実行します。
  2. インストール パス C:\Program Files\VMware\Endpoint Telemetry Service\Tools に移動します。
  3. tlmtool <options> [arguments] を実行します。
    コマンド プロンプトに入力する内容の例として、tlmtool -setLogLevel Trace があります。
  4. tlmtoolでサポートされているコマンド オプションを表示するには、コマンド プロンプトに「tlmtool -help」と入力します。

ユーティリティ ツールのコマンド ライン オプション

オプション 使用状況 説明
collectLog -collectLog ログ ファイルを収集してパッケージ化し、デフォルトで C:\Windows\Temp\Diagnostic に格納します。
getDEEMManagementMode -getDEEMManagementMode エクスペリエンス管理システム、Workspace ONE UEM または Horizon を管理するシステムを取得します。
getDEEMDisabled -getDEEMDisabled ユーティリティ ツールによって設定されたエクスペリエンス管理データの収集と送信のステータスを取得します。

-false: エクスペリエンス管理はデータを収集して送信しています。
-true: エクスペリエンス管理はデータを収集して送信していません。
help -help ツールのヘルプ情報を表示します。
resetAllLogSettings -resetAllLogSettings ログ レベルと構成を含むすべてのログ設定をデフォルトにリセットします。
resetLogConfiguration -resetLogConfiguration maxLogSize ログ ファイルの最大サイズをデフォルトの 1 MB にリセットします。
-resetLogConfiguration maxTraceLogSize トレース ログ ファイルの最大サイズをデフォルトの 10 MB にリセットします。
-resetLogConfiguration maxLogFiles 保持される履歴ログ ファイルの最大数をデフォルトの 10 にリセットします。
resetLogLevel -resetLogLevel ログ レベルをデフォルト設定にリセットします。
setDEEMDisabled -setDEEMDisabled false エクスペリエンス管理を設定して、データの収集と送信を続行します。
-setDEEMDisabled true エクスペリエンス管理によるデータの収集と送信を停止します。

管理ポリシーは、このコマンドを無効にできます。「グループ ポリシー オブジェクトを使用した Windows 向けのエクスペリエンス管理の構成」セクションを参照してください。
setDEEMManagementMode -setDEEMManagementMode <uem> エクスペリエンス管理サービスを管理するように Workspace ONE UEM を設定します。
-setDEEMManagementMode <horizon> エクスペリエンス管理サービスを管理するように Horizon を設定します。
setLogConfiguration -setLogConfiguration maxLogSize <1..50> ログ ファイルの最大サイズを MB 単位で設定します。範囲は 1 ~ 50 です。
-setLogConfiguration maxTraceLogSize <1..50> トレース ログ ファイルの最大サイズを MB 単位で設定します。範囲は 1 ~ 50 です。
-setLogConfiguration maxLogFiles <1..30> 保持される履歴ログ ファイルの最大数を設定します。範囲は 1 ~ 30 です。
setLogLevel -setLogLevel <Error\Info\Debug\Trace> ログレベルを <Error\Info\Debug\Trace> に設定します。

デバイス上のエクスペリエンス管理テレメトリ エージェントのログを有効にする方法

  • エクスペリエンス管理エージェント v22.6.0 以降の場合は、サービスを再起動せずに tlmtool コマンド tlmtool -setLogLevel Trace を実行してエクスペリエンス管理のログを有効にします。
  • 古い VMWOSQEXT サービスの場合は、一覧表示されたレジストリ エントリを更新してエクスペリエンス管理のログを有効にします。
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VMWOSQEXT\ImagePath = “"C:\Program Files (x86)\Airwatch\AgentUI\Telemetry\vmwosqext.exe" --service --osq_named_pipe=vmwosqext.em --logger_min_status=0 --vmw_windows_log_verbose”
    • レジストリの変更後、サービスを再起動します。その後、ログは C:\ProgramData\VMWOSQEXT フォルダに書き込まれます。
  • 最新の vmwetlm サービスの場合は、サービスを再起動せずにリストされたレジストリを更新してログを有効にします。
    • HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Endpoint Telemetry\Service\Config\Log\LogLevel="Trace"
    • ログがフォルダ C:\ProgramData\VMware\vmwetlm\logs に書き込まれます。

エクスペリエンス管理の追加ログイン イベント レポートを有効にする (オプション)

Windows ログイン/ログアウト エクスペリエンスに関する追加のエクスペリエンス管理メトリックをユーザー エクスペリエンス スコアに提供するには、該当する Windows デバイスで、一覧表示されている高度な監査ポリシーを有効にします。

  • ログアウトの監査
  • ログインの監査
  • その他のログイン/ログアウト イベントの監査
  • 特別なログインの監査

マシン上

一覧表示されたプロセスを使用して、Windows マシンでこれらのポリシーを有効にできます。

  1. グループ ポリシー エディタ (Gpedit.msc) を開きます。
  2. [コンピューターの構成] > [Windows の設定] > [セキュリティの設定] > [監査ポリシーの詳細な構成] > [システム監査ポリシー - ローカル グループ ポリシー オブジェクト] > [ログイン/ログアウト] に移動します。
  3. 上記の各ポリシーを有効にして構成し、[成功および失敗] レポートを作成します。

CMD ファイルの使用

CMD ファイル(バッチ ファイル)を使用して高度な監査ポリシーを有効にする場合は、一覧表示されたコードで該当する GPO を更新します。

@echo off
echo "Machine Name,Policy Target,Subcategory,Subcategory GUID,Inclusion Setting,Exclusion Setting,Setting Value" >audit_policy.csv
echo ",System,Audit Logoff,{0cce9216-69ae-11d9-bed3-505054503030},Success and Failure,,3" >>audit_policy.csv
echo ",System,Audit Logon,{0cce9215-69ae-11d9-bed3-505054503030},Success and Failure,,3" >>audit_policy.csv
echo ",System,Audit Other Logon/Logoff Events,{0cce921c-69ae-11d9-bed3-505054503030},Success and Failure,,3" >>audit_policy.csv

auditpol.exe /restore /file:audit_policy.csv
del /f audit_policy.csv

ベースラインの使用

高度な監査ポリシーを有効にするもう 1 つの方法では、ベースラインを使用します。ベースラインとは、Windows の構成の効率化を図るためにグループ化した、選別された設定のことです。一覧表示されたプロセスに、高度な監査ポリシーを有効にする一般的な手順の概略を示します。ベースラインの詳細については、「ベースラインの使用」を参照してください。

  1. Workspace ONE UEM で、組織グループを選択します。
  2. [リソース] > [プロファイルとベースライン] > [ベースライン] でコンソールのテンプレートを使用してベースラインを作成します。
  3. Windows セキュリティ ベースライン テンプレートを使用します。
  4. [カスタマイズ] タブで [コンピューターの構成] > [Windows の設定] > [セキュリティの設定] > [監査ポリシーの詳細な構成] > [システム監査ポリシー - ローカル グループ ポリシー オブジェクト] > [ログイン/ログアウト] に移動してポリシーを探します。
  5. [成功および失敗] の設定を有効にします。
  6. ベースラインを保存し、該当するスマート グループに割り当てます。
  7. デバイスを再起動してベースラインを展開します。

PowerShell を使用

GPO、CMD ファイル、ベースラインを使用しない場合は、PowerShell コマンドを使用して、Windows ログイン/ログアウト エクスペリエンス データの監査ポリシーをアクティブ化することもできます。

  1. エコーをオフにします。
    $host.UI.RawUI.BufferSize = New-Object Management.Automation.Host.Size (500, $host.UI.RawUI.BufferSize.Height)
    $ProgressPreference = 'SilentlyContinue'
    
  2. CSV コンテンツを定義します。
    $csvContent = @"
    "Machine Name,Policy Target,Subcategory,Subcategory GUID,Inclusion Setting,Exclusion Setting,Setting Value"
    ",System,Audit Logoff,{0cce9216-69ae-11d9-bed3-505054503030},Success and Failure,,3"
    ",System,Audit Logon,{0cce9215-69ae-11d9-bed3-505054503030},Success and Failure,,3"
    ",System,Audit Other Logon/Logoff Events,{0cce921c-69ae-11d9-bed3-505054503030},Success and Failure,,3"
    "@`
    
  3. コンテンツを audit_policy.csv に書き込みます。$csvContent | Out-File -FilePath "audit_policy.csv" -Encoding ASCII
  4. auditpol.exe コマンドを実行します。& auditpol.exe /restore /file:audit_policy.csv
  5. CSV ファイルを削除します。Remove-Item -Path "audit_policy.csv" -Force

グループ ポリシー オブジェクトを使用した Windows 向けのエクスペリエンス管理の構成

グループ ポリシー オブジェクトを使用して、エクスペリエンス管理エージェントを構成します。

たとえば、ユーザーのデバイスからテレメトリを収集しない場合は、グループ ポリシー オブジェクトを使用してエクスペリエンス管理エージェントを構成できます。ローカル Windows マシンでのエクスペリエンス管理テレメトリの収集を制御するには、Windows ADMX テンプレート ファイル vmw_etlm.admx のエクスペリエンス管理に含まれるカスタム グループ ポリシー オブジェクト (GPO) を使用します。

テンプレート ファイルを ZIP 形式で検索し、My Workspace ONE からダウンロードします。ファイルを Active Directory サーバにコピーし、グループ ポリシー管理エディタを使用して管理テンプレートを追加する必要があります。

使用可能な GPO

GPO 設定 説明
ローカル無効化を許可 ユーザーのデバイスで tlmtool ユーティリティ ツールを使用してローカル無効化を許可するかどうかを決定します。

有効に設定すると、tlmtool ユーティリティ ツールを使用したローカル無効化が許可されます。

無効 に設定すると、ユーティリティ ツールによる無効化は効果がありません。

このポリシーを構成しない場合は、ローカル無効化が許可されます。
DEEM を無効にする 管理ポリシー (GPO) によってエクスペリエンス管理を無効にできるかどうかを決定します。

有効に設定すると、エクスペリエンス管理はユーザーのデバイスからのテレメトリ データの収集と送信を停止します。

このポリシー設定を無効に設定した場合、またはこのポリシー設定を構成しない場合でも、ローカル無効化の許可ポリシー設定に応じて、エクスペリエンス管理をローカルで無効にできます。
管理モード エクスペリエンス管理統合、Workspace ONE UEM、または Horizon を管理するソリューションを決定します。

デフォルトのマネージャは Workspace ONE UEM です。GPO を使用してデフォルトをオーバーライドします。
プロキシ構成 これらのポリシー設定は、Intelligence サービスにデータを送信するときに Horizon デスクトップで使用されるプロキシ サーバ構成を行います。

自動プロキシ設定を選択すると、システムは WPAD (Web プロキシ自動検出プロトコル) や DHCP (動的ホスト構成プロトコル) などのプロトコルを使用してプロキシ構成を自動的に検出します。

スクリプト プロキシ設定を選択すると、システムはスクリプト アドレスを使用してプロキシ構成スクリプトを取得します。スクリプト アドレスは、URL または標準の URN の場所にできます。たとえば、ローカル ディスクまたはリモート ディスクのファイル\\server\share\script.pac にできます。

静的 プロキシ設定を選択すると、静的プロキシ URL は使用するプロキシを指定します。URL にはポートを含めることができます。

このポリシーを無効にするか、構成しない場合、システムはプロキシを使用しません。

ローカル マシンでのエクスペリエンス管理の制御

管理テンプレートと GPO またはユーティリティ ツール (tlmtool) を使用して、エクスペリエンス管理データの収集を制御します。

  • 管理テンプレートを使用して、いくつかの無効化方法を制御します。
    • ユーティリティ ツールを使用して、エクスペリエンス管理のローカル無効化を許可または拒否します。
    • 管理ポリシーによるエクスペリエンス管理の無効化を許可または拒否します。
  • 管理ポリシーで許可されている場合は、ユーティリティ ツールを使用してエクスペリエンス管理を無効にし、データ収集を停止します。

エクスペリエンス管理をローカルで制御する理由

ローカル Windows マシンでエクスペリエンス管理を制御する機能は、いくつかのシナリオで役立ちます。

  • Example 1: ドメイン管理者はリソースを制御する必要があります: ドメイン管理者は、ローカル管理者がユーティリティ ツールを使用してローカル マシンのエクスペリエンス管理を無効にしないようにする必要があります。リストされた構成を行うことができます。
    • GPO Disable DEEM無効として構成するか、未構成のままにします。
    • GPO Allow Local Disablement無効として構成します。
    • ローカル管理者は、ユーティリティ ツールを使用してエクスペリエンス管理を無効にすることはできません。
  • Example 2: サポートには、エスカレーションのローカル制御が必要です: ドメイン管理者は、エスカレーションに役立つ特定のデバイスでサポートがエクスペリエンス管理を無効にできるようにしたいと考えています。リストされた構成を行うことができます。
    • GPO Disable DEEM無効として構成するか、未構成のままにします。
    • GPO Allow Local Disablement有効として構成するか、未構成のままにします。
    • サポート担当者はユーティリティ ツールを使用して、エクスペリエンス管理を無効にできます。

無効化プロセスにおける GPO とユーティリティ ツールの関係は何ですか?

エクスペリエンス管理の無効化で GPO とユーティリティ ツールがどのように連携するかを理解するには、GPO 設定の DEEM の無効化から開始しフロー チャートを操作して、有効にする設定と無効にする設定を確認します。

最初に GPO 設定を確認してから、ユーティリティ ツールのステータスを確認し、エクスペリエンス管理が完全に無効になっているかどうかを確認できます。

管理テンプレートの構成

カスタム GPO を含む管理テンプレートをインストールして構成します。

  1. 管理テンプレートを取得し、ローカル マシンにインストールします。
  2. 管理テンプレートを構成します。
    1. ローカル Windows マシンでローカル グループ ポリシーを検索しエディタを開きます。
    2. [コンピュータの構成] > [管理テンプレート] > [VMware エンドポイント テレメトリ] > [DEEM] の順に移動します。
    3. エクスペリエンス管理の設定を表示し、[ポリシー設定の編集] リンクを使用して構成を更新します。
      1. ローカル管理者によるユーティリティ ツールの構成を許可または拒否するには、Allow Local Disablement の設定を行います。
        • 無効: ユーティリティ ツールによる無効化は効果がありません。
        • 有効: ユーティリティ ツールによるローカル無効化は許可されています。
        • 未構成: ユーティリティ ツールによるローカル無効化は許可されています。
      2. DEEM の無効化設定を構成して、ローカル マシンのエクスペリエンス管理メカニズムを制御します。
        • 無効: Allow Local Disablement ポリシー設定によっては、エクスペリエンス管理をローカルで無効にできます。
        • 有効: エクスペリエンス管理は、テレメトリ データの収集と送信を停止します。
        • 未構成: Allow Local Disablement ポリシー設定によっては、エクスペリエンス管理をローカルで無効にできます。

ユーティリティ ツールの構成

コマンド ラインを使用したデータの収集と送信からエクスペリエンス管理を制御します。

  1. ローカル マシンでユーティリティ ツールを実行します。
  2. コマンド -setDEEMDisabled <value> を使用し、ユーティリティ ツールでエクスペリエンス管理データの収集と送信を制御します。
    • -setDEEMDisabled false: エクスペリエンス管理は引き続きデータを収集して送信します。
    • -setDEEMDisabled true: エクスペリエンス管理はデータの収集と送信を停止します。
  3. (オプション) クエリ -getDEEMDisabled を使用して、エクスペリエンス管理のステータスを確認できます。
    • false: エクスペリエンス管理はデータを収集して送信しています。
    • true: エクスペリエンス管理はデータを収集して送信していません。

スクリプトとセンサーによるエクスペリエンス管理の制御

スクリプトを使用して、Windows デバイスのエクスペリエンス管理をリモートで制御 (有効化または無効化) し、センサーを使用して Windows デバイスのエクスペリエンス管理の現在のステータスをリモートで取得します。

スクリプトとセンサーを使用してエクスペリエンス管理をリモートで制御するタイミング

さまざまなシナリオでエクスペリエンス管理をオフにする必要がある場合があります。

  • Workspace ONE Intelligence またはエクスペリエンス分析のサブライセンスが付与されている場合は、スクリプトとセンサーを使用して、エクスペリエンス管理データを送信しているデバイスを制御できます。
    • システムは、エクスペリエンス管理データを「消費されたライセンス」として送信するデバイスを追跡します。
    • シナリオの例として、1,000 個の Workspace ONE UEM ライセンスを購入したが、1,000 台の Workspace ONE UEM 管理対象デバイスすべてでエクスペリエンス管理を使用する準備が整っていないため、500 個のエクスペリエンス分析ライセンスしか購入できない場合があります。
  • 展開リングを使用してエクスペリエンス管理データの有効化のロールアウトを制御する場合は、ロールアウトにスクリプトとセンサーを使用できます。
    • シナリオの例として、500 個のエクスペリエンス分析ライセンスを購入したが、最初にサービスを UAT 環境に展開してテストする必要があります。
    • すべてのライセンスが展開されるまで、UAT からデバイスに段階的にライセンスを展開します。
    • 展開リングにライセンスを展開すると、エクスペリエンス管理サービスがデバイスおよびネットワーク ルールに与える影響と互換性を追跡できます。
  • 何らかの理由でマシンのエクスペリエンス管理の有効化を元に戻す場合は、スクリプトとセンサーを使用してエクスペリエンス管理のステータスを変更します。
    • シナリオの例として、ロールアウト中に、エクスペリエンス管理またはその他のサービスで予期しない問題が見つかる場合があります。
    • スクリプトを使用してデバイスのエクスペリエンス管理を無効にし、センサーを使用して適切なデバイスが無効化されていることを確認します。

要件

スクリプトとセンサーを使用してエクスペリエンス管理を制御するには、リストされている要件を満たす必要があります。

  • Workspace ONE UEM を使用して Windows デバイスを管理します。
  • デバイスで Windows 23.10 以降の Workspace ONE Intelligent Hub を使用します。
  • Workspace ONE UEM を使用して、スクリプトとセンサーをプッシュします。
  • リストされたスクリプトを使用して、エクスペリエンス管理を有効または無効にします。
  • リストされたセンサーを使用して、エクスペリエンス管理のステータスとバージョンを取得します。

有効または無効にするスクリプト

このスクリプトを使用して、エクスペリエンス管理を有効または無効にします。

# Set the $deemDisabled value. $True will Disable DEEM, $False will Enable DEEM
$deemDisabled = $true

# Define the log file path
$logFilePath = "C:\ProgramData\AirWatch\UnifiedAgent\Logs\DEEMstatus.log"

# Function to check and truncate the log file if it exceeds 1MB
function CheckAndTruncateLogFile {
    if (Test-Path $logFilePath) {
        $file = Get-Item $logFilePath
        $fileSizeMB = $file.Length / 1MB
        if ($fileSizeMB -gt 1) {
            Clear-Content $logFilePath
        }
    }
}

# Function to log and write a message
function LogAndWriteMessage {
    # Arguments
    $message = $args[0]
    $addSeparator = $false
    if ($args.Length -gt 1) {
        $addSeparator = $args[1]
    }

    CheckAndTruncateLogFile
    $separator = if ($addSeparator) { "`r`n" + ("*" * 50) + "`r`n" } else { "" }
    $finalMessage = "$message$separator"
    $finalMessage | Out-File -FilePath $logFilePath -Append
    Write-Host $finalMessage
}

# Full path to tlmtool.exe
$tlmToolPath = "C:\Program Files\VMware\Endpoint Telemetry Service\Tools\tlmtool.exe"

# Check if tlmtool.exe exists
if (-not (Test-Path $tlmToolPath)) {
    LogAndWriteMessage "The file $tlmToolPath does not exist."
    return
}

# Log the user running the script
$currentUsername = whoami
LogAndWriteMessage "Script is being run by user: $currentUsername"

# Run tlmtool.exe with the specified parameters and log the output
& $tlmToolPath -setDEEMDisabled $deemDisabled | Out-File -FilePath $logFilePath -Append

# Determine the expected status and startup type based on $deemDisabled
$expectedStatus = if ($deemDisabled -eq $true) { 'Stopped' } else { 'Running' }
$startupType = if ($deemDisabled -eq $true) { 'Disabled' } else { 'Automatic' }

# Initialize counter for service status check loop
$retryCount = 0
$maxRetries = 6  # Up to 60 seconds wait (6 retries * 10 seconds each)

# Loop to update the service and check the status
do {
    # Update the service status and startup type
    if ($deemDisabled -eq $true) {
        Stop-Service -Name "VMWOSQEXT" -ErrorAction SilentlyContinue
        Set-Service -Name "VMWOSQEXT" -StartupType Disabled
    } elseif ($deemDisabled -eq $false) {
        Start-Service -Name "VMWOSQEXT" -ErrorAction SilentlyContinue
        Set-Service -Name "VMWOSQEXT" -StartupType Automatic
    }

    Start-Sleep -Seconds 10
    $currentStatus = (Get-Service -Name "VMWOSQEXT").Status
    LogAndWriteMessage "Checking VMWOSQEXT service status: $currentStatus. Expected: $expectedStatus. Attempt: $($retryCount + 1)"
    $retryCount++
} while ($currentStatus -ne $expectedStatus -and $retryCount -lt $maxRetries)

# Verify final status of the service and the registry key value
$deemRegKeyPath = "HKLM:\SOFTWARE\VMware, Inc.\VMware Endpoint Telemetry\DEEM"
$deemRegValName = "Disabled"
$deemRegVal = (Get-ItemProperty -Path $deemRegKeyPath -Name $deemRegValName -ErrorAction SilentlyContinue).$deemRegValName

# Convert registry value to a boolean for comparison
$registryValueAsBool = [System.Boolean]::Parse($deemRegVal)

if ($currentStatus -eq $expectedStatus) {
    if (($registryValueAsBool -and $deemDisabled -eq $true) -or (-not $registryValueAsBool -and $deemDisabled -eq $false)) {
        $deemState = if ($deemDisabled -eq $true) { "Disabled" } else { "Enabled" }
        LogAndWriteMessage "Service VMWOSQEXT is in the expected state: $expectedStatus and DEEM is $deemState." $true
    } else {
        LogAndWriteMessage "Warning: Service VMWOSQEXT is in the expected state, but DEEM registry key value does not match the expected configuration." $true
    }
} else {
    LogAndWriteMessage "Warning: Service VMWOSQEXT did not reach the expected state ($expectedStatus) after $($retryCount * 10) seconds." $true
}

ステータスを取得するセンサー

このセンサーを使用して、デバイスのエクスペリエンス管理のステータスを返します。

# Define the service and registry path
$serviceName = "VMWOSQEXT"
# Get the service status
$service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue
#DEEM registry path
$registryPath = "HKLM:\SOFTWARE\VMware, Inc.\VMware Endpoint Telemetry\DEEM"
# Get the DEEM status value
$registryValue = Get-ItemProperty -Path $registryPath -Name Disabled -ErrorAction SilentlyContinue

# Check if the service and registry key exist
if ($service -eq $null) {
    Write-Host "Service $serviceName not found."
    #exit
}
if (-not (Test-Path $registryPath)) {
    Write-Host "Registry path $registryPath not found."
    #exit
}

# Check the DEEM status conditions and return the appropriate message
if ($service.Status -eq 'Running' -and $service.StartType -eq 'Automatic' -and $registryValue.Disabled -eq $false) {
    "DEEM is enabled"
} elseif ($service.Status -eq 'Stopped' -and $service.StartType -eq 'Disabled' -and $registryValue.Disabled -eq $true) {
    "DEEM is disabled"
} else {
    "DEEM status is in an unknown state."
}

バージョンを取得するセンサー

このセンサーを使用して、デバイス上のエクスペリエンス管理のバージョンを返します。

# Define the registry path
$registryPath = "HKLM:\SOFTWARE\VMware, Inc.\VMware Endpoint Telemetry\Service\Version"

# Check if the registry key exists
if ($registryPath) {
    # Retrieve the value data if the key exists
    $versionData = Get-ItemPropertyValue -Path $registryPath -Name "VMware DEEM for Intelligent Hub" -ErrorAction SilentlyContinue
    
    if ($versionData) {
        # Output the value data
        Return $versionData
    } else {
        # Output if the specific value does not exist under the key
        Return "Value 'VMware DEEM for Intelligent Hub' does not exist in the key."
    }
} else {
    # Output if the registry key does not exist
    Return "DEEM version key does not exist"
}
check-circle-line exclamation-circle-line close-line
Scroll to top icon