Wenn Sie Sensoren für Windows 10-Geräte erstellen, müssen Sie ein PowerShell-Skript hochladen oder PowerShell-Befehle in das Textfeld eingeben, das während der Konfiguration in Workspace ONE UEM Console bereitgestellt wurde. Diese Befehle geben die Werte für die Sensorattribute zurück.

PowerShell-Skriptbeispiele

Die folgenden Beispiele enthalten die erforderlichen Einstellungen und den Code. Sie können auch https://code.vmware.com/samples?id=4930 besuchen, um weitere Sensoren-Beispiele zu erhalten.

Hinweis: Jeder Sensor, der einen Wert des Typs „Datum/Uhrzeit“ zurückgibt, verwendet das ISO-Format.
  • Verbleibende Akkukapazität überprüfen
    • Werttyp: Integer
    • Ausführungskontext: Benutzer
      $battery_remain=(Get-WmiObject win32_battery).estimatedChargeRemaining |
      Measure-Object -Average | Select-Object -ExpandProperty Averageecho $battery_remain
  • Seriennummer abrufen
    • Werttyp: Zeichenfolge
    • Ausführungskontext: Benutzer
      $os=Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
      echo $os.SerialNumber
  • Systemdatum abrufen
    • Werttyp: Datum/Uhrzeit
    • Ausführungskontext: Benutzer
      $date_current = get-Date -format s -DisplayHint Date
      echo $date_current
  • Überprüfen, ob TPM aktiviert ist
    • Werttyp: Boolesch
    • Ausführungskontext: Administrator
      $obj = get-tpm
      echo $obj.TpmReady
  • Überprüfen, ob TPM gesperrt ist
    • Werttyp: Boolesch
    • Ausführungskontext: Administrator
      $obj = get-tpm
      echo $obj.LockedOut
  • Reparaturzeit für TPM-Sperrung abrufen
    • Werttyp: Zeichenfolge
    • Ausführungskontext: Administrator
      $tpm=get-tpm
      echo $tpm.LockoutHealTime
  • Überprüfen, ob SMBIOS vorhanden ist
    • Werttyp: Boolesch
    • Ausführungskontext: Benutzer
      $os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
      echo $os.SMBIOSPresent
  • BIOS-Version von SMBIOS überprüfen
    • Werttyp: Boolesch
    • Ausführungskontext: Benutzer
      $os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
      echo $os.SMBIOSBIOSVersion
  • BIOS-Version abrufen
    • Werttyp: Zeichenfolge
    • Ausführungskontext: Benutzer
      $os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
      echo $os.Version
  • BIOS-Status abrufen
    • Werttyp: Zeichenfolge
    • Ausführungskontext: Benutzer
      $os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
      echo $os.Status
  • Durchschnittliche CPU-Auslastung (%) abrufen
    • Werttyp: Integer
    • Ausführungskontext: Benutzer
      cpu_usage= Get-WmiObject win32_processor | Select-Object -ExpandProperty LoadPercentage
      echo $cpu_usage
  • Durchschnittliche Arbeitsspeichernutzung abrufen
    • Werttyp: Integer
    • Ausführungskontext: Benutzer
      $os = Get-WmiObject win32_OperatingSystem
      $used_memory = $os.totalvisiblememorysize - $os.freephysicalmemory
      echo $used_memory
  • Durchschnittliche Nutzung des virtuellen Arbeitsspeichers abrufen
    • Werttyp: Integer
    • Ausführungskontext: Benutzer
      $os = Get-WmiObject win32_OperatingSystem
      $used_memory = $os.totalvirtualmemorysize - $os.freevirtualmemory
      echo $used_memory
  • Durchschnittliche Netzwerknutzung abrufen
    • Werttyp: Integer
    • Ausführungskontext: Benutzer
      $Total_bytes=Get-WmiObject -class Win32_PerfFormattedData_Tcpip_NetworkInterface
      |Measure-Object -property BytesTotalPersec -Average |Select-Object -ExpandProperty Average
      echo ([System.Math]::Round($Total_bytes))
  • Durchschnittliche Arbeitsspeichernutzung für einen Prozess abrufen
    • Werttyp: Zeichenfolge
    • Ausführungskontext: Benutzer
      $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)
  • Überprüfen, ob ein Prozess ausgeführt wird oder nicht
    • Werttyp: Boolesch
    • Ausführungskontext: Benutzer
       $chrome = Get-Process chrome -ea SilentlyContinue
      			if($chrome){
      				echo $true
      				}
      			else{
      				echo $false
      				}
  • Überprüfen, ob der sichere Start aktiviert ist
    • Werttyp: Boolesch
    • Ausführungskontext: Administrator
      try { $bios=Confirm-SecureBootUEFI }
      catch { $false }
      echo $bios
  • Aktive Netzwerkschnittstelle
    • Werttyp: Zeichenfolge
    • Ausführungskontext: Benutzer
      $properties = @(‘Name’,’InterfaceDescription’)
      $physical_adapter = get-netadapter -physical | where status -eq "up" 
      |select-object -Property $properties
      echo $physical_adapter
  • PowerShell-Version überprüfen
    • Werttyp: Zeichenfolge
    • Ausführungskontext: Benutzer
      $x = $PSVersionTable.PSVersion
      echo "$($x.Major).$($x.Minor).$($x.Build).$($x.Revision)"
  • Maximale Kapazität des Akkus überprüfen
    • Werttyp: Integer
    • Ausführungskontext: Benutzer
      $max_capacity = (Get-WmiObject -Class "BatteryFullChargedCapacity" -Namespace "ROOT\WMI").FullChargedCapacity | Measure-Object -Sum | 
      Select-Object -ExpandProperty Sum
      echo $max_capacity
  • Akkuladezustand überprüfen
    • Werttyp: Zeichenfolge
    • Ausführungskontext: Benutzer
      $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"
      }
  • Profil „Aktive Energieverwaltung“
    • Werttyp: Zeichenfolge
    • Ausführungskontext: Administrator
      $plan = Get-WmiObject -Class win32_powerplan -Namespace root\cimv2\power 
      -Filter "isActive='true'" 
      echo $plan
  • Überprüfen, ob Wireless vorhanden ist
    • Werttyp: Boolesch
    • Ausführungskontext: Benutzer
      $wireless = Get-WmiObject -class Win32_NetworkAdapter -filter "netconnectionid like 'Wi-Fi%'"
      	if($wireless){echo $true}
      	else {echo $false}
  • Java-Version abrufen
    • Werttyp: Zeichenfolge
    • Ausführungskontext: Benutzer
      $java_ver = cmd.exe /c "java -version" '2>&1'
      echo $java_ver