La Gestion de l'expérience (anciennement appelée DEEM) fonctionne sur vos terminaux Windows pour vous fournir des informations sur la santé de votre réseau. L'agent de Gestion de l'expérience pour Windows est intégré dans l'application Workspace ONE Intelligent Hub pour Windows. Ainsi, lorsque vous déployez et installez cette application sur des terminaux Windows gérés, vous pouvez utiliser la télémétrie Gestion de l'expérience pour Windows dans vos tableaux de bord et rapports Workspace ONE Intelligence.
Si vos terminaux n'envoient pas de données de télémétrie à Workspace ONE Intelligence pour la gestion de l'expérience, vous pouvez dépanner le système en vérifiant l'état de Workspace ONE Intelligent Hub et en consultant les fichiers journaux.
Vous n'avez pas besoin d'installer l'agent Gestion de l'expérience sur les terminaux Windows. L’agent Gestion de l'expérience pour Windows est installé avec le Workspace ONE Intelligent Hub pour Windows. Recherchez l'agent dans C:\Program Files\VMware\Endpoint Telemetry Service.
Pour résoudre les problèmes d'envoi de données à Workspace ONE Intelligence, vous devez vous assurer que Workspace ONE Intelligent Hub ou l'agent de Gestion de l'expérience pour Windows est en cours d'exécution sur le terminal Windows. L'agent de Gestion de l'expérience inclut deux services.
Nom du service | Nom complet du service |
---|---|
VMWOSQEXT | Télémétrie de l'expérience numérique VMware |
vmwetlm | Service de gestion de l'expérience VMware |
Démarrez l'application d'invite de commande en tant qu'administrateur et exécutez sc query vmwosqext
ou sc query vmwetlm
. Ces commandes affichent l'état du service de l'agent de télémétrie DEEM VMWOSQEXT ou vmwetlm.
La gestion de l'expérience crée des entrées de registre sous HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VMWOSQEXT et sous HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vmwetlm sur le terminal Windows. Ces registres fonctionnent à la fois pour Workspace ONE Intelligent Hub et pour l'agent de Gestion de l'expérience pour Windows.
tlmtool
) pour le dépannagePour faciliter le dépannage, l'agent de Gestion de l'expérience v22.6.0 et versions ultérieures est fourni avec un nouvel outil utilitaire appelé tlmtool
. Utilisez l'outil utilitaire pour définir des niveaux de journalisation, collecter des fichiers journaux et mettre en module les fichiers journaux.
L'outil utilitaire est installé sur le terminal dans le même répertoire que l'agent de Gestion de l'expérience pour Windows dans le dossier C:\Program Files\VMware\Endpoint Telemetry Service\Tools. Le chemin d'installation peut être récupéré à l'aide d'une clé de registre dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vmwetlm\ImagePath.
Exécutez tlmtool
en tant qu'administrateur et utilisez une stratégie d'exécution avec un script PowerShell. La commande PowerShell est Set-ExecutionPolicy
.
tlmtool <options> [arguments]
. tlmtool -setLogLevel Trace
.tlmtool
, entrez tlmtool -help
dans l'invite de commande.Option | Usage | Description |
---|---|---|
collectLog | -collectLog |
Collecte et regroupe les fichiers journaux et les stocke dans C:\Windows\Temp\Diagnostic par défaut. |
getDEEMManagementMode | -getDEEMManagementMode |
Récupère le système qui gère le système de Gestion de l'expérience : Workspace ONE UEM ou Horizon. |
getDEEMDisabled | -getDEEMDisabled |
Obtient l'état de la collecte et de l'envoi des données de Gestion de l'expérience tel que défini par l'outil utilitaire. - false : La Gestion de l'expérience collecte et envoie des données. - true : La Gestion de l'expérience ne collecte pas et n'envoie pas de données. |
aide | -help |
Affiche les informations d'aide de l'outil. |
resetAllLogSettings | -resetAllLogSettings |
Réinitialise tous les paramètres de journal par défaut, y compris le niveau de journalisation et les configurations. |
resetLogConfiguration | -resetLogConfiguration maxLogSize |
Réinitialise la taille maximale du fichier journal à la valeur par défaut de 1 Mo. |
-resetLogConfiguration maxTraceLogSize |
Réinitialise la taille maximale du fichier journal de trace à la valeur par défaut de 10 Mo. | |
-resetLogConfiguration maxLogFiles |
Réinitialise le nombre maximal de fichiers journaux historiques conservés à la valeur par défaut 10. | |
resetLogLevel | -resetLogLevel |
Réinitialise le niveau de journalisation aux paramètres par défaut. |
setDEEMDisabled | -setDEEMDisabled false |
Définit la Gestion de l'expérience pour continuer à collecter et à envoyer des données. |
-setDEEMDisabled true |
Empêche la Gestion de l'expérience de collecter et d'envoyer des données. Une stratégie d'administration peut annuler cette commande. Reportez-vous à la section Utiliser des objets de stratégie de groupe pour configurer la Gestion de l'expérience pour Windows. |
|
setDEEMManagementMode | -setDEEMManagementMode <uem> |
Définit Workspace ONE UEM pour gérer le service de Gestion de l'expérience. |
-setDEEMManagementMode <horizon> |
Définit Horizon pour gérer le service de Gestion de l'expérience. | |
setLogConfiguration | -setLogConfiguration maxLogSize <1..50> |
Définit la taille maximale d'un fichier journal en Mo ; la plage est entre 1 et 50. |
-setLogConfiguration maxTraceLogSize <1..50> |
Définit la taille maximale d'un fichier journal de trace en Mo ; la plage est entre 1 et 50. | |
-setLogConfiguration maxLogFiles <1..30> |
Définit le nombre maximal de fichiers journaux historiques conservés ; la plage est entre 1 et 30. | |
setLogLevel | -setLogLevel <Error\Info\Debug\Trace> |
Définit le niveau de journal sur <Error\Info\Debug\Trace> . |
tlmtool
tlmtool -setLogLevel Trace
sans redémarrer le service.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"
Pour générer des mesures de la gestion de l'expérience supplémentaires autour de l'expérience d'ouverture/de fermeture de session Windows dans le score de l'expérience utilisateur, activez les stratégies d'audit avancées répertoriées sur les terminaux Windows applicables.
Vous pouvez activer ces stratégies sur la machine Windows à l'aide du processus répertorié.
Si vous souhaitez utiliser un fichier CMD (fichier de lot) pour activer les stratégies d'audit avancées, le code répertorié met à jour les GPO applicables.
@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
Une autre méthode d'activation des stratégies d'audit avancées consiste à utiliser des lignes de base. Les lignes de base sont des paramètres organisés qui sont regroupés pour optimiser les configurations Windows. Le processus répertorié décrit les étapes générales d'activation des stratégies d'audit avancées. Pour plus d'informations sur les lignes de base, consultez la section Utilisation de lignes de base.
Si vous ne souhaitez pas utiliser des GPO, un fichier CMD ou des lignes de base, vous pouvez également utiliser des commandes PowerShell pour activer des stratégies d'audit pour les données d'expérience d'ouverture/fermeture de session Windows.
$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
Utilisez des objets de stratégie de groupe pour configurer l'agent de Gestion de l'expérience.
Par exemple, vous pouvez utiliser des objets de stratégie de groupe pour configurer l'agent de Gestion de l'expérience lorsque vous ne souhaitez pas collecter de télémétrie à partir des terminaux de vos utilisateurs. Pour contrôler la collecte de la télémétrie de Gestion de l'expérience sur des machines Windows locales, utilisez des objets de stratégie de groupe (GPO) personnalisés inclus dans le fichier ADMX de la Gestion de l'expérience pour Windows, vmw_etlm.admx
.
Recherchez et téléchargez le fichier de modèle sous la forme d'un fichier ZIP à partir de My Workspace ONE. Vous devez copier le fichier sur votre serveur Active Directory et utiliser l'Éditeur de gestion de stratégie de groupe pour ajouter les modèles d'administration.
Paramètre de GPO | Description |
---|---|
Autoriser la désactivation locale | Détermine si la désactivation locale à l'aide de l'outil utilitaire tlmtool sur le terminal de l'utilisateur est autorisée. Lorsque cette option est définie sur Activée, la désactivation locale à l'aide de l'outil utilitaire tlmtool est autorisée. Lorsque cette option est définie sur Désactivée, la désactivation par l'outil utilitaire n'a aucun effet. Si vous ne configurez pas cette stratégie, la désactivation locale est autorisée. |
Désactiver DEEM | Détermine si la Gestion de l'expérience peut être désactivée par une stratégie d'administration (GPO). Lorsque cette option est définie sur Activé, la Gestion de l'expérience cesse de collecter et d'envoyer des données de télémétrie depuis le terminal de l'utilisateur. Si vous définissez ce paramètre de stratégie sur Désactivé ou si vous ne configurez pas ce paramètre de stratégie, quelqu'un peut toujours désactiver la Gestion de l'expérience localement, en fonction du paramètre de stratégie Autoriser la désactivation locale. |
Mode de gestion | Détermine la solution qui gère l'intégration de Gestion de l'expérience : Workspace ONE UEM ou Horizon. Le gestionnaire par défaut est Workspace ONE UEM. Utilisez la GPO pour remplacer la valeur par défaut. |
Configuration du proxy | Ces paramètres de stratégie configurent la configuration du serveur proxy utilisée par les postes de travail Horizon lors de l'envoi de données au service Intelligence. Lorsque vous sélectionnez le paramètre de proxy Auto, le système détecte automatiquement la configuration du proxy avec des protocoles tels que WPAD (Web Proxy Auto-Discovery Protocol) et DHCP (Dynamic Host Configuration Protocol). Lorsque vous sélectionnez le paramètre de proxy Script, le système utilise l'Adresse du script pour récupérer un script de configuration de proxy. L'Adresse du script peut être une URL ou un emplacement URN standard. Par exemple, il peut s'agir d'un fichier sur le disque local ou distant, \\server\share\script.pac .Lorsque vous sélectionnez le paramètre de proxy Statique, l'URL du proxy statique spécifie le proxy à utiliser. L'URL peut inclure un port. Si vous désactivez ou ne configurez pas cette stratégie, le système n'utilise pas de proxy. |
Contrôlez la collecte des données de Gestion de l'expérience à l'aide de modèles d'administration et de GPO ou de l'outil utilitaire (tlmtool
).
La possibilité de contrôler la Gestion de l'expérience sur des machines Windows locales est utile dans plusieurs scénarios.
Pour comprendre comment les GPO et l'outil utilitaire fonctionnent ensemble dans la désactivation de la Gestion de l'expérience, commencez par le paramètre de GPO Désactiver DEEM et parcourez le diagramme de flux pour voir quels paramètres l'activent et quels paramètres le désactivent.
Installez le modèle d'administration qui inclut les GPO personnalisées et configurez-les.
Contrôlez la Gestion de l'expérience lors de la collecte et de l'envoi de données à l'aide de la ligne de commande.
-setDEEMDisabled <value>
pour contrôler la collecte et l'envoi de données de Gestion de l'expérience via l'outil utilitaire.
-setDEEMDisabled false
: La Gestion de l'expérience continue de collecter et d'envoyer des données.-setDEEMDisabled true
: La Gestion de l'expérience cesse de collecter et d'envoyer des données.-getDEEMDisabled
pour afficher l'état de la Gestion de l'expérience.
false
: La Gestion de l'expérience collecte et envoie des données.true
: La Gestion de l'expérience ne collecte pas et n'envoie pas de données.Utilisez des scripts pour contrôler (activer ou désactiver) à distance la Gestion de l'expérience sur les terminaux Windows et utilisez des capteurs pour récupérer à distance l'état actuel de la Gestion de l'expérience sur les terminaux Windows.
Vous pouvez décider de désactiver la Gestion de l'expérience dans divers scénarios.
Respectez les conditions requises répertoriées pour utiliser des scripts et des capteurs pour contrôler la Gestion de l'expérience.
Utilisez ce script pour activer ou désactiver la Gestion de l'expérience.
# 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
}
Utilisez ce capteur pour renvoyer l'état de la Gestion de l'expérience sur le terminal.
# 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."
}
Utilisez ce capteur pour renvoyer la version de la Gestion de l'expérience sur le terminal.
# 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"
}