Gestion de l'expérience pour Windows

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.

Installation et dépannage sur Windows

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.

Devez-vous installer un agent de la gestion de l'expérience distinct pour les terminaux Windows ?

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.

Comment vérifier si Workspace ONE Intelligent Hub est en cours d'exécution ?

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.

Quels sont les paramètres de registre utilisés par la gestion de l'expérience ?

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.

Outil utilitaire (tlmtool) pour le dépannage

Pour 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.

Comment exécuter l'outil utilitaire ?

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.

  1. Exécutez l'application Command Prompt en tant qu'administrateur.
  2. Accédez au chemin d'installation C:\Program Files\VMware\Endpoint Telemetry Service\Tools.
  3. Exécutez tlmtool <options> [arguments].
    Un exemple d'entrée dans l'invite de commande est tlmtool -setLogLevel Trace.
  4. Pour afficher les options de commande prises en charge dans tlmtool, entrez tlmtool -help dans l'invite de commande.

Options de ligne de commande de l'outil utilitaire

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>.

Comment activer la journalisation pour l'agent de télémétrie de Gestion de l'expérience sur le terminal ?

  • Pour l'agent de Gestion de l'expérience v22.6.0 et versions ultérieures, activez la journalisation pour la Gestion de l'expérience en exécutant la commande tlmtool tlmtool -setLogLevel Trace sans redémarrer le service.
  • Pour les services VMWOSQEXT plus récents, activez la journalisation pour la gestion de l'expérience en mettant à jour l'entrée de registre répertoriée.
    • 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”
    • Une fois le registre modifié, redémarrez le service. Les journaux sont ensuite écrits dans le dossier C:\ProgramData\VMWOSQEXT.
  • Pour le dernier service vmwetlm, activez la journalisation en mettant à jour le registre répertorié sans redémarrer le service.
    • HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Endpoint Telemetry\Service\Config\Log\LogLevel="Trace"
    • Le système écrit les journaux dans le dossier C:\ProgramData\VMware\vmwetlm\logs.

Activation des rapports d'événements d'ouverture de session supplémentaires pour la Gestion de l'expérience (facultatif)

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.

  • Auditer la fermeture de session
  • Auditer l'ouverture de session
  • Auditer d'autres événements d'ouverture/fermeture de session
  • Auditer l'ouverture de session spéciale

Sur l'ordinateur

Vous pouvez activer ces stratégies sur la machine Windows à l'aide du processus répertorié.

  1. Ouvrez l'éditeur de stratégies de groupe (Gpedit.msc).
  2. Accédez à Configuration de l'ordinateur > Paramètres Windows > Paramètres de sécurité > Configuration avancée de la stratégie d'audit > Stratégies d'audit système – Objet Stratégie de groupe local > Ouverture/Fermeture de session.
  3. Activez et configurez chacune des stratégies ci-dessus pour les rapports Réussite et échec.

Avec un fichier CMD

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

Avec des lignes de base

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.

  1. Dans Workspace ONE UEM, sélectionnez le groupe organisationnel.
  2. Créez une ligne de base à l'aide d'un modèle dans la console sous Ressources > Profils et lignes de base > Lignes de base.
  3. Utilisez le modèle Ligne de base de sécurité Windows.
  4. Sous l'onglet Personnaliser, recherchez les stratégies dans Configuration de l'ordinateur > Paramètres Windows > Paramètres de sécurité > Configuration avancée de la stratégie d'audit > Stratégies d'audit système – Objet Stratégie de groupe local > Ouverture/Fermeture de session.
  5. Activez les paramètres pour Réussite et échec.
  6. Enregistrez et attribuez la ligne de base aux Smart Groups concernés.
  7. Redémarrez les terminaux pour déployer des lignes de base.

Avec PowerShell

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.

  1. Désactivez l'écho.
    $host.UI.RawUI.BufferSize = New-Object Management.Automation.Host.Size (500, $host.UI.RawUI.BufferSize.Height)
    $ProgressPreference = 'SilentlyContinue'
    
  2. Définissez le contenu CSV.
    $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"
    "@`
    
  3. Écrivez le contenu dans un fichier audit_policy.csv. $csvContent | Out-File -FilePath "audit_policy.csv" -Encoding ASCII
  4. Exécutez la commande auditpol.exe. & auditpol.exe /restore /file:audit_policy.csv
  5. Supprimez le fichier CSV. Remove-Item -Path "audit_policy.csv" -Force

Utilisation d'objets de stratégie de groupe pour configurer la Gestion de l'expérience pour Windows

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.

GPO disponibles

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ôler la Gestion de l'expérience sur des machines locales

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).

  • Utilisez un modèle d'administration pour contrôler plusieurs méthodes de désactivation.
    • Autorisez ou refusez la désactivation locale de la Gestion de l'expérience à l'aide de l'outil utilitaire.
    • Autorisez ou refusez la désactivation de la Gestion de l'expérience par une stratégie d'administration.
  • Utilisez l'outil utilitaire pour désactiver la Gestion de l'expérience et arrêter la collecte de données, si la stratégie d'administration le permet.

Pourquoi souhaiteriez-vous contrôler localement la Gestion de l'expérience ?

La possibilité de contrôler la Gestion de l'expérience sur des machines Windows locales est utile dans plusieurs scénarios.

  • Exemple 1 : L'administrateur de domaine a besoin du contrôle des ressources : En tant qu'administrateur de domaine, vous souhaitez vous assurer que vos administrateurs locaux n'utilisent pas l'outil utilitaire pour désactiver la Gestion de l'expérience sur les machines locales. Vous pouvez effectuer les configurations répertoriées.
    • Configurez la GPO Désactiver DEEM sur Désactivé ou laissez-le Non configuré.
    • Configurez la GPO Autoriser la désactivation locale sur Désactivé.
    • Les administrateurs locaux ne peuvent pas utiliser l'outil utilitaire pour désactiver la Gestion de l'expérience.
  • Exemple 2 : Le support nécessite un contrôle local pour les escalades : En tant qu'administrateur de domaine, vous souhaitez vous assurer que le support peut désactiver la Gestion de l'expérience sur un terminal spécifique pour faciliter les escalades. Vous pouvez effectuer les configurations répertoriées.
    • Configurez la GPO Désactiver DEEM sur Désactivé ou laissez-le Non configuré.
    • Configurez la GPO Autoriser la désactivation locale sur Activé ou laissez-la Non configuré.
    • Le personnel du support peut utiliser l'outil utilitaire pour désactiver la Gestion de l'expérience.

Quelle est la relation entre les GPO et l'outil utilitaire dans le processus de désactivation ?

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.

Vérifiez d'abord les paramètres de GPO, puis l'état de l'outil utilitaire et vous pouvez voir si la Gestion de l'expérience est complètement désactivée.

Configuration du modèle d’administration

Installez le modèle d'administration qui inclut les GPO personnalisées et configurez-les.

  1. Obtenez le modèle d'administration et installez-le sur la machine locale.
  2. Configurez le modèle d'administration.
    1. Sur la machine Windows locale, recherchez Stratégie de groupe locale et ouvrez l'éditeur.
    2. Accédez à Configuration de l'ordinateur > Modèles d'administration > Télémétrie des points de terminaison VMware > DEEM.
    3. Affichez les Paramètres pour la Gestion de l'expérience et utilisez le lien Modifier le paramètre de stratégie pour mettre à jour la configuration.
      1. Configurez le paramètre Autoriser la désactivation locale pour autoriser ou empêcher un administrateur local de configurer l'outil utilitaire.
        • Désactivé : La désactivation par l'outil utilitaire n'a aucun effet.
        • Activé : La désactivation locale par l'outil utilitaire est autorisée.
        • Non configuré : La désactivation locale par l'outil utilitaire est autorisée.
      2. Configurez le paramètre Désactiver DEEM pour contrôler le mécanisme de Gestion de l'expérience sur la machine locale.
        • Désactivé : La Gestion de l'expérience peut toujours être désactivée localement en fonction du paramètre de stratégie Autoriser la désactivation locale.
        • Activé : La Gestion de l'expérience cesse de collecter et d'envoyer des données de télémétrie.
        • Non configuré : La Gestion de l'expérience peut toujours être désactivée localement en fonction du paramètre de stratégie Autoriser la désactivation locale.

Configuration de l'outil utilitaire

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.

  1. Exécutez l'outil utilitaire sur la machine locale.
  2. Utilisez la 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.
  3. (Facultatif) Vous pouvez utiliser la requête -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.

Contrôler la Gestion de l'expérience avec des scripts et des capteurs

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.

Quand utiliser des scripts et des capteurs pour contrôler à distance la Gestion de l'expérience

Vous pouvez décider de désactiver la Gestion de l'expérience dans divers scénarios.

  • Si vous disposez d'une sous-licence de Workspace ONE Intelligence ou Experience Analytics, vous pouvez utiliser des scripts et des capteurs pour contrôler les terminaux qui envoient des données de Gestion de l'expérience.
    • Le système suit les terminaux qui envoient des données de Gestion de l'expérience en tant que « licences consommées ».
    • Par exemple, vous achetez 1 000 licences Workspace ONE UEM, mais vous n'achetez que 500 licences Experience Analytics, car vous n'êtes pas tout à fait prêt à utiliser la Gestion de l'expérience sur tous vos 1 000 terminaux Workspace ONE UEM gérés.
  • Si vous souhaitez contrôler le déploiement de l'activation des données de Gestion de l'expérience à l'aide d'anneaux de déploiement, vous pouvez utiliser des scripts et des capteurs pour le déploiement.
    • Par exemple, vous avez acheté 500 licences Experience Analytics, mais vous devez d'abord déployer le service sur votre environnement UAT à des fins de test.
    • Déployez les licences depuis l'UAT vers les terminaux par vagues jusqu'à ce que toutes les licences soient déployées.
    • Le déploiement de licences en anneaux de déploiement vous permet de suivre l'impact et la compatibilité du service de Gestion de l'expérience sur vos terminaux et sur vos règles réseau.
  • Si vous souhaitez rétablir l'activation de la Gestion de l'expérience sur les machines pour une raison quelconque, utilisez des scripts et des capteurs pour modifier l'état de gestion de l'expérience.
    • Par exemple, lors du déploiement, vous détectez un problème imprévu avec la Gestion de l'expérience ou avec un autre service.
    • Utilisez le script pour désactiver la Gestion de l'expérience sur les terminaux et utilisez le capteur pour confirmer que les terminaux appropriés l'ont désactivée.

Configurations requises

Respectez les conditions requises répertoriées pour utiliser des scripts et des capteurs pour contrôler la Gestion de l'expérience.

Script pour activer ou désactiver

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
}

Capteur pour obtenir l'état

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."
}

Capteur pour obtenir la version

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"
}
check-circle-line exclamation-circle-line close-line
Scroll to top icon