Limiter le nombre de connexions
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Au minimum Windows Server 2003
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Composants Windows\Services Bureau à distance\Hôte de la session Bureau à distance\Connexions Description
Spécifie si les services Bureau à distance limitent le nombre de connexions simultanées au serveur. Vous pouvez utiliser ce paramètre pour limiter le nombre de sessions des services Bureau à distance qui peuvent être actives sur un serveur. Si ce nombre est dépassé, les utilisateurs supplémentaires qui tentent de se connecter reçoivent un message d’erreur leur indiquant que le serveur est occupé et de réessayer plus tard. La limitation du nombre de sessions améliore les performances, car un nombre moins élevé de sessions nécessite moins de ressources système. Par défaut, les serveurs Hôte de la session Bureau à distance autorisent un nombre illimité de sessions de services Bureau à distance, et le Bureau à distance pour administration autorise deux sessions de services Bureau à distance. Pour utiliser ce paramètre, entrez le nombre maximal de connexions que vous souhaitez spécifier pour le serveur. Pour spécifier un nombre illimité de connexions, tapez 999999. Si vous activez ce paramètre, le nombre maximal de connexions est limité au nombre spécifié cohérent avec la version de Windows et le mode des services Bureau à distance qui s’exécutent sur le serveur. Si vous désactivez ce paramètre ou ne le configurez pas, les limites du nombre de connexions ne sont pas appliquées au niveau de la stratégie de groupe. Remarque : ce paramètre est destiné à être utilisé sur des serveurs Hôte de la session Bureau à distance (c’est-à-dire sur des serveurs exécutant Windows et où les services du rôle Hôte de la session Bureau à distance sont installés).
Registre
SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_TerminalServer/TS_MAX_CON_POLICY Documentation Microsoft Learn Données de correspondance : Microsoft Learn (CC BY 4.0)
Générateur d'exports
BETAConfigurez l'état, la portée et les options, puis générez les sorties .reg, PowerShell, Intune et SCCM — ou ajoutez le paramètre à une collection multi-paramètres.
Ces exports écrivent le registre — ce n'est pas une GPO managée. ⓘ
Fichier .reg
Windows Registry Editor Version 5.00
; Exported from gporais.com
; Policy: Limiter le nombre de connexions
; State: Enabled
; Supported on: Au minimum Windows Server 2003
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"MaxInstanceCount"=dword:00000001 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Limiter le nombre de connexions
# State: Enabled
# Supported on: Au minimum Windows Server 2003
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'MaxInstanceCount' -Value 1 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_TerminalServer/TS_MAX_CON_POLICY
Data type: String
Value:
<enabled/>
<data id="TS_Maximum_Connections_allowed" value="1"/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Limiter le nombre de connexions
# State: Enabled
# Supported on: Au minimum Windows Server 2003
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name 'MaxInstanceCount' -Expected 1 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Limiter le nombre de connexions
# State: Enabled
# Supported on: Au minimum Windows Server 2003
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'MaxInstanceCount' -Value 1 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Limiter le nombre de connexions
# State: Enabled
# Supported on: Au minimum Windows Server 2003
# SCCM Configuration Item guidance:
# Create a Configuration Item of type "Setting: Script".
# Discovery script: use the Detection script below.
# Remediation script: use the Remediation script below.
# Compliance rule: the Discovery script output equals 'Compliant'.
# === Detection script ===
# Exported from gporais.com
# Policy: Limiter le nombre de connexions
# State: Enabled
# Supported on: Au minimum Windows Server 2003
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name 'MaxInstanceCount' -Expected 1 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Limiter le nombre de connexions
# State: Enabled
# Supported on: Au minimum Windows Server 2003
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'MaxInstanceCount' -Value 1 -Type DWord Vous construisez une collection multi-paramètres ? Ajoutez ce paramètre et générez des exports combinés (.reg, PowerShell, GPO).