Windows デスクトップ デバイス用のセンサーによるデータの収集

Windows デスクトップ デバイスには、ハードウェア、OS、証明書、パッチ、アプリケーションなどの複数の属性が含まれています。センサーでは、Workspace ONE UEM console を使用して、これらの属性のデータを収集できます。データは、Workspace ONE Intelligence および Workspace ONE UEM に表示されます。

Freestyle 機能

センサーは、SaaS 環境で使用できる Freestyle 機能です。Freestyle の詳細については、「Freestyle Orchestrator」を参照してください。

UEM Console に Freestyle Orchestrator を表示します。

センサーの説明

デバイスには非常に多数の属性が関連付けられています。この数は、さまざまなアプリケーション、OS バージョン、パッチ、およびその他の継続的に変化する変数を追跡すると増大します。これらのすべて属性を追跡するのは容易ではありません。

デフォルトでは、Workspace ONE UEM で追跡できるデバイスの数が制限されています。ただし、センサーを使用すると、必要な特定のデバイス属性を追跡できます。たとえば、マウス ドライバの詳細、OS の保証情報、および内部アプリケーションのレジストリ値を追跡するセンサーを作成できます。センサーでは、デバイスのさまざまな属性を追跡できます。[リソース] にあるメインの Workspace ONE UEM console ナビゲーションで、[センサー] を検索します。
センサーへのナビゲーション パスを表示します

Workspace ONE UEM のセンサー データを使用するには、Workspace ONE Intelligence を使用できます。Workspace ONE Intelligence には、センサー データを表示および分析できるダッシュボードとレポートがあります。2 つのシステム間のデータ転送は、ポート 443 で SSL を使用してセキュアな HTTP を介して行われます。

重要:プライバシー上の理由から、従業員所有デバイスにセンサーを割り当てることは許可されていません。

Workspace ONE UEM オプション

センサー トリガ

センサーの構成時に、デバイスがトリガを使用してセンサー データ レポートを Workspace ONE UEM console に返すタイミングを制御できます。これらのトリガは、Windows サンプル スケジュールに基づいたスケジューリング、またはログインやログアウトなどの特定のデバイス イベントに基づいたスケジューリングを行えます。

PowerShell スクリプトの追加

作成した PowerShell スクリプトによって、各センサーの値が決まります。

[デバイス詳細] > [センサー]

デバイスの [デバイス詳細] ページの [センサー] タブで、1 台のデバイスのデータを表示できます。

Workspace ONE UEM が [センサー] タブにデバイスのセンサー データを表示できるようにするには、データ センターで構成 [デバイス状態] が有効になっている必要があります。Workspace ONE UEM では、SaaS 環境のお客様向けに、この構成を有効にします。

注:Workspace ONE UEM は、オンプレミス環境のソリューションで機能します。ただし、このソリューションを作成するまでは、オンプレミス展開の [デバイス詳細] で [センサー] タブを使用することはできません。

Workspace ONE Intelligence オプション

データを分析するためのレポートとダッシュボード

Workspace ONE Intelligence サービスを使用している場合は、レポートを実行するか、センサーからデータを表示して操作するためのダッシュボードを作成できます。レポートを実行する場合は、[Workspace ONE UEM] カテゴリ、[デバイス センサー] を使用します。センサーを検索して選択し、レポートやダッシュボードでクエリを実行できます。

データへのアクセスを制御する RBAC

センサーにアクセスできるユーザーを制御するには、Workspace ONE Intelligence のロール ベースのアクセス制御 (RBAC) 機能を使用します。RBAC は管理者に権限を割り当てるので、特定の Workspace ONE Intelligence ユーザーがセンサー データにアクセスすることを防止または許可するために使用します。

暗号化

保存中のすべてのデータは、Workspace ONE Intelligence で暗号化されます。詳細については、VMware Cloud Trust Center のコンテンツを参照してください。このサイトには、コンプライアンス証明書、CAIQ、SOC2、SOC3、その他のセキュリティのベスト プラクティスに関する詳細が記載されたレポートがあります。

スクリプトで Write-Output と Not Write-Host を使用する

スクリプトの Write-Host 文字列は画面に直接書き込まれ、Workspace ONE Intelligence へのセンサー出力は報告されません。ただし、文字列 Write-Output はパイプラインに書き込むため、Write-Host の代わりにこれを使用します。該当するスクリプトを Write-Output または echo (echoWrite-Output の別名です)に更新します。

詳細については、Microsoft のホーム ページで、Write-Host および Write-Output のドキュメントを検索してください。

非作業スクリプトの例

  • タイム ゾーンを返す
  • タイプを返す:String
$os=Get-TimeZone
write-host $os
  • Write-Host はスクリプトの出力ではないため、スクリプトからの出力はありません。
  • Write-Host は、パイプラインではなく「画面」に直接書き込みます。

作業スクリプトの例

  • タイム ゾーンを返す
  • タイプを返す:String
$os=Get-TimeZone
write-output $os

Workspace ONE Intelligence のドキュメント

Workspace ONE Intelligence の操作方法の詳細については、VMware Workspace ONE Intelligence Products にアクセスしてください。

Windows デスクトップ デバイスおよびセンサー データ

センサー データは Windows デバイスにローカルで保存されません。センサーは、システム上の属性を評価し、そのデータを Workspace ONE Intelligence に報告する PowerShell コードを実行します。評価と報告が完了すると、PowerShell プロセスが終了します。

センサーの PowerShell スクリプトの例

Windows デバイスのセンサーを作成する場合は、PowerShell スクリプトをアップロードするか、Workspace ONE UEM console で構成時に表示されるテキスト ボックスに PowerShell コマンドを入力する必要があります。これらのコマンドは、センサー属性の値を返します。

次の例には、必要な設定とコードが含まれています。その他のセンサーのサンプルについては、https://code.vmware.com/samples?id=4930 を参照してください。

注:日付と時刻のデータ タイプの値を返すすべてのセンサーは、ISO 形式を使用します。

バッテリ残量の確認

  • 値タイプ:整数
  • 実行コンテキスト:ユーザー

    $battery_remain=(Get-WmiObject win32_battery).estimatedChargeRemaining |
    Measure-Object -Average | Select-Object -ExpandProperty Averageecho $battery_remain
    

シリアル番号の取得

  • 値タイプ:String
  • 実行コンテキスト:ユーザー

    $os=Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
    echo $os.SerialNumber
    

システム日付の取得

  • 値タイプ:DateTime
  • 実行コンテキスト:ユーザー

    $date_current = get-Date -format s -DisplayHint Date
    echo $date_current
    

TPM が有効かどうかの確認

  • 値タイプ:ブーリアン
  • 実行コンテキスト:管理者

    $obj = get-tpm
    echo $obj.TpmReady
    

TPM がロックされているかどうかの確認

  • 値タイプ:ブーリアン
  • 実行コンテキスト:管理者

    $obj = get-tpm
    echo $obj.LockedOut
    

TPM ロックアウト回復時間の取得

  • 値タイプ:String
  • 実行コンテキスト:管理者

    $tpm=get-tpm
    echo $tpm.LockoutHealTime
    

SMBIOS が存在するかどうかの確認

  • 値タイプ:ブーリアン
  • 実行コンテキスト:ユーザー

    $os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
    echo $os.SMBIOSPresent
    

SMBIOS BIOS バージョンの確認

  • 値タイプ:ブーリアン
  • 実行コンテキスト:ユーザー

    $os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
    echo $os.SMBIOSBIOSVersion
    

BIOS バージョンの取得

  • 値タイプ:String
  • 実行コンテキスト:ユーザー

    $os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
    echo $os.Version
    

BIOS ステータスの取得

  • 値タイプ:String
  • 実行コンテキスト:ユーザー

    $os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
    echo $os.Status
    

平均 CPU 使用量 (%) の取得

  • 値タイプ:整数
  • 実行コンテキスト:ユーザー

    $cpu_usage= Get-WmiObject win32_processor | Select-Object -ExpandProperty LoadPercentage
    echo $cpu_usage
    

平均メモリ使用量の取得

  • 値タイプ:整数
  • 実行コンテキスト:ユーザー

    $os = Get-WmiObject win32_OperatingSystem
    $used_memory = $os.totalvisiblememorysize - $os.freephysicalmemory
    echo $used_memory
    

平均仮想メモリ使用量の取得

  • 値タイプ:整数
  • 実行コンテキスト:ユーザー

    $os = Get-WmiObject win32_OperatingSystem
    $used_memory = $os.totalvirtualmemorysize - $os.freevirtualmemory
    echo $used_memory
    

平均ネットワーク使用量の取得

  • 値タイプ:整数
  • 実行コンテキスト:ユーザー

    $Total_bytes=Get-WmiObject -class Win32_PerfFormattedData_Tcpip_NetworkInterface
    |Measure-Object -property BytesTotalPersec -Average |Select-Object -ExpandProperty Average
    echo ([System.Math]::Round($Total_bytes))
    

プロセスの平均メモリ使用量の取得

  • 値タイプ:String
  • 実行コンテキスト:ユーザー

    $PM = get-process chrome |Measure-object -property PM -Average|Select-Object -ExpandProperty Average
    $NPM = get-process chrome |Measure-object -property NPM -Average|Select-Object -ExpandProperty Average
    echo [System.Math]::Round(($PM+$NPM)/1KB)
    

プロセスが実行中かどうかの確認

  • 値タイプ:ブーリアン
  • 実行コンテキスト:ユーザー

     $chrome = Get-Process chrome -ea SilentlyContinue
    			if($chrome){
    				echo $true
    				}
    			else{
    				echo $false
    				}
    

セキュア ブートが有効かどうかの確認

  • 値タイプ:ブーリアン
  • 実行コンテキスト:管理者

    try { $bios=Confirm-SecureBootUEFI }
    catch { $false }
    echo $bios
    

アクティブなネットワーク インターフェイス

  • 値タイプ:String
  • 実行コンテキスト:ユーザー

    $properties = @(‘Name’,’InterfaceDescription’)
    $physical_adapter = get-netadapter -physical | where status -eq "up" 
    |select-object -Property $properties
    echo $physical_adapter
    

PowerShell バージョンの確認

  • 値タイプ:String
  • 実行コンテキスト:ユーザー

    $x = $PSVersionTable.PSVersion
    echo "$($x.Major).$($x.Minor).$($x.Build).$($x.Revision)"
    

バッテリの最大容量の確認

  • 値タイプ:整数
  • 実行コンテキスト:ユーザー

    $max_capacity = (Get-WmiObject -Class "BatteryFullChargedCapacity" -Namespace "ROOT\WMI").FullChargedCapacity | Measure-Object -Sum | 
    Select-Object -ExpandProperty Sum
    echo $max_capacity
    

バッテリの充電ステータスの確認

  • 値タイプ:String
  • 実行コンテキスト:ユーザー

    $charge_status = (Get-CimInstance win32_battery).batterystatus
    $charging = @(2,6,7,8,9)
    if($charging -contains $charge_status[0] -or $charging -contains $charge_status[1] )
    {
                    echo "Charging"
                    }else{  
                    echo "Not Charging"
    }
    

アクティブな電源管理プロファイル

  • 値タイプ:String
  • 実行コンテキスト:管理者

    $plan = Get-WmiObject -Class win32_powerplan -Namespace root\cimv2\power 
    -Filter "isActive='true'" 
    echo $plan
    

ワイヤレスが存在するかどうかの確認

  • 値タイプ:ブーリアン
  • 実行コンテキスト:ユーザー

    $wireless = Get-WmiObject -class Win32_NetworkAdapter -filter "netconnectionid like 'Wi-Fi%'"
    	if($wireless){echo $true}
    	else {echo $false}
    

Java バージョンの取得

  • 値タイプ:String
  • 実行コンテキスト:ユーザー

    $java_ver = cmd.exe /c "java -version" '2>&1'
    echo $java_ver
    

Windows デスクトップ デバイス用のセンサーを作成する

Workspace ONE UEM console にセンサーを作成して、バッテリ残量、OS バージョン、平均 CPU 使用率など、特定のデバイス属性を追跡します。各センサーには、目的のデータを収集するためのコードのスクリプトが含まれています。これらのスクリプトをアップロードするか、コンソールに直接入力できます。

センサーは、PowerShell スクリプトを使用して属性値を収集します。これらのスクリプトは、センサーを作成する前、またはスクリプト ウィンドウでの構成中に、自身で作成する必要があります。

各スクリプトには 1 つのセンサーのみが含まれています。スクリプトで複数の値が返された場合、Workspace ONE Intelligence と Workspace ONE UEM はスクリプトからの応答として最初の値のみを読み取ります。スクリプトが null 値を返すと、Workspace ONE Intelligence と Workspace ONE UEM はセンサーをレポートしません。

前提条件

複数のデバイスのセンサーを表示し、レポートやダッシュボードのデータを操作する場合は、Workspace ONE Intelligence に参加する必要があります。1 台のデバイスのセンサー データを表示する場合は、Workspace ONE Intelligence は必要ありません。デバイスの [デバイス詳細] 画面に移動し、[センサー] タブを選択してデータを表示します。

手順

  1. [リソース] > [センサー] > [追加] の順に進みます。
    センサーを追加するためのナビゲーション パスを表示します
  2. Windows を選択します。
  3. [全般] タブで次のセンサー設定を構成します。
    • 名前 - センサーの名前を入力します。この名前の先頭は小文字で、その後に英数字とアンダースコアを付ける必要があります。名前は 2~64 文字の範囲で指定する必要があります。このメニュー項目にはスペースを使用しないでください。
    • 説明 - センサーの説明を入力します。
  4. 次へ を選択します。
  5. 詳細 タブのセンサー設定を構成します。
    • 言語 - Workspace ONE UEM では PowerShell をサポートしています。
    • 実行コンテキスト - この設定は、ユーザーまたはシステムのどちらのコンテキストでセンサーのスクリプトを実行するのかを制御します。
    • 実行アーキテクチャ - この設定は、アーキテクチャに基づいてデバイスでセンサーのスクリプトを実行するかどうかを制御します。32 ビット デバイスまたは 64 ビット デバイスでのみ実行するようにスクリプトを制限できます。また、デバイス アーキテクチャに基づくスクリプトを実行するように制限することもできます。また、デバイスに関係なく強制的に 32 ビットとしてスクリプトを実行させることもできます。
    • 応答データ タイプ - センサーのスクリプトに対する応答のタイプを選択します。次の中から選択できます。
      • String
      • 整数
      • ブーリアン
      • 日付 時刻
    • スクリプト コマンド - センサーのスクリプトをアップロードするか、所定のテキスト ボックスに独自のスクリプトを書き込みます。
  6. [保存] を選択してセンサーを後で割り当てるか、または [保存して割り当て] を選択してセンサーをグループとともにデバイスに割り当てます。
  7. 割り当てを続行するには、割り当ての追加 を選択します。
  8. [定義] タブで [割り当て名] を入力し、[スマート グループの選択] メニュー項目を使用して、センサー データを収集するデバイスのグループを選択します。
  9. 展開 タブで、デバイスの属性を報告するためのセンサーのトリガを選択します。複数の値を選択できます。

次に行うこと

センサーを作成した後、Workspace ONE UEM の [デバイス詳細] ページを使用して、単一のデバイスのデータを表示するか、または Workspace ONE Intelligence に移動し、レポートやダッシュボードを使用して複数のデバイスのデータを操作します。

check-circle-line exclamation-circle-line close-line
Scroll to top icon