Ne pas autoriser les administrateurs locaux à personnaliser les autorisations
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\Sécurité Description
Ce paramètre de stratégie indique si les droits d’administrateur sont désactivés pour personnaliser les autorisations de sécurité du serveur Hôte de session Bureau à distance. Vous pouvez utiliser ce paramètre pour empêcher les administrateurs de modifier les groupes d’utilisateurs autorisés à se connecter à distance au serveur Hôte de session Bureau à distance. Par défaut, les administrateurs peuvent effectuer de telles modifications. Si vous activez ce paramètre de stratégie, les descripteurs de sécurité par défaut des groupes existants sur le serveur Hôte de session Bureau à distance ne peuvent pas être modifiés. Tous les descripteurs de sécurité sont en lecture seule. Si vous désactivez ou ne configurez pas ce paramètre de stratégie, les administrateurs du serveur bénéficient d’autorisations complètes de lecture/écriture sur les descripteurs de sécurité de l’utilisateur en utilisant le fournisseur WMI de la session Bureau à distance. Remarque : la méthode recommandée de gestion des accès utilisateur est l’ajout d’un utilisateur au groupe Utilisateurs du Bureau à distance.
Registre
SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services Nom de valeur : fWritableTSCCPermTab
Activé : fWritableTSCCPermTab = 0
Désactivé : fWritableTSCCPermTab = 1
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_TerminalServer/TS_TSCC_PERMISSIONS_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: Ne pas autoriser les administrateurs locaux à personnaliser les autorisations
; State: Enabled
; Supported on: Au minimum Windows Server 2003
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"fWritableTSCCPermTab"=dword:00000000 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Ne pas autoriser les administrateurs locaux à personnaliser les autorisations
# 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 'fWritableTSCCPermTab' -Value 0 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_TerminalServer/TS_TSCC_PERMISSIONS_POLICY
Data type: String
Value:
<enabled/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Ne pas autoriser les administrateurs locaux à personnaliser les autorisations
# 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 'fWritableTSCCPermTab' -Expected 0 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Ne pas autoriser les administrateurs locaux à personnaliser les autorisations
# 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 'fWritableTSCCPermTab' -Value 0 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Ne pas autoriser les administrateurs locaux à personnaliser les autorisations
# 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: Ne pas autoriser les administrateurs locaux à personnaliser les autorisations
# 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 'fWritableTSCCPermTab' -Expected 0 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Ne pas autoriser les administrateurs locaux à personnaliser les autorisations
# 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 'fWritableTSCCPermTab' -Value 0 -Type DWord Vous construisez une collection multi-paramètres ? Ajoutez ce paramètre et générez des exports combinés (.reg, PowerShell, GPO).