Dans le monde actuel de l'IT, l'évaluation des performances des postes de travail est une tâche récurrente et cruciale. Qu'il s'agisse de valider de nouveaux modèles avant un déploiement massif, de diagnostiquer des ralentissements ou d'assurer une expérience utilisateur optimale, la capacité à mesurer est fondamentale. Cependant, un défi courant se présente : comment réaliser cette optimisation des performances PC en entreprise sans budget conséquent pour des logiciels de benchmarking coûteux ?
C'est une question que nous rencontrons fréquemment sur le terrain. Un récent échange en ligne a parfaitement illustré cette problématique : une équipe IT doit évaluer des modèles Dell et Lenovo pour des usages professionnels variés (processeur, RAM, stockage, 2D/3D) mais ne dispose pas de licences pour des outils de benchmark dédiés. L'objectif est clair : trouver une solution déployable via SCCM (MECM) ou Intune, capable de collecter des résultats de manière automatisée. En tant que consultant Modern Workplace, je peux confirmer que cette situation est loin d'être isolée. Heureusement, le Modern Workplace offre des pistes concrètes pour y répondre.
Le Défi du Benchmarking PC en Entreprise Sans Budget
Le benchmarking traditionnel, avec ses outils synthétiques comme PCMark ou PassMark, fournit des scores précis et comparables. Ces solutions sont excellentes pour des tests en laboratoire ou des comparaisons de spécifications brutes. Cependant, leur coût de licence peut être prohibitif pour des entreprises qui ont besoin d'évaluer régulièrement de petits lots de machines ou qui opèrent sous des contraintes budgétaires strictes.
De plus, un score synthétique ne reflète pas toujours l'expérience utilisateur réelle. Un poste de travail avec un excellent score peut se montrer lent dans un environnement métier spécifique, à cause d'une application gourmande ou d'une configuration réseau sous-optimale. L'enjeu est donc double : obtenir des métriques pertinentes et les collecter de manière efficace et économique.
La demande pour des outils déployables souligne une autre réalité : la nécessité d'automatisation. Tester manuellement 20, 50 ou 100 machines tous les quelques mois est une tâche chronophage et sujette aux erreurs. L'intégration avec des outils de gestion comme SCCM ou Intune est donc une exigence clé pour toute stratégie d'optimisation des performances PC à grande échelle.
Exploiter SCCM pour la Collecte de Métriques Brutes
Pour les organisations qui s'appuient principalement sur SCCM (Microsoft Endpoint Configuration Manager), la solution la plus pragmatique pour un benchmarking "maison" réside dans l'utilisation de PowerShell. SCCM excelle dans le déploiement de scripts et la collecte d'inventaire, ce qui en fait un allié de taille.
Déploiement de scripts PowerShell via SCCM
Vous pouvez créer des scripts PowerShell qui collectent des données de performance spécifiques. Ces scripts peuvent être déployés comme des applications ou des packages/programmes SCCM, ciblés sur des collections de machines. L'avantage est la flexibilité : vous définissez exactement ce que vous voulez mesurer.
Voici un exemple simplifié de script PowerShell pour collecter des métriques de base sur le processeur, la mémoire et le disque. Ce script pourrait être étendu pour inclure des tests plus poussés (par exemple, des opérations de lecture/écriture de fichiers volumineux pour évaluer le stockage).
# Script PowerShell pour collecter des métriques de performance de base
$hostname = $env:COMPUTERNAME
$timestamp = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
$outputPath = "\\VotreServeurDePartage\Performances\$hostname"
# Créer le dossier si nécessaire
If (-not (Test-Path $outputPath)) {
New-Item -Path $outputPath -ItemType Directory -Force
}
$reportFile = Join-Path $outputPath "PerformanceReport_$timestamp.csv"
$results = @()
# 1. Informations CPU
$cpu = Get-WmiObject -Class Win32_Processor
$cpuInfo = [PSCustomObject]@{
Metric = "CPU_Name"
Value = $cpu.Name
}
$results += $cpuInfo
$cpuCores = [PSCustomObject]@{
Metric = "CPU_NumberOfCores"
Value = $cpu.NumberOfCores
}
$results += $cpuCores
$cpuLogicalProcessors = [PSCustomObject]@{
Metric = "CPU_NumberOfLogicalProcessors"
Value = $cpu.NumberOfLogicalProcessors
}
$results += $cpuLogicalProcessors
# 2. Informations Mémoire
$memory = Get-WmiObject -Class Win32_ComputerSystem
$totalMemoryGB = [Math]::Round($memory.TotalPhysicalMemory / 1GB, 2)
$memoryInfo = [PSCustomObject]@{
Metric = "Memory_TotalGB"
Value = $totalMemoryGB
}
$results += $memoryInfo
# 3. Informations Disque (exemple pour le lecteur C:)
$disk = Get-WmiObject -Class Win32_LogicalDisk -Filter "DeviceID='C:'"
If ($disk) {
$diskSizeGB = [Math]::Round($disk.Size / 1GB, 2)
$diskFreeGB = [Math]::Round($disk.FreeSpace / 1GB, 2)
$diskInfoSize = [PSCustomObject]@{
Metric = "Disk_C_SizeGB"
Value = $diskSizeGB
}
$results += $diskInfoSize
$diskInfoFree = [PSCustomObject]@{
Metric = "Disk_C_FreeSpaceGB"
Value = $diskFreeGB
}
$results += $diskInfoFree
}
# 4. Mesure de la performance CPU (utilisation moyenne sur une courte période)
# Ceci est un exemple très simple et non un vrai stress test
$cpuLoad = (Get-Counter '\Processor(_Total)\% Processor Time' -SampleInterval 1 -MaxSamples 5).CounterSamples.CookedValue | Measure-Object -Average | Select-Object -ExpandProperty Average
$cpuLoadInfo = [PSCustomObject]@{
Metric = "CPU_AverageLoad_Percent"
Value = [Math]::Round($cpuLoad, 2)
}
$results += $cpuLoadInfo
# 5. Mesure de la performance disque (lecture/écriture séquentielle simple)
# ATTENTION: Ceci peut impacter les performances et l'usure du SSD. À utiliser avec précaution.
# Pour un vrai benchmark, il faudrait un outil dédié ou un script plus complexe.
Try {
$tempFile = Join-Path $env:TEMP "TestFile_$(Get-Random).tmp"
$bytes = 1GB
$buffer = New-Object byte[] $bytes
# Écriture
$sw = [System.Diagnostics.Stopwatch]::StartNew()
[System.IO.File]::WriteAllBytes($tempFile, $buffer)
$sw.Stop()
$writeTime = [Math]::Round($sw.Elapsed.TotalSeconds, 2)
$writeSpeed = [Math]::Round($bytes / (1MB * $writeTime), 2) # MB/s
$diskWriteInfo = [PSCustomObject]@{
Metric = "Disk_WriteSpeed_MBps"
Value = $writeSpeed
}
$results += $diskWriteInfo
# Lecture
$sw = [System.Diagnostics.Stopwatch]::StartNew()
[System.IO.File]::ReadAllBytes($tempFile) | Out-Null
$sw.Stop()
$readTime = [Math]::Round($sw.Elapsed.TotalSeconds, 2)
$readSpeed = [Math]::Round($bytes / (1MB * $readTime), 2) # MB/s
$diskReadInfo = [PSCustomObject]@{
Metric = "Disk_ReadSpeed_MBps"
Value = $readSpeed
}
$results += $diskReadInfo
Remove-Item $tempFile -Force
} Catch {
Write-Warning "Erreur lors du test de performance disque: $($_.Exception.Message)"
}
# Exporter les résultats
$results | Export-Csv -Path $reportFile -NoTypeInformation -Encoding UTF8 -Force
Write-Host "Rapport de performance généré : $reportFile"
Collecte et Analyse des Résultats
Le script ci-dessus enregistre les résultats sur un partage réseau. C'est une méthode simple pour collecter des données à partir de quelques machines. Pour un déploiement plus large, vous pourriez envisager :
- Extension de l'inventaire matériel SCCM : Pour des métriques plus statiques (modèle de CPU, quantité de RAM), vous pouvez étendre l'inventaire matériel SCCM pour collecter ces informations directement dans la base de données.
- Inventaire personnalisé via des fichiers MOF : Pour des données dynamiques ou spécifiques non couvertes par l'inventaire standard, les fichiers MOF personnalisés permettent d'intégrer des informations collectées par PowerShell directement dans la base de données SCCM.
- Reporting SCCM : Une fois les données dans la base de données, vous pouvez créer des rapports personnalisés via SQL Server Reporting Services (SSRS) pour visualiser et comparer les performances des différents modèles.
Intune et Endpoint Analytics : Une Approche Axée sur l'Expérience Utilisateur
Avec l'évolution vers le cloud et Windows 11, Intune (Microsoft Endpoint Manager) et ses fonctionnalités d'Endpoint Analytics deviennent des outils incontournables pour l'optimisation des performances PC, adoptant une approche plus orientée utilisateur que le benchmarking brut.
Endpoint Analytics : Au-delà des Chiffres Bruts
Endpoint Analytics, intégré à Intune, ne fournit pas de scores synthétiques de benchmark, mais il offre une perspective précieuse sur l'expérience réelle des utilisateurs et la santé globale des appareils. Il mesure des métriques clés telles que :
- Performance de démarrage : Temps nécessaire pour qu'un appareil soit prêt à l'emploi.
- Fiabilité des applications : Fréquence des blocages et des erreurs d'applications.
- Expérience de travail à distance : Qualité de l'expérience pour les utilisateurs distants (connectivité, performance des applications cloud).
- Remédiations proactives : Détection et correction automatisée de problèmes courants qui affectent la performance ou la fiabilité.
Ces données sont cruciales pour comprendre comment les différents modèles de PC se comportent en production. Par exemple, si un nouveau modèle Dell montre un score de démarrage nettement inférieur à la moyenne, cela indique un problème qui impacte directement la productivité des utilisateurs, même si ses scores CPU sont élevés.
Scripts Personnalisés Intune
Tout comme avec SCCM, Intune permet de déployer des scripts PowerShell personnalisés. Vous pouvez adapter le script d'exemple précédent pour qu'il s'exécute via Intune, et exporter les résultats vers un partage réseau ou, mieux encore, vers Azure Log Analytics ou une autre solution de collecte de logs pour une analyse centralisée.
Microsoft Graph pour l'Analyse Avancée
Les données d'Endpoint Analytics sont accessibles via le Microsoft Graph API. Pour les consultants et ingénieurs souhaitant une analyse plus poussée ou une intégration avec d'autres systèmes (comme Power BI pour des tableaux de bord personnalisés), le Graph offre une flexibilité inégalée. Vous pouvez extraire programmatiquement les métriques de performance, les corréler avec d'autres données (modèle de PC, version d'OS, applications installées) et identifier des tendances ou des problèmes spécifiques à certains types de matériel.
# Exemple simplifié de requête Graph pour obtenir des données Endpoint Analytics (nécessite authentification)
# Ce code est conceptuel et nécessite une authentification OAuth 2.0 et des permissions appropriées.
# Plus d'informations sur la documentation Microsoft Graph.
$uri = "https://graph.microsoft.com/beta/deviceManagement/endpointAnalytics/overallScore"
# $accessToken = "YOUR_ACCESS_TOKEN" # Obtenu via un processus d'authentification
# $headers = @{
# "Authorization" = "Bearer $accessToken"
# "Content-Type" = "application/json"
# }
# Try {
# $response = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
# $response | ConvertTo-Json -Depth 10 | Write-Host
# } Catch {
# Write-Error "Erreur lors de l'appel à Microsoft Graph: $($_.Exception.Message)"
# }
Windows 11 et l'Évolution de la Performance
Windows 11 apporte une nouvelle dimension à la performance et à l'expérience utilisateur. Au-delà des exigences matérielles minimales, le système d'exploitation est conçu pour optimiser l'utilisation des ressources et offrir une interface plus fluide. Des fonctionnalités comme la gestion améliorée des processus en arrière-plan, DirectStorage (pour les SSD NVMe), et l'intégration poussée avec le cloud contribuent à une meilleure réactivité globale.
Lors de l'évaluation de nouveaux modèles, il est crucial de considérer l'impact de Windows 11. Un PC qui semble juste "correct" sous Windows 10 pourrait révéler tout son potentiel ou, au contraire, ses limites sous Windows 11. L'optimisation des performances PC passe aussi par le choix et la configuration de l'OS.
Les données d'Endpoint Analytics deviennent encore plus pertinentes avec Windows 11, car elles permettent de mesurer directement l'impact des mises à jour et des nouvelles fonctionnalités sur l'expérience utilisateur réelle, plutôt que de se fier uniquement à des tests synthétiques.
Stratégies Avancées et Bonnes Pratiques pour une Gestion Proactive
Pour une approche complète de l'optimisation des performances PC sans budget démesuré, voici quelques bonnes pratiques issues du terrain :
- Combinaison SCCM et Intune : Utilisez SCCM pour des tests de base sur un parc local et Intune/Endpoint Analytics pour une surveillance continue de l'expérience utilisateur sur l'ensemble du parc, y compris les appareils distants.
- Tests ciblés : Au lieu de tenter un benchmark complet sur chaque machine, identifiez les applications critiques de votre entreprise et évaluez les performances spécifiquement liées à leur exécution (temps de chargement, réactivité).
- Documentation rigoureuse : Maintenez un registre des performances observées pour chaque modèle de PC. Cela facilite les décisions d'achat futures et la détection rapide de régressions après des mises à jour.
- Feedback utilisateur : Ne sous-estimez jamais le retour des utilisateurs finaux. Corrélez leurs perceptions avec vos données techniques. Un utilisateur qui se plaint d'un PC lent est un indicateur fort, même si les chiffres sont "bons".
- Remédiations proactives : Utilisez les scripts Intune Proactive Remediations pour détecter et corriger automatiquement les problèmes courants (par exemple, services arrêtés, caches saturés, versions de pilotes obsolètes) qui peuvent impacter les performances.
- Visualisation des données : Exportez les données collectées (via SCCM, Intune, scripts PowerShell) vers des outils comme Power BI pour créer des tableaux de bord dynamiques. Cela permet une analyse visuelle des tendances et des comparaisons entre modèles ou groupes d'utilisateurs.
L'objectif n'est pas de remplacer les outils de benchmark commerciaux là où ils sont nécessaires, mais de fournir des alternatives viables et intégrées pour les cas où le budget est une contrainte. L'approche Modern Workplace met l'accent sur l'expérience utilisateur et la gestion proactive, ce qui est souvent plus pertinent pour la productivité réelle que des scores bruts.
Conclusion
L'évaluation et l'optimisation des performances PC en entreprise sans budget dédié pour des solutions de benchmarking tierces sont un défi surmontable. En combinant judicieusement les capacités de SCCM pour le déploiement de scripts PowerShell, les analyses d'expérience utilisateur d'Intune Endpoint Analytics, et l'accès aux données via Microsoft Graph, les ingénieurs et consultants IT peuvent mettre en place des processus d'évaluation robustes et pertinents. Cette approche pragmatique permet non seulement de valider de nouveaux matériels, mais aussi de maintenir un parc informatique performant et réactif, en se concentrant sur ce qui compte vraiment : la productivité et la satisfaction des utilisateurs.
N'hésitez pas à me contacter si vous souhaitez explorer comment ces stratégies peuvent être adaptées à votre environnement spécifique.

Commentaires
Chargement…