Windows 桌面设备包含多个属性,例如硬件、操作系统、证书、修补程序、应用等。借助传感器,您可以使用 Workspace ONE UEM console 收集这些属性的数据。在 Workspace ONE Intelligence 和 Workspace ONE UEM 中显示数据。
传感器是可用于 SaaS 环境的 Freestyle 功能。有关 Freestyle 的详细信息,请访问 Freestyle Orchestrator。
设备关联的属性数目众多。在跟踪不同应用、操作系统版本、修补程序以及其他不断变化的变量时,此数量会增加。可能很难跟踪所有这些属性。
默认情况下,Workspace ONE UEM 会跟踪有限数量的设备属性。但您可以使用传感器跟踪所需的特定设备属性。例如,您可以创建一个传感器来跟踪鼠标驱动程序的驱动程序详细信息、操作系统的保修信息以及您的内部应用的注册表值。使用传感器可以跨设备跟踪各种属性。在 Workspace ONE UEM console 主导航区中的资源下,找到传感器。
要处理来自 Workspace ONE UEM 的传感器数据,您可以使用 Workspace ONE Intelligence。Workspace ONE Intelligence 具有仪表板和报告,您可以在其中查看和分析传感器数据。两个系统之间使用端口 443 上的 SSL 通过安全 HTTP 进行数据传输。
重要提示:出于隐私原因,不允许将传感器分配给员工拥有的设备。
在配置传感器时,您可以使用触发器来控制设备何时向 Workspace ONE UEM console 报告传感器数据。您可以根据 Windows 采样计划或特定设备事件(如登录和注销)来调度这些触发器。
您创建的 PowerShell 脚本将确定每个传感器的值。
您可以在设备的设备详细信息页面中的传感器选项卡上查看单台设备的数据。
必须在数据中心内启用配置设备状态,以便 Workspace ONE UEM 可以在传感器选项卡上显示设备的传感器数据。Workspace ONE UEM 会为 SaaS 客户启用此配置。
注意:Workspace ONE UEM 致力于提供适用于内部部署环境的解决方案,但在创建此解决方案之前,传感器选项卡在内部部署的设备详细信息中不可用。
如果您使用 Workspace ONE Intelligence 服务,则可以运行报告或创建仪表板以查看传感器中的数据并与之交互。运行报告时,请使用 Workspace ONE UEM 类别,设备传感器。您可以找到传感器,然后选择在报告和仪表板中进行查询。
要控制谁有权访问传感器,请使用 Workspace ONE Intelligence 中的基于角色的访问控制 (RBAC) 功能。RBAC 将向管理员分配权限,因此请使用它们阻止或允许特定 Workspace ONE Intelligence 用户访问传感器数据。
所有静态数据都会在 Workspace ONE Intelligence 中加密。有关详细信息,请参阅 VMware Cloud Trust Center 上的内容。此站点上有报告包含有关合规性证书、CAIQ、SOC2、SOC3 和其他安全性最佳实践的详细信息。
脚本中的 Write-Host
字符串会直接写入屏幕,而不会向 Workspace ONE Intelligence 报告传感器输出。但是,字符串 Write-Output
会写入到流水线中,因此请使用它而不是 Write-Host
。将适用的脚本更新为 Write-Output
或 echo
(echo
是 Write-Output
)的别名。
有关详细信息,请访问 Microsoft | Docs 中有关 Write-Host 和 Write-Output 的主题。
$os=Get-TimeZone
write-host $os
$os=Get-TimeZone
write-output $os
有关如何在 Workspace ONE Intelligence 中进行操作的详细信息,请访问 VMware Workspace ONE Intelligence 产品。
传感器数据不会存储在 Windows 设备本地。传感器运行 PowerShell 代码,该代码会评估系统上的属性并将该数据报告给 Workspace ONE Intelligence。在完成评估和报告后,PowerShell 进程将终止。
在为 Windows 设备创建传感器时,必须在 Workspace ONE UEM console 中上载 PowerShell 脚本或在配置过程中提供的文本框中输入 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
执行环境:用户
$os=Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
echo $os.SerialNumber
执行环境:用户
$date_current = get-Date -format s -DisplayHint Date
echo $date_current
执行环境:管理员
$obj = get-tpm
echo $obj.TpmReady
执行环境:管理员
$obj = get-tpm
echo $obj.LockedOut
执行环境:管理员
$tpm=get-tpm
echo $tpm.LockoutHealTime
执行环境:用户
$os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
echo $os.SMBIOSPresent
执行环境:用户
$os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
echo $os.SMBIOSBIOSVersion
执行环境:用户
$os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
echo $os.Version
执行环境:用户
$os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
echo $os.Status
执行环境:用户
$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))
执行环境:用户
$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
执行环境:用户
$properties = @(‘Name’,’InterfaceDescription’)
$physical_adapter = get-netadapter -physical | where status -eq "up"
|select-object -Property $properties
echo $physical_adapter
执行环境:用户
$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
执行环境:用户
$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"
}
执行环境:管理员
$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_ver = cmd.exe /c "java -version" '2>&1'
echo $java_ver
在 Workspace ONE UEM console 中创建传感器以跟踪特定设备属性,例如电池剩余电量、操作系统版本或 CPU 平均使用情况。每个传感器都包含一个用于收集所需数据的代码脚本。您可以上载这些脚本或将其直接输入到控制台中。
传感器使用 PowerShell 脚本来收集属性值。您必须在创建传感器之前或在脚本窗口中配置期间自己创建这些脚本。
每个脚本只包含一个传感器。如果脚本返回多个值,则 Workspace ONE Intelligence 和 Workspace ONE UEM 只会读取第一个值作为脚本的响应。如果脚本返回空值,则 Workspace ONE Intelligence 和 Workspace ONE UEM 不会报告传感器。
必备条件
如果要查看多台设备的传感器,并与报告和仪表板中的数据进行交互,您必须选择加入 Workspace ONE Intelligence。如果要查看单台设备的传感器数据,则无需使用 Workspace ONE Intelligence。转到设备的设备详细信息页面,然后选择传感器选项卡以查看数据。
过程
后续操作
创建传感器后,使用 Workspace ONE UEM 中的设备详细信息页面查看单台设备的数据,或转到 Workspace ONE Intelligence 以使用报告和仪表板与多台设备的数据进行交互。