Bloquer toute authentification utilisateur au compte Microsoft client
Vérifié avec Windows 11 25H2 — mis à jour le 30 juillet 2026
Pris en charge sur : Windows Server 2016, Windows 10 version 1703 ou versions supérieures
Chemin dans la console GPO
Configuration ordinateur\Modèles d'administration\Composants Windows\Compte Microsoft Description
Ce paramètre contrôle si les utilisateurs peuvent fournir des comptes Microsoft pour l'authentification des applications ou services. Si ce paramètre est activé, aucune application et aucun services de l'appareil ne peut utiliser les comptes Microsoft pour l'authentification. Cela s'applique tant aux utilisateurs existants d'un appareil qu'aux nouveaux utilisateurs qui peuvent être ajoutés. Toutefois, les applications ou services qui ont déjà authentifié un utilisateur ne sont pas affectés par l'activation de ce paramètre tant que le cache d'authentification n'a pas expiré. Il est recommandé d'activer ce paramètre avant qu'un utilisateur ne se connecte à un appareil pour empêcher la présence de jetons mis en cache. Si vous désactivez ce paramètre ou si vous ne le configurez pas, les applications et les services peuvent utiliser les comptes Microsoft pour s'authentifier. Par défaut, ce paramètre est désactivé. Ce paramètre n'affecte pas les utilisateurs qui se connectent à des appareils à l'aide de comptes Microsoft, ni la capacité des utilisateurs à fournir des comptes Microsoft via le navigateur pour l'authentification sur les applications web.
Registre
Software\Policies\Microsoft\MicrosoftAccount Nom de valeur : DisableUserAuth
Activé : DisableUserAuth = 1
Désactivé : DisableUserAuth = 0
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_MSAPolicy/MicrosoftAccount_DisableUserAuth 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: Bloquer toute authentification utilisateur au compte Microsoft client
; State: Enabled
; Supported on: Windows Server 2016, Windows 10 version 1703 ou versions supérieures
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\MicrosoftAccount]
"DisableUserAuth"=dword:00000001 Autres formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Bloquer toute authentification utilisateur au compte Microsoft client
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1703 ou versions supérieures
$path = 'HKLM:\Software\Policies\Microsoft\MicrosoftAccount'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'DisableUserAuth' -Value 1 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_MSAPolicy/MicrosoftAccount_DisableUserAuth
Data type: String
Value:
<enabled/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Bloquer toute authentification utilisateur au compte Microsoft client
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1703 ou versions supérieures
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\MicrosoftAccount' -Name 'DisableUserAuth' -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: Bloquer toute authentification utilisateur au compte Microsoft client
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1703 ou versions supérieures
$path = 'HKLM:\Software\Policies\Microsoft\MicrosoftAccount'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'DisableUserAuth' -Value 1 -Type DWord Scripts SCCM
# Exported from gporais.com
# Policy: Bloquer toute authentification utilisateur au compte Microsoft client
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1703 ou versions supérieures
# 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: Bloquer toute authentification utilisateur au compte Microsoft client
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1703 ou versions supérieures
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\MicrosoftAccount' -Name 'DisableUserAuth' -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: Bloquer toute authentification utilisateur au compte Microsoft client
# State: Enabled
# Supported on: Windows Server 2016, Windows 10 version 1703 ou versions supérieures
$path = 'HKLM:\Software\Policies\Microsoft\MicrosoftAccount'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'DisableUserAuth' -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).