Recopilar datos con sensores para dispositivos del escritorio de Windows

Los dispositivos de escritorio de Windows contienen numerosos atributos, como hardware, sistema operativo, certificados, revisiones, aplicaciones y mucho más. Gracias a los sensores, puede recopilar datos de estos atributos mediante Workspace ONE UEM Console. Muestre los datos en Workspace ONE Intelligence y en Workspace ONE UEM.

Función de Freestyle

Sensores es una función de Freestyle que está disponible para entornos de SaaS. Para obtener más información sobre Freestyle, acceda a Freestyle Orchestrator.

Se muestra Freestyle Orchestrator en UEM Console.

Descripción de los sensores

Los dispositivos tienen una enorme cantidad de atributos asociados. Este número aumenta al realizar el seguimiento de las diferentes aplicaciones, versiones del sistema operativo, revisiones y otras variables que cambian continuamente. Puede ser difícil realizar un seguimiento de todos estos atributos.

Workspace ONE UEM realiza un seguimiento de una cantidad limitada de atributos de dispositivo de forma predeterminada. No obstante, con los sensores es posible realizar un seguimiento de los atributos específicos del dispositivo que desee. Por ejemplo, puede crear un sensor que realice un seguimiento de los detalles del controlador del ratón, la información de garantía del sistema operativo y el valor del registro de las aplicaciones internas. Los sensores le permiten realizar un seguimiento de varios atributos en sus dispositivos. Busque los Sensores en la navegación principal de Workspace ONE UEM Console en Recursos.
Se muestra la ruta de acceso a Sensores.

Para trabajar con datos de sensores desde Workspace ONE UEM, puede utilizar Workspace ONE Intelligence. Workspace ONE Intelligence tiene paneles de control e informes donde puede ver y analizar los datos de los sensores. La transferencia de datos entre los dos sistemas se produce a través de HTTP seguro mediante SSL en el puerto 443.

Importante: No se permite que los sensores se asignen a dispositivos que sean propiedad de los empleados por motivos de privacidad.

Opciones de Workspace ONE UEM

Activadores de sensores

Al configurar los sensores, puede controlar el momento en el que el dispositivo devuelve los datos del sensor a Workspace ONE UEM Console mediante activadores. Puede programar estos activadores en función de la programación del muestreo de Windows o de eventos específicos de dispositivos, tales como iniciar sesión y cerrar sesión.

Scripts de PowerShell agregados

El script de PowerShell que se crea determina el valor de cada sensor.

Detalles del dispositivo > Sensores

Puede ver los datos de los dispositivos individuales en la pestaña Sensores de la página Detalles del dispositivo del dispositivo.

La configuración Estado del dispositivo debe estar habilitada en el centro de datos para que Workspace ONE UEM pueda mostrar los datos de los sensores para los dispositivos en la pestaña Sensores. Workspace ONE UEM habilita esta configuración para los clientes de SaaS.

Aviso: Workspace ONE UEM funciona en una solución para entornos locales, pero hasta que se crea esta solución, la pestaña Sensores no está disponible en Detalles del dispositivo para implementaciones locales.

Opciones de Workspace ONE Intelligence

Informes y paneles de control para analizar los datos

Si utiliza el servicio Workspace ONE Intelligence, puede ejecutar un informe o crear un panel de control para ver e interactuar con los datos de los sensores. Al ejecutar los informes, utilice la categoría Workspace ONE UEM, Sensores de dispositivos. Puede encontrar los sensores y seleccionarlos para consultas en informes y paneles de control.

RBAC para controlar el acceso a los datos

Para controlar quién tiene acceso a los sensores, utilice la función de control de acceso basado en funciones (RBAC) en Workspace ONE Intelligence. RBAC asigna permisos a los administradores, por lo que puede usarlos para evitar o permitir que usuarios específicos de Workspace ONE Intelligence accedan a los datos de los sensores.

Cifrado

Todos los datos en reposo se cifran en Workspace ONE Intelligence. Para obtener más información, consulte el contenido del centro de confianza de VMware Cloud. Este sitio cuenta con informes con detalles sobre los certificados de conformidad, CAIQ, SOC2, SOC3, y otras prácticas recomendadas de seguridad.

Utilizar Write-Ouput y no Write-Host en los scripts

La cadena Write-Host en un script escribe directamente en la pantalla y no informa sobre el resultado del sensor a Workspace ONE Intelligence. Sin embargo, la cadena Write-Output escribe en la canalización, por lo que debe usarla en lugar de Write-Host. Actualice los scripts aplicables a Write-Output o echo (echo es un alias para Write-Output).

Para obtener más información, acceda a los temas en Microsoft | Documentos para Write-Host y para Write-Output.

Ejemplo de un script que no funciona

  • Devuelve la zona horaria
  • Tipo de valor devuelto: Cadena
$os=Get-TimeZone
write-host $os
  • Write-Host no es el resultado del script, por lo que no hay resultado del script.
  • Write-Host escribe directamente en la "pantalla" y no en la canalización.

Ejemplo de un script que funciona

  • Devuelve la zona horaria
  • Tipo de valor devuelto: Cadena
$os=Get-TimeZone
write-output $os

Documentación de Workspace ONE Intelligence

Para obtener más información sobre cómo trabajar en Workspace ONE Intelligence, acceda a Productos de VMware Workspace ONE Intelligence.

Dispositivos de escritorio de Windows y datos de sensores

Los datos de los sensores no se almacenan localmente en dispositivos Windows. Un sensor ejecuta código de PowerShell que evalúa un atributo en un sistema y comunica dichos datos a Workspace ONE Intelligence. Tras realizar la evaluación y los informes, el proceso de PowerShell finaliza.

Ejemplos de scripts de PowerShell para sensores

Al crear sensores para dispositivos Windows, debe cargar un script de PowerShell o introducir los comandos de PowerShell en el cuadro de texto proporcionado durante la configuración en Workspace ONE UEM Console. Estos comandos devuelven los valores de los atributos del sensor.

Los siguientes ejemplos contienen los ajustes y el código necesarios. También puede visitar https://code.vmware.com/samples?id=4930 para ver más ejemplos de sensores.

Aviso: Cualquier sensor que devuelva un valor de tipo de datos de fecha y hora utiliza el formato ISO.

Comprobar batería restante

  • Tipo de valor: número entero
  • Contexto de ejecución: Usuario

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

Obtener número de serie

  • Tipo de valor: Cadena
  • Contexto de ejecución: Usuario

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

Obtener fecha de sistema

  • Tipo de valor: DateTime
  • Contexto de ejecución: Usuario

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

Comprobar si TPM está habilitado

  • Tipo de valor: Booleano
  • Contexto de ejecución: Administrator

    $obj = get-tpm
    echo $obj.TpmReady
    

Comprobar si TPM está bloqueado

  • Tipo de valor: Booleano
  • Contexto de ejecución: Administrator

    $obj = get-tpm
    echo $obj.LockedOut
    

Obtener tiempo de recuperación de TPM bloqueado

  • Tipo de valor: Cadena
  • Contexto de ejecución: Administrator

    $tpm=get-tpm
    echo $tpm.LockoutHealTime
    

Comprobar si SMBIOS está presente

  • Tipo de valor: Booleano
  • Contexto de ejecución: Usuario

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

Comprobar BIOSVersion de SMBIOS

  • Tipo de valor: Booleano
  • Contexto de ejecución: Usuario

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

Obtener versión de BIOS

  • Tipo de valor: Cadena
  • Contexto de ejecución: Usuario

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

Obtener estado de BIOS

  • Tipo de valor: Cadena
  • Contexto de ejecución: Usuario

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

Obtener promedio de uso de CPU (%)

  • Tipo de valor: Número entero
  • Contexto de ejecución: Usuario

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

Obtener promedio de uso de memoria

  • Tipo de valor: Número entero
  • Contexto de ejecución: Usuario

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

Obtener promedio de uso de memoria virtual

  • Tipo de valor: Número entero
  • Contexto de ejecución: Usuario

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

Obtener promedio de uso de redes

  • Tipo de valor: Número entero
  • Contexto de ejecución: Usuario

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

Obtener promedio de uso de memoria de un proceso

  • Tipo de valor: Cadena
  • Contexto de ejecución: Usuario

    $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)
    

Comprobar si un proceso se está ejecutando o no

  • Tipo de valor: Booleano
  • Contexto de ejecución: Usuario

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

Comprobar si el arranque seguro está habilitado

  • Tipo de valor: Booleano
  • Contexto de ejecución: Administrator

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

Interfaz de red activa

  • Tipo de valor: Cadena
  • Contexto de ejecución: Usuario

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

Comprobar la versión de PowerShell

  • Tipo de valor: Cadena
  • Contexto de ejecución: Usuario

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

Comprobar capacidad máxima de batería

  • Tipo de valor: Número entero
  • Contexto de ejecución: Usuario

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

Comprobar estado de carga de la batería

  • Tipo de valor: Cadena
  • Contexto de ejecución: Usuario

    $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"
    }
    

Perfil de administración de energía activo

  • Tipo de valor: Cadena
  • Contexto de ejecución: Administrator

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

Comprobar si la conexión inalámbrica está presente

  • Tipo de valor: Booleano
  • Contexto de ejecución: Usuario

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

Obtener versión de Java

  • Tipo de valor: Cadena
  • Contexto de ejecución: Usuario

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

Cómo crear un sensor para los dispositivos de escritorio de Windows

Cree sensores en Workspace ONE UEM Console para realizar un seguimiento de los atributos específicos del dispositivo, tales como la batería restante, la versión del sistema operativo o el uso medio de la CPU. Cada sensor incluye un script de código para recopilar los datos deseados. Puede cargar estos scripts o introducirlos directamente en la consola.

Los sensores utilizan scripts de PowerShell para recopilar valores de atributos. Debe crear estos scripts antes de crear un sensor o durante la configuración en la ventana de creación de scripts.

Cada script contiene solo un sensor. Si un script devuelve varios valores, Workspace ONE Intelligence y Workspace ONE UEM solo leen el primer valor como respuesta del script. Si un script devuelve un valor nulo, Workspace ONE Intelligence y Workspace ONE UEM no informan del sensor.

Requisitos previos

Si desea ver los sensores para varios dispositivos e interactuar con los datos en informes y paneles de control, necesitará Workspace ONE Intelligence. Si desea ver los datos de los sensores de un solo dispositivo, no necesitará Workspace ONE Intelligence. Vaya a la página Detalles del dispositivo del dispositivo y seleccione la pestaña Sensores para ver los datos.

Procedimiento

  1. Desplácese a Recursos > Sensores > Agregar.
    Muestra la ruta de navegación para agregar un sensor
  2. Seleccione Windows.
  3. Configure los ajustes del sensor en la pestaña General.
    • Nombre: introduzca un nombre para el sensor. El nombre debe comenzar con una letra minúscula seguida de caracteres alfanuméricos y guiones bajos. el nombre debe tener entre 2 y 64 caracteres. No utilice espacios en este elemento de menú.
    • Descripción: introduzca una descripción para el sensor.
  4. Seleccione Siguiente.
  5. Configure los ajustes de sensor para la pestaña Detalles.
    • Idioma: Workspace ONE UEM es compatible con PowerShell.
    • Contexto de educación: este ajuste controla si el script del sensor se ejecuta en un usuario o un contexto del sistema.
    • Arquitectura de ejecución: este ajuste controla si el script del sensor se ejecuta en un dispositivo basado en la arquitectura. Puede limitar el script para que se ejecute solo en dispositivos de 32 bits o de 64 bits, o para que se ejecute en función de la arquitectura del dispositivo. También puede forzar la ejecución del script como 32 bits independientemente del dispositivo.
    • Tipo de datos de respuesta: seleccione el tipo de respuesta al script para el sensor. Puede elegir entre:
      • Cadena
      • Número entero
      • Booleano
      • Fecha y hora
    • Comando del script: cargue un script para el sensor o escriba el suyo propio en el cuadro de texto proporcionado.
  6. Seleccione Guardar para asignar sus sensores más adelante, o bien seleccione Guardar y asignar para asignar los sensores a los dispositivos con grupos.
  7. Para continuar con la asignación, seleccione Agregar asignación.
  8. En la pestaña Definición, introduzca el Nombre de la asignación y utilice el elemento de menú Seleccionar grupo inteligente para seleccionar el grupo de dispositivos de los cuales desea recopilar los datos de los sensores.
  9. En la pestaña Implementación, seleccione el activador para que el sensor notifique el atributo del dispositivo. Puede seleccionar varios valores.

Pasos siguientes

Después de crear un sensor, utilice la página Detalles del dispositivo en Workspace ONE UEM para ver los datos de los dispositivos individuales o vaya a Workspace ONE Intelligence para usar informes y paneles de control para interactuar con los datos de varios dispositivos.

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