When promoting a Windows Server to a Domain Controller (DC), the system fundamentally changes its security model. The local Security Accounts Manager (SAM) database gets replaced by Active Directory (AD) as the primary authentication store. This architectural shift explains why lusrmgr.msc
becomes unavailable.
Microsoft intentionally disabled local account management on DCs to:
- Prevent security principal conflicts between AD and local SAM
- Maintain a single authoritative source for authentication
- Avoid confusion in permission assignments (local vs domain groups)
For scenarios requiring local-like functionality on DCs:
# PowerShell alternative for local group management
Import-Module ActiveDirectory
Get-ADGroup -Filter * -SearchBase "CN=Users,DC=domain,DC=com"
# Creating domain groups that emulate local functionality
New-ADGroup -Name "DC_LocalAdmins_Emulation" -GroupScope DomainLocal -Path "OU=SpecialGroups,DC=domain,DC=com"
The key technical reasons become clear when examining authentication flows:
- DCs use Kerberos ticket-granting tickets (TGTs) exclusively
- Local accounts would break the Kerberos trust chain
- SID generation conflicts would occur between local (SAM) and domain (AD) accounts
Instead of local groups, domain administrators should:
# Recommended domain group management pattern
Add-ADGroupMember -Identity "Domain Admins" -Members "admin_user"
Set-ADAccountControl -Identity "admin_user" -PasswordNeverExpires $false
When demoting a DC back to member server status, the local SAM database automatically re-activates. This transition script helps handle the change:
# Pre-demotion checklist script
$dcStatus = Get-WindowsFeature AD-Domain-Services
if ($dcStatus.Installed) {
Write-Warning "DC role still active - local accounts disabled"
} else {
Write-Output "Local SAM available for management"
}
When promoting a Windows Server to a Domain Controller (DC), Microsoft deliberately disables local user and group management through both GUI (lusrmgr.msc
) and programmatic methods. This design stems from Active Directory's fundamental architecture where:
// Attempting SAM operations on DC throws error
NTSTATUS status = SamOpenDomain(
serverHandle,
DOMAIN_ACCESS_MASK,
DOMAIN_ID,
&domainHandle
);
if (status != STATUS_SUCCESS) {
// Fails with ERROR_DS_ILLEGAL_MOD_OPERAT
}
The Security Account Manager (SAM) database becomes read-only during DC promotion. Any local account operations would violate AD's security boundary model. Consider these technical realities:
- Local accounts would bypass Group Policy processing
- Kerberos ticket validation would require dual authentication paths
- Security Identifier (SID) generation conflicts could occur
For scenarios requiring machine-specific access control:
# PowerShell alternative using ADSI
$computer = [ADSI]"WinNT://$env:COMPUTERNAME"
$user = $computer.Create("user", "tempadmin")
$user.SetPassword("P@ssw0rd123!")
$user.SetInfo()
For local administrator management across domain-joined systems:
<GroupPolicy>
<ComputerConfiguration>
<SecuritySettings>
<RestrictedGroups>
<Member name="BUILTIN\Administrators">
<Member>DOMAIN\DCAdmins</Member>
</Member>
</RestrictedGroups>
</SecuritySettings>
</ComputerConfiguration>
</GroupPolicy>