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