Experience Management (früher bekannt als DEEM) funktioniert auf Ihren Windows-Geräten, um Ihnen Einblicke in Ihre Netzwerkintegrität zu bieten. Der Experience Management-Agent für Windows ist in den Workspace ONE Intelligent-Hub für Windows-App eingebettet. Wenn Sie also diese App auf verwalteten Windows-Geräten bereitstellen und installieren, können Sie die Experience Management-Telemetrie für Windows in Ihren Workspace ONE Intelligence-Dashboards und -Berichten verwenden.
Wenn Ihre Geräte keine Telemetriedaten an Workspace ONE Intelligence für Experience Management senden, können Sie eine Fehlerbehebung für das System durchführen. Überprüfen Sie dazu den Status von Workspace ONE Intelligent Hub und die Protokolldateien.
Nein, Sie müssen keinen Experience Management-Agent auf Windows-Geräten installieren. Der Experience Management-Agent für Windows wird mit Workspace ONE Intelligent Hub für Windows installiert. Suchen Sie den Agenten in C:\Programme\VMware\Endpoint Telemetry Service.
Eine Möglichkeit, Probleme beim Versenden von Daten an Workspace ONE Intelligence zu beheben, besteht darin, sich zu vergewissern, dass Workspace ONE Intelligent Hub oder der Experience Management-Agent für Windows auf dem Windows-Gerät ausgeführt wird. Der Experience Management-Agent umfasst zwei Dienste.
Dienstname | Anzeigename des Diensts |
---|---|
VMWOSQEXT | VMware-Digital-Experience-Telemetrie |
vmwetlm | VMware-Experience-Management-Dienst |
Starten Sie die Eingabeaufforderungs-App als Administrator und führen Sie sc query vmwosqext
oder sc query vmwetlm
aus. Diese Befehle zeigen den Status des DEEM-Telemetrie-Agent-Diensts als VMWOSQEXT oder vmwetlm an.
Experience Management erstellt auf dem Windows-Gerät Registrierungseinträge unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VMWOSQEXT und unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vmwetlm. Diese Registrierungen funktionieren unter Windows sowohl für Workspace ONE Intelligent Hub als auch für den Experience Management-Agent.
tlmtool
) zur FehlerbehebungUm die Fehlerbehebung zu vereinfachen, wird für den Experience Management-Agent v22.6.0 und höher ein neues Dienstprogramm namens tlmtool
bereitgestellt. Verwenden Sie das Dienstprogramm, um Protokollebenen einzustellen sowie Protokolldateien zu sammeln und zu packen.
Das Dienstprogramm wird auf dem Gerät im selben Ordner wie der Experience Management-Agent für Windows installiert, nämlich unter C:\Programme\VMware\Endpoint Telemetry Service\Tools. Der Installationspfad ist in einem Registryschlüssel unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vmwetlm\ImagePath gespeichert.
Starten Sie tlmtool
als Administrator und verwenden Sie eine Ausführungsrichtlinie mit einem PowerShell-Skript. Der PowerShell-Befehl lautet Set-ExecutionPolicy
.
tlmtool <options> [arguments]
tlmtool -setLogLevel Trace
.tlmtool
unterstützte Befehlsoptionen anzuzeigen, geben Sie in der Eingabeaufforderungtlmtool -help
ein.Option | Nutzung | Beschreibung |
---|---|---|
collectLog | -collectLog |
Erfasst und verpackt die Protokolldateien und speichert sie standardmäßig in C:\Windows\Temp\Diagnostic. |
getDEEMManagementMode | -getDEEMManagementMode |
Ruft ab, welches System das Experience Management-System verwaltet: Workspace ONE UEM oder Horizon. |
getDEEMDisabled | -getDEEMDisabled |
Ruft den Status des Erfassens und Sendens von Experience Management-Daten ab, wie vom Dienstprogramm festgelegt. - false : Experience Management erfasst und sendet Daten. true : Experience Management erfasst und sendet keine Daten. |
Hilfe | -help |
Zeigt die Hilfeinformationen für das Tool an. |
resetAllLogSettings | -resetAllLogSettings |
Setzt alle Protokolleinstellungen auf Standardwerte zurück, einschließlich Protokollebene und Konfigurationen. |
resetLogConfiguration | -resetLogConfiguration maxLogSize |
Setzt die maximale Größe der Protokolldatei auf den Standardwert von 1 MB zurück. |
-resetLogConfiguration maxTraceLogSize |
Setzt die maximale Größe der Ablauf-Protokolldatei auf die Standardgröße von 10 MB zurück. | |
-resetLogConfiguration maxLogFiles |
Setzt die maximale Anzahl der Verlaufsprotokolldateien auf den Standardwert von 10 zurück. | |
resetLogLevel | -resetLogLevel |
Setzt die Protokollebene auf die Standardeinstellungen zurück. |
setDEEMDisabled | -setDEEMDisabled false |
Legt Experience Management so fest, dass weiterhin Daten erfasst und gesendet werden. |
-setDEEMDisabled true |
Verhindert, dass das Experience Management Daten erfasst und sendet. Eine administrative Richtlinie kann diesen Befehl aufheben. Weitere Informationen finden Sie im Abschnitt Verwenden von Gruppenrichtlinienobjekten zum Konfigurieren von Experience Management für Windows. |
|
setDEEMManagementMode | -setDEEMManagementMode <uem> |
Legt Workspace ONE UEM für die Verwaltung des Experience Management-Diensts fest. |
-setDEEMManagementMode <horizon> |
Legt Horizon für die Verwaltung des Experience Management-Diensts fest. | |
setLogConfiguration | -setLogConfiguration maxLogSize <1..50> |
Legt die maximale Größe einer Protokolldatei in MB fest. Der Bereich liegt zwischen 1 und 50. |
-setLogConfiguration maxTraceLogSize <1..50> |
Legt die maximale Größe einer Ablaufverfolgungsprotokolldatei in MB fest. Der Bereich liegt zwischen 1 und 50. | |
-setLogConfiguration maxLogFiles <1..30> |
Legt die maximale Anzahl der aufbewahrten Verlaufsprotokolldateien fest. Der Bereich liegt zwischen 1 und 30. | |
setLogLevel | -setLogLevel <Error\Info\Debug\Trace> |
Setzen Sie die Protokollierungsebene auf <Error\Info\Debug\Trace> . |
tlmtool
-Befehl tlmtool -setLogLevel Trace
ausführen, ohne den Dienst neu zu starten.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VMWOSQEXT\ImagePath = “"C:\Program Files (x86)\Airwatch\AgentUI\Telemetry\vmwosqext.exe" --service --osq_named_pipe=vmwosqext.em --logger_min_status=0 --vmw_windows_log_verbose”
HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Endpoint Telemetry\Service\Config\Log\LogLevel="Trace"
Wenn Sie zusätzliche Experience Management-Metriken zur Anmelde-/Abmeldeerfahrung unter Windows in die Bewertung der Benutzererfahrung einfließen lassen möchten, aktivieren Sie die aufgeführten erweiterten Überwachungsrichtlinien auf den entsprechenden Windows-Geräten.
Sie können diese Richtlinien auf dem Windows-Computer mithilfe des aufgeführten Prozesses aktivieren.
Für die Verwendung einer CMD-Datei (Batch-Datei) zum Aktivieren erweiterter Überwachungsrichtlinien aktualisiert der aufgelistete Code die entsprechenden Gruppenrichtlinienobjekte (Group Policy Object, GPO).
@echo off
echo "Machine Name,Policy Target,Subcategory,Subcategory GUID,Inclusion Setting,Exclusion Setting,Setting Value" >audit_policy.csv
echo ",System,Audit Logoff,{0cce9216-69ae-11d9-bed3-505054503030},Success and Failure,,3" >>audit_policy.csv
echo ",System,Audit Logon,{0cce9215-69ae-11d9-bed3-505054503030},Success and Failure,,3" >>audit_policy.csv
echo ",System,Audit Other Logon/Logoff Events,{0cce921c-69ae-11d9-bed3-505054503030},Success and Failure,,3" >>audit_policy.csv
auditpol.exe /restore /file:audit_policy.csv
del /f audit_policy.csv
Außerdem können die erweiterten Überwachungsrichtlinien mit Baselines aktiviert werden. Baselines sind kuratierte Einstellungen, die in Gruppen zusammengefasst sind, um Windows-Konfigurationen zu optimieren. Der aufgelistete Prozess beschreibt die allgemeinen Schritte zum Aktivieren der erweiterten Überwachungsrichtlinien. Weitere Informationen zu Baselines finden Sie unter Verwenden von Baselines.
Wenn Sie keine GPOs, eine CMD-Datei oder Baselines verwenden möchten, können Sie auch Mithilfe von PowerShell-Befehlen Überwachungsrichtlinien für Windows Anmelde-/Abmeldeerfahrungsdaten aktivieren.
$host.UI.RawUI.BufferSize = New-Object Management.Automation.Host.Size (500, $host.UI.RawUI.BufferSize.Height)
$ProgressPreference = 'SilentlyContinue'
$csvContent = @"
"Machine Name,Policy Target,Subcategory,Subcategory GUID,Inclusion Setting,Exclusion Setting,Setting Value"
",System,Audit Logoff,{0cce9216-69ae-11d9-bed3-505054503030},Success and Failure,,3"
",System,Audit Logon,{0cce9215-69ae-11d9-bed3-505054503030},Success and Failure,,3"
",System,Audit Other Logon/Logoff Events,{0cce921c-69ae-11d9-bed3-505054503030},Success and Failure,,3"
"@`
$csvContent | Out-File -FilePath "audit_policy.csv" -Encoding ASCII
& auditpol.exe /restore /file:audit_policy.csv
Remove-Item -Path "audit_policy.csv" -Force
Verwenden Sie Gruppenrichtlinienobjekte, um den Experience Management-Agent zu konfigurieren.
Sie können beispielsweise Gruppenrichtlinienobjekte verwenden, um den Experience Management-Agent zu konfigurieren, wenn Sie keine Telemetrie von den Geräten Ihrer Benutzer erfassen möchten. Um die Erfassung von Experience Management-Telemetrie auf lokalen Windows-Maschinen zu steuern, verwenden Sie benutzerdefinierte Gruppenrichtlinienobjekte (GPOs), die in der ADMX-Vorlagendatei von Experience Management für Windows vmw_etlm.admx
enthalten sind.
Suchen Sie die Vorlagendatei und laden Sie sie als ZIP-Datei von My Workspace ONE herunter. Sie müssen die Datei auf Ihren Active Directory-Server kopieren und die administrativen Vorlagen mithilfe des Editors für die Gruppenrichtlinienverwaltung hinzufügen.
GPO-Einstellung | Beschreibung |
---|---|
Lokale Deaktivierung zulassen | Legt fest, ob die lokale Deaktivierung mithilfe des Dienstprogramms tlmtool auf dem Gerät des Benutzers zulässig ist. Wenn der Wert auf Enabled festgelegt ist, ist die lokale Deaktivierung mithilfe des Dienstprogramms tlmtool zulässig. Wenn sie auf Disabled festgelegt ist, hat die Deaktivierung durch das Dienstprogrammtool keine Auswirkungen. Wenn Sie diese Richtlinie nicht konfigurieren, ist die lokale Deaktivierung zulässig. |
DEEM deaktivieren | Legt fest, ob Experience Management durch administrative Richtlinien (GPOs) deaktiviert werden kann. Wenn die Option auf Enabled festgelegt ist, stoppt Experience Management die Erfassung und das Senden von Telemetriedaten vom Gerät des Benutzers. Wenn Sie diese Richtlinieneinstellung auf Disabled festlegen oder wenn Sie diese Richtlinieneinstellung nicht konfigurieren, lässt sich abhängig von der Richtlinieneinstellung Lokale Deaktivierung zulassen weiterhin die Benutzererfahrungsverwaltung lokal deaktivieren. |
Verwaltungsmodus | Legt die Lösung fest, die die Experience Management-Integration verwaltet: Workspace ONE UEM oder Horizon. Der Standardmanager ist Workspace ONE UEM. Verwenden Sie das GPO, um die Standardeinstellung zu überschreiben. |
Proxy-Konfiguration | Diese Richtlinieneinstellungen konfigurieren die Proxy-Server-Konfiguration, die von Horizon-Desktops beim Senden von Daten an den Intelligence-Dienst verwendet wird. Wenn Sie die Proxy-Einstellung Auto auswählen, erkennt das System automatisch die Proxy-Konfiguration mit Protokollen wie WPAD (Web Proxy Auto-Discovery Protocol) und DHCP (Dynamic Host Configuration Protocol). Wenn Sie die Proxy-Einstellung Script auswählen, verwendet das System die Script-Adresse zum Abrufen eines Proxy-Konfigurationsskripts. Die Script-Adresse kann eine URL oder ein Standard-URN-Speicherort sein. Beispielsweise kann es sich um eine Datei auf der lokalen oder einer Remotefestplatte handeln: \\server\share\script.pac . Wenn Sie die Proxy-Einstellung Static auswählen, gibt die Static Proxy URL den zu verwendenden Proxy an. Die URL kann einen Port enthalten. Wenn Sie diese Richtlinie deaktivieren oder nicht konfigurieren, verwendet das System keinen Proxy. |
Steuern Sie die Erfassung von Experience Management-Daten mithilfe administrativer Vorlagen und GPOs oder des Dienstprogramms (tlmtool
).
Die Möglichkeit, Experience Management auf lokalen Windows-Maschinen zu steuern, ist in mehreren Szenarien hilfreich.
Um zu verstehen, wie GPOs und das Dienstprogramm bei der Deaktivierung von Experience Management zusammenarbeiten, beginnen Sie mit der GPO-Einstellung DEEM deaktivieren und gehen Sie das Flussdiagramm durch, um zu sehen, welche Einstellungen Experience Management aktivieren und welche Einstellungen es deaktivieren.
Installieren Sie die administrative Vorlage, die die benutzerdefinierten GPOs enthält, und konfigurieren Sie sie.
Steuern Sie über die Befehlszeile, ob Experience Management Daten erfasst und sendet.
-setDEEMDisabled <value>
, um die Erfassung und das Senden von Experience Management-Daten über das Dienstprogramm zu steuern.
-setDEEMDisabled false
: Experience Management erfasst und sendet weiterhin Daten.-setDEEMDisabled true
: Experience Management beendet das Erfassen und Senden von Daten.-getDEEMDisabled
verwenden, um den Status von Experience Management anzuzeigen.
false
: Experience Management erfasst und sendet Daten.true
: Experience Management erfasst und sendet keine Daten.Verwenden Sie Skripte, um Experience Management auf Windows-Geräten remote zu steuern (zu aktivieren oder zu deaktivieren), und verwenden Sie Sensoren, um den aktuellen Status von Experience Management auf Windows-Geräten remote abzurufen.
Möglicherweise müssen Sie Experience Management in verschiedenen Szenarien deaktivieren.
Erfüllen Sie die aufgeführten Anforderungen für die Verwendung von Skripts und Sensoren zur Steuerung von Experience Management.
Verwenden Sie dieses Skript, um Experience Management zu aktivieren oder zu deaktivieren.
# Set the $deemDisabled value. $True will Disable DEEM, $False will Enable DEEM
$deemDisabled = $true
# Define the log file path
$logFilePath = "C:\ProgramData\AirWatch\UnifiedAgent\Logs\DEEMstatus.log"
# Function to check and truncate the log file if it exceeds 1MB
function CheckAndTruncateLogFile {
if (Test-Path $logFilePath) {
$file = Get-Item $logFilePath
$fileSizeMB = $file.Length / 1MB
if ($fileSizeMB -gt 1) {
Clear-Content $logFilePath
}
}
}
# Function to log and write a message
function LogAndWriteMessage {
# Arguments
$message = $args[0]
$addSeparator = $false
if ($args.Length -gt 1) {
$addSeparator = $args[1]
}
CheckAndTruncateLogFile
$separator = if ($addSeparator) { "`r`n" + ("*" * 50) + "`r`n" } else { "" }
$finalMessage = "$message$separator"
$finalMessage | Out-File -FilePath $logFilePath -Append
Write-Host $finalMessage
}
# Full path to tlmtool.exe
$tlmToolPath = "C:\Program Files\VMware\Endpoint Telemetry Service\Tools\tlmtool.exe"
# Check if tlmtool.exe exists
if (-not (Test-Path $tlmToolPath)) {
LogAndWriteMessage "The file $tlmToolPath does not exist."
return
}
# Log the user running the script
$currentUsername = whoami
LogAndWriteMessage "Script is being run by user: $currentUsername"
# Run tlmtool.exe with the specified parameters and log the output
& $tlmToolPath -setDEEMDisabled $deemDisabled | Out-File -FilePath $logFilePath -Append
# Determine the expected status and startup type based on $deemDisabled
$expectedStatus = if ($deemDisabled -eq $true) { 'Stopped' } else { 'Running' }
$startupType = if ($deemDisabled -eq $true) { 'Disabled' } else { 'Automatic' }
# Initialize counter for service status check loop
$retryCount = 0
$maxRetries = 6 # Up to 60 seconds wait (6 retries * 10 seconds each)
# Loop to update the service and check the status
do {
# Update the service status and startup type
if ($deemDisabled -eq $true) {
Stop-Service -Name "VMWOSQEXT" -ErrorAction SilentlyContinue
Set-Service -Name "VMWOSQEXT" -StartupType Disabled
} elseif ($deemDisabled -eq $false) {
Start-Service -Name "VMWOSQEXT" -ErrorAction SilentlyContinue
Set-Service -Name "VMWOSQEXT" -StartupType Automatic
}
Start-Sleep -Seconds 10
$currentStatus = (Get-Service -Name "VMWOSQEXT").Status
LogAndWriteMessage "Checking VMWOSQEXT service status: $currentStatus. Expected: $expectedStatus. Attempt: $($retryCount + 1)"
$retryCount++
} while ($currentStatus -ne $expectedStatus -and $retryCount -lt $maxRetries)
# Verify final status of the service and the registry key value
$deemRegKeyPath = "HKLM:\SOFTWARE\VMware, Inc.\VMware Endpoint Telemetry\DEEM"
$deemRegValName = "Disabled"
$deemRegVal = (Get-ItemProperty -Path $deemRegKeyPath -Name $deemRegValName -ErrorAction SilentlyContinue).$deemRegValName
# Convert registry value to a boolean for comparison
$registryValueAsBool = [System.Boolean]::Parse($deemRegVal)
if ($currentStatus -eq $expectedStatus) {
if (($registryValueAsBool -and $deemDisabled -eq $true) -or (-not $registryValueAsBool -and $deemDisabled -eq $false)) {
$deemState = if ($deemDisabled -eq $true) { "Disabled" } else { "Enabled" }
LogAndWriteMessage "Service VMWOSQEXT is in the expected state: $expectedStatus and DEEM is $deemState." $true
} else {
LogAndWriteMessage "Warning: Service VMWOSQEXT is in the expected state, but DEEM registry key value does not match the expected configuration." $true
}
} else {
LogAndWriteMessage "Warning: Service VMWOSQEXT did not reach the expected state ($expectedStatus) after $($retryCount * 10) seconds." $true
}
Verwenden Sie diesen Sensor, um den Status von Experience Management auf dem Gerät zurückzugeben.
# Define the service and registry path
$serviceName = "VMWOSQEXT"
# Get the service status
$service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue
#DEEM registry path
$registryPath = "HKLM:\SOFTWARE\VMware, Inc.\VMware Endpoint Telemetry\DEEM"
# Get the DEEM status value
$registryValue = Get-ItemProperty -Path $registryPath -Name Disabled -ErrorAction SilentlyContinue
# Check if the service and registry key exist
if ($service -eq $null) {
Write-Host "Service $serviceName not found."
#exit
}
if (-not (Test-Path $registryPath)) {
Write-Host "Registry path $registryPath not found."
#exit
}
# Check the DEEM status conditions and return the appropriate message
if ($service.Status -eq 'Running' -and $service.StartType -eq 'Automatic' -and $registryValue.Disabled -eq $false) {
"DEEM is enabled"
} elseif ($service.Status -eq 'Stopped' -and $service.StartType -eq 'Disabled' -and $registryValue.Disabled -eq $true) {
"DEEM is disabled"
} else {
"DEEM status is in an unknown state."
}
Verwenden Sie diesen Sensor, um die Version von Experience Management auf dem Gerät zurückzugeben.
# Define the registry path
$registryPath = "HKLM:\SOFTWARE\VMware, Inc.\VMware Endpoint Telemetry\Service\Version"
# Check if the registry key exists
if ($registryPath) {
# Retrieve the value data if the key exists
$versionData = Get-ItemPropertyValue -Path $registryPath -Name "VMware DEEM for Intelligent Hub" -ErrorAction SilentlyContinue
if ($versionData) {
# Output the value data
Return $versionData
} else {
# Output if the specific value does not exist under the key
Return "Value 'VMware DEEM for Intelligent Hub' does not exist in the key."
}
} else {
# Output if the registry key does not exist
Return "DEEM version key does not exist"
}