ANAVEM
Languageen
Windows server monitoring dashboard displaying network connection statistics and Event Viewer logs
Event ID 2003WarningSrvWindows

ID d'événement Windows 2003 – Srv : Limite de connexion du service serveur atteinte

L'ID d'événement 2003 indique que le service Windows Server a atteint sa limite maximale de connexions simultanées, empêchant de nouvelles connexions client jusqu'à ce que les sessions existantes soient libérées.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
18 mars 202612 min de lecture 0
Event ID 2003Srv 5 méthodes 12 min
Référence événement

Signification de cet événement

L'ID d'événement 2003 représente un avertissement critique de gestion des ressources qui se produit lorsque le service Windows Server rencontre une saturation des connexions. Le service Server (srv.sys) est responsable de la gestion de toutes les connexions SMB (Server Message Block) entrantes, y compris les partages de fichiers, les partages d'imprimantes et les partages administratifs comme C$ et ADMIN$.

Lorsque Windows traite les demandes de connexion entrantes, il alloue de la mémoire et des ressources système pour chaque session active. La limite de connexion existe pour éviter l'épuisement des ressources et maintenir la stabilité du système. Une fois la limite atteinte, le service Server rejette les nouvelles tentatives de connexion avec divers codes d'erreur, entraînant généralement des messages 'chemin réseau introuvable' ou 'accès refusé' pour les utilisateurs finaux.

L'événement fournit des informations de diagnostic précieuses, y compris le nombre actuel de connexions, le nombre maximum de connexions autorisées et le type de connexion qui a déclenché la limite. Ces données aident les administrateurs à identifier si le problème provient d'une utilisation élevée légitime ou de préoccupations de sécurité potentielles comme des attaques de saturation de connexion. Les versions modernes de Windows en 2026 incluent un suivi amélioré des connexions et des mécanismes de nettoyage automatique, mais les limites fondamentales restent pour assurer la stabilité du système.

Les limites de connexion varient considérablement selon les éditions de Windows. Les versions Workstation mettent en œuvre des limites artificielles pour encourager l'adoption des produits serveur, tandis que les éditions serveur prennent en charge des milliers de connexions simultanées en fonction des ressources système disponibles et des licences. Comprendre ces limites est crucial pour une architecture réseau appropriée et une planification de capacité.

S'applique à

Windows 10Windows 11Windows Server 2019/2022/2025
Analyse

Causes possibles

  • Plusieurs utilisateurs accédant simultanément aux dossiers partagés pendant les heures de pointe
  • Logiciel de sauvegarde maintenant des connexions persistantes aux partages réseau
  • Applications avec une mauvaise gestion des connexions laissant les sessions ouvertes
  • Logiciels malveillants ou attaques de sécurité tentant de saturer les connexions
  • Licences Windows Server insuffisantes pour le nombre de connexions requis
  • Problèmes de délai d'attente réseau empêchant le nettoyage correct des sessions
  • Surcharge du contrôleur de domaine lors des tempêtes d'authentification
  • Serveur d'impression gérant un nombre excessif de travaux d'impression simultanés
  • Applications de base de données utilisant des chemins UNC pour l'accès aux fichiers
  • Environnements d'infrastructure de bureau virtuel (VDI) avec stockage partagé
Méthodes de résolution

Étapes de dépannage

01

Vérifier l'état actuel de la connexion

Commencez par examiner les connexions actuelles du serveur pour identifier les sessions actives et les opportunités de nettoyage potentielles.

Ouvrez Observateur d'événements et naviguez vers Journaux WindowsSystème. Filtrez pour l'ID d'événement 2003 pour voir les occurrences récentes :

Get-WinEvent -FilterHashtable @{LogName='System'; Id=2003} -MaxEvents 10 | Format-Table TimeCreated, Message -Wrap

Vérifiez les sessions serveur actives en utilisant la commande net intégrée :

net session

Pour des informations détaillées sur les connexions, utilisez PowerShell pour interroger les sessions SMB :

Get-SmbSession | Select-Object ClientComputerName, ClientUserName, NumOpens, SessionId | Sort-Object NumOpens -Descending

Examinez les fichiers ouverts et leurs connexions associées :

Get-SmbOpenFile | Group-Object ClientComputerName | Sort-Object Count -Descending

Cette méthode offre une visibilité immédiate sur les schémas d'utilisation des connexions et aide à identifier les clients consommant des connexions excessives.

02

Configurer le nettoyage de la connexion et les délais d'attente

Optimisez la gestion des connexions serveur en ajustant les valeurs de délai d'attente et en activant les mécanismes de nettoyage automatique.

Accédez au registre pour modifier les paramètres de connexion serveur. Naviguez vers :

HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters

Créez ou modifiez ces valeurs DWORD pour améliorer la gestion des connexions :

# Définir le délai d'attente de déconnexion automatique (minutes)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" -Name "autodisconnect" -Value 15 -Type DWord

# Configurer le délai d'attente de session
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" -Name "EnableForcedLogoff" -Value 1 -Type DWord

Pour les ajustements de délai d'attente côté client SMB :

# Configurer le délai d'attente de session client SMB
Set-SmbClientConfiguration -SessionTimeout 60 -Force

Activez la surveillance et la journalisation des connexions :

# Activer la journalisation détaillée du serveur
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" -Name "EnableSecuritySignature" -Value 1 -Type DWord

Redémarrez le service Serveur pour appliquer les modifications :

Restart-Service -Name "lanmanserver" -Force
Avertissement : La modification des valeurs du registre nécessite des privilèges administratifs et peut affecter la stabilité du système. Testez les modifications dans un environnement non productif d'abord.
03

Augmenter les limites de connexion via le registre

Pour les systèmes Windows Server, augmentez la limite maximale de connexions pour accueillir une utilisation concurrente plus élevée.

Accédez à l'emplacement du registre du service serveur :

HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters

Modifiez le paramètre MaxWorkItems pour augmenter la capacité de connexion :

# Augmenter le nombre maximum d'éléments de travail (la valeur par défaut varie selon la RAM du système)
$NewMaxWorkItems = 8192
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" -Name "MaxWorkItems" -Value $NewMaxWorkItems -Type DWord

Configurez des paramètres supplémentaires liés aux connexions :

# Définir le nombre maximum d'utilisateurs (0 = illimité pour les serveurs)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" -Name "Users" -Value 0 -Type DWord

# Augmenter le nombre maximum de connexions par session
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" -Name "MaxMpxCt" -Value 125 -Type DWord

Pour les versions de station de travail, la limite de connexion est artificiellement plafonnée. Vérifiez votre édition de Windows :

Get-ComputerInfo | Select-Object WindowsProductName, WindowsEditionId

Appliquez les modifications et redémarrez les services :

Restart-Service -Name "lanmanserver" -Force
Restart-Service -Name "lanmanworkstation" -Force

Surveillez l'efficacité des modifications :

Get-WinEvent -FilterHashtable @{LogName='System'; Id=2003; StartTime=(Get-Date).AddHours(-1)} | Measure-Object
Astuce pro : MaxWorkItems doit être calculé en fonction de la RAM disponible. Une formule générale est (RAM_en_MB / 4) mais ne doit pas dépasser 65535.
04

Mettre en œuvre la surveillance et l'alerte des connexions

Déployez une surveillance complète pour gérer de manière proactive l'utilisation des connexions et prévenir les occurrences futures.

Créez un script PowerShell pour la surveillance continue des connexions :

# Script de surveillance des connexions
$MaxConnections = 100  # Ajustez en fonction de vos limites
$CurrentConnections = (Get-SmbSession | Measure-Object).Count
$ConnectionPercentage = ($CurrentConnections / $MaxConnections) * 100

if ($ConnectionPercentage -gt 80) {
    Write-EventLog -LogName "Application" -Source "ConnectionMonitor" -EventId 1001 -EntryType Warning -Message "Utilisation élevée des connexions : $CurrentConnections/$MaxConnections ($ConnectionPercentage%)"
}

Configurez une tâche planifiée pour exécuter le script de surveillance :

$Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Scripts\ConnectionMonitor.ps1"
$Trigger = New-ScheduledTaskTrigger -RepetitionInterval (New-TimeSpan -Minutes 5) -RepetitionDuration (New-TimeSpan -Days 365) -At (Get-Date)
$Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
Register-ScheduledTask -TaskName "SMBConnectionMonitor" -Action $Action -Trigger $Trigger -Settings $Settings -RunLevel Highest

Configurez des compteurs de Performance Monitor pour un suivi détaillé :

# Créer un collecteur de données de compteur de performance
$CounterSet = @(
    "\Server\Sessions Errored Out",
    "\Server\Sessions Timed Out",
    "\Server\Sessions Logged Off",
    "\Server Work Queues\Active Threads"
)

logman create counter SMBConnections -f csv -o "C:\Logs\SMBConnections.csv" -c $CounterSet -si 00:01:00

Activez la journalisation avancée SMB pour une analyse détaillée des connexions :

# Activer la journalisation du client et du serveur SMB
Set-SmbServerConfiguration -AuditSmb1Access $true -Force
Set-SmbClientConfiguration -EnableBandwidthThrottling $true -Force

Créez des filtres personnalisés dans le Visualisateur d'événements pour les événements liés aux connexions :

# Interroger plusieurs événements liés aux connexions
Get-WinEvent -FilterHashtable @{LogName='System'; Id=2003,2019,2020; StartTime=(Get-Date).AddDays(-7)} | Export-Csv -Path "C:\Logs\ConnectionEvents.csv" -NoTypeInformation
05

Dépannage avancé et planification de capacité

Effectuer une analyse complète pour identifier les causes profondes et mettre en œuvre des solutions à long terme pour la gestion des connexions.

Utilisez Windows Performance Toolkit (WPT) pour une analyse détaillée des connexions :

# Installer Windows Performance Toolkit si non disponible
# Télécharger depuis Windows SDK

# Capturer les traces ETW pour l'activité SMB
wpr -start GeneralProfile -start FileIO -start Registry

Analyser les modèles de connexion en utilisant des techniques avancées de PowerShell :

# Script d'analyse détaillée des connexions
$Sessions = Get-SmbSession
$ConnectionStats = $Sessions | Group-Object ClientComputerName | ForEach-Object {
    [PSCustomObject]@{
        Client = $_.Name
        SessionCount = $_.Count
        TotalOpens = ($_.Group | Measure-Object NumOpens -Sum).Sum
        AvgOpensPerSession = [math]::Round(($_.Group | Measure-Object NumOpens -Average).Average, 2)
        OldestSession = ($_.Group | Sort-Object SessionId | Select-Object -First 1).SessionId
    }
} | Sort-Object SessionCount -Descending

$ConnectionStats | Export-Csv -Path "C:\Logs\DetailedConnectionAnalysis.csv" -NoTypeInformation

Mettre en œuvre des stratégies de mise en commun et d'optimisation des connexions :

# Configurer SMB multicanal pour une meilleure efficacité de connexion
Set-SmbServerConfiguration -EnableMultiChannel $true -Force
Get-SmbServerNetworkInterface | Where-Object {$_.LinkSpeed -ge 1000000000} | Enable-SmbServerNetworkInterface

Analyser les modèles de trafic réseau en utilisant netstat et PowerShell :

# Analyse des connexions réseau
$SMBConnections = netstat -an | Where-Object {$_ -match ":445"}
$ConnectionCount = ($SMBConnections | Measure-Object).Count

# Analyse détaillée du port 445
Get-NetTCPConnection -LocalPort 445 | Group-Object State | Select-Object Name, Count

Créer un rapport complet de planification de capacité :

# Collecte de données pour la planification de capacité
$Report = [PSCustomObject]@{
    Timestamp = Get-Date
    CurrentConnections = (Get-SmbSession | Measure-Object).Count
    MaxConfiguredConnections = (Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" -Name "Users" -ErrorAction SilentlyContinue).Users
    MemoryUsage = [math]::Round((Get-Process -Name "System" | Select-Object -ExpandProperty WorkingSet64) / 1GB, 2)
    CPUUsage = (Get-Counter "\Processor(_Total)\% Processor Time" -SampleInterval 1 -MaxSamples 1).CounterSamples.CookedValue
    NetworkUtilization = (Get-Counter "\Network Interface(*)\Bytes Total/sec" -SampleInterval 1 -MaxSamples 1).CounterSamples | Measure-Object CookedValue -Sum
}

$Report | Export-Csv -Path "C:\Logs\CapacityPlanningReport.csv" -Append -NoTypeInformation
Astuce pro : Envisagez de mettre en œuvre DFS (Distributed File System) ou des solutions d'équilibrage de charge si les limites de connexion impactent constamment les opérations sur plusieurs serveurs.

Aperçu

L'ID d'événement 2003 du service Srv (Serveur) se déclenche lorsque Windows atteint sa limite maximale de connexions simultanées pour les services de partage de fichiers et d'impression. Cet événement apparaît généralement dans des environnements où plusieurs clients accèdent simultanément à des ressources partagées, comme les serveurs de fichiers, les contrôleurs de domaine ou les stations de travail avec des dossiers partagés.

Le service Serveur gère les connexions SMB entrantes, et chaque édition de Windows a des limites de connexion spécifiques. Windows 10/11 Home permet 20 connexions simultanées, les versions Pro permettent 20, tandis que les éditions Windows Server prennent en charge des connexions illimitées avec une licence appropriée. Lorsque ce seuil est dépassé, les nouvelles tentatives de connexion échouent jusqu'à ce que les sessions existantes se terminent ou expirent.

Ce phénomène se produit couramment pendant les périodes de forte utilisation, les opérations de sauvegarde ou lorsque des applications maintiennent des connexions persistantes aux ressources partagées. L'événement est enregistré dans le journal Système et inclut des détails sur le type de connexion et les statistiques d'utilisation actuelles. Comprendre cet événement aide les administrateurs à optimiser le partage des ressources et à planifier des mises à niveau de capacité.

Questions Fréquentes

Que signifie l'ID d'événement 2003 et pourquoi se produit-il ?+
L'ID d'événement 2003 indique que le service Windows Server a atteint sa limite maximale de connexions simultanées. Cela se produit lorsque trop de clients tentent d'accéder aux ressources partagées en même temps, dépassant le seuil de connexion configuré ou par défaut. L'événement sert d'avertissement que les nouvelles tentatives de connexion seront rejetées jusqu'à ce que les sessions existantes soient libérées. Les déclencheurs courants incluent les opérations de sauvegarde, les périodes de forte utilisation ou les applications qui ne ferment pas correctement les connexions. La limite spécifique dépend de votre édition de Windows - les versions de poste de travail permettent généralement 20 connexions simultanées tandis que les éditions serveur prennent en charge des limites beaucoup plus élevées en fonction des licences et des ressources système.
Comment puis-je vérifier combien de connexions sont actuellement actives sur mon serveur Windows ?+
Vous pouvez vérifier les connexions actives en utilisant plusieurs méthodes. La plus rapide est la ligne de commande : utilisez 'net session' pour des informations de session de base ou des commandes PowerShell comme 'Get-SmbSession' pour des données détaillées sur les connexions SMB. Pour une analyse complète, utilisez 'Get-SmbSession | Select-Object ClientComputerName, ClientUserName, NumOpens, SessionId | Sort-Object NumOpens -Descending' pour voir quels clients utilisent le plus de connexions. Vous pouvez également utiliser 'Get-SmbOpenFile' pour voir les fichiers spécifiques en cours d'accès. Le Moniteur de performance fournit des compteurs en temps réel sous l'objet Serveur, y compris 'Sessions Errored Out' et 'Sessions Timed Out' qui aident à identifier les problèmes de connexion.
Puis-je augmenter la limite de connexion sur Windows 10 ou Windows 11 ?+
Les éditions de stations de travail Windows 10 et 11 ont des limites de connexion artificielles (généralement 20 connexions simultanées) qui ne peuvent pas être légitimement augmentées par des modifications du registre. Ces limites sont des restrictions de licence, pas des limitations techniques. Tenter de les contourner viole les conditions de licence de Microsoft. Si vous avez besoin de limites de connexion plus élevées, vous devriez passer aux éditions Windows Server qui prennent en charge des connexions illimitées en fonction de votre licence serveur. Pour des scénarios légitimes de haute connexion sur les stations de travail, envisagez de mettre en œuvre le regroupement de connexions dans les applications, d'utiliser des délais d'expiration de session plus courts ou de répartir la charge sur plusieurs systèmes.
Quels paramètres du registre contrôlent les limites de connexion du serveur et les délais d'attente ?+
Les paramètres clés du registre se trouvent dans HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters. Les valeurs importantes incluent 'MaxWorkItems' (contrôle le nombre maximum d'opérations simultanées), 'autodisconnect' (délai d'expiration de session en minutes), 'Users' (nombre maximum d'utilisateurs simultanés, 0=illimité sur les serveurs), et 'MaxMpxCt' (nombre maximum de commandes par connexion). Pour le nettoyage des connexions, 'EnableForcedLogoff' force la déconnexion des sessions inactives. La valeur 'MaxWorkItems' est particulièrement importante car elle affecte directement la capacité de connexion - elle doit être calculée en fonction de la RAM disponible en utilisant la formule (RAM_en_Mo / 4) mais ne doit pas dépasser 65535. Redémarrez toujours le service Serveur après avoir apporté des modifications au registre.
Comment puis-je empêcher l'apparition de l'ID d'événement 2003 à l'avenir ?+
La prévention implique plusieurs stratégies : mettre en œuvre une gestion appropriée des connexions en configurant des délais d'expiration de session plus courts (valeur de registre autodisconnect), activer le nettoyage automatique des connexions inactives et surveiller l'utilisation des connexions de manière proactive. Déployer des scripts de surveillance des connexions qui alertent lorsque l'utilisation approche des limites. Optimiser les applications pour fermer correctement les connexions et mettre en œuvre le pooling de connexions lorsque cela est possible. Pour les environnements à forte utilisation, envisager de passer à des éditions de Windows Server avec des limites de connexion plus élevées, de mettre en œuvre un équilibrage de charge sur plusieurs serveurs ou d'utiliser DFS pour l'accès aux fichiers distribués. Une analyse régulière des schémas de connexion aide à identifier les clients ou applications problématiques qui maintiennent des connexions excessives.
Documentation

Références (2)

Emanuel DE ALMEIDA
Écrit par

Emanuel DE ALMEIDA

Senior IT Journalist & Cloud Architect

Microsoft MCSA-certified Cloud Architect | Fortinet-focused. I modernize cloud, hybrid & on-prem infrastructure for reliability, security, performance and cost control - sharing field-tested ops & troubleshooting.

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...