User Account Control (UAC)

User Account Control (UAC) is a security infrastructure feature that helps prevent unauthorized changes to the operating system. It works by ensuring that applications and tasks run with the minimum necessary permissions required to perform their intended functions. When an application or a task requires administrator-level privileges to make changes that could potentially affect the security of the system, UAC prompts the user for consent or credentials before proceeding.

How UAC Works

UAC operates on the principle of the least privilege. Even when a user is logged in as an administrator, UAC splits their administrative privileges into two separate access tokens:

When a user logs in, they are granted the filtered token by default. This means that most applications will run with standard user permissions, which significantly reduces the risk of malware or unintended changes affecting the system. If an application or task requires administrative privileges, UAC will present a prompt:

Consent Prompt: For most administrative tasks, UAC displays a consent prompt that requires the user to click "Yes" to approve the action. If the user is logged in as a standard user, they will be prompted for administrator credentials.
Credential Prompt: When a standard user attempts to perform an administrative task, UAC presents a credential prompt requiring an administrator username and password.

UAC Levels

The behavior of UAC can be adjusted through its settings, which are accessible via the User Accounts control panel or by searching for "UAC settings". The default level is recommended for most users. The configurable levels include:

Security Recommendation: It is strongly recommended to keep UAC enabled at its default or highest notification level to protect your system from unauthorized changes.

Benefits of UAC

UAC and Application Compatibility

In earlier versions of Windows, some older applications were not designed to run under UAC and might have encountered compatibility issues. Windows has mechanisms to help these legacy applications function correctly, but it's always best to use applications that are designed to be UAC-aware.

Virtualization and Shimming

Windows employs technologies like UAC virtualization and shimming to allow older applications that expect to write to protected system locations (like Program Files or the registry's HKLM hive) to function without explicitly granting them administrative privileges. These mechanisms redirect writes to a user-specific location, effectively providing a virtualized environment for the application.

For more details on specific UAC prompts and their meanings, please refer to the UAC Prompts Guide.