Al crear un sensor, debe cargar un script de PowerShell o introducir los comandos de PowerShell en el cuadro de texto proporcionado durante la configuración. Estos comandos devuelven los valores de los atributos del sensor.

Ejemplos de scripts de PowerShell

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

Nota: 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 del sistema
    • Tipo de valor: fecha/hora
    • 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: administrador
      $obj = get-tpm
      echo $obj.TpmReady
  • Comprobar si TPM está bloqueado
    • Tipo de valor: booleano
    • Contexto de ejecución: administrador
      $obj = get-tpm
      echo $obj.LockedOut
  • Obtener tiempo de recuperación de TPM bloqueado
    • Tipo de valor: cadena
    • Contexto de ejecución: administrador
      $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 red
    • 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
    • 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: administrador
      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: administrador
      $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