guidox / Security

Run Your Daily Work as a Standard User

TL;DR

Create a second admin, demote your daily account with **Remove-LocalGroupMember**, and elevate per task with **Run as different user**. Check the result with **whoami /groups**.

Before you start

Requirements

  • A second administrator account
  • Admin rights for the demotion
  • 20 minutes
Step by step

Instructions

01

Read the current membership

**whoami /groups** shows the groups of the running token, including the administrators group with its integrity level. A standard account carries the group but it is deny-only.

whoami /user
whoami /groups | Select-String -Pattern 'S-1-5-32-544|Mandatory Label'
Get-LocalGroupMember -Group Administrators | Select-Object Name,PrincipalSource
02

Make sure the second admin really works

Demoting your only admin account locks you out of every elevation prompt. Sign in once with the other account and open an elevated shell before you change anything.

Get-LocalUser | Select-Object Name,Enabled,LastLogon
# switch user, sign in as the second admin, open PowerShell as administrator
whoami /groups | Select-String -Pattern 'S-1-5-32-544'
03

Demote the daily account

**Remove-LocalGroupMember** takes the account out of the administrators group. The change applies at the next sign-in, because the current token keeps its groups until then.

Remove-LocalGroupMember -Group Administrators -Member "$env:COMPUTERNAME\dailyuser"
Get-LocalGroupMember -Group Administrators
# sign out and back in
whoami /groups | Select-String -Pattern 'S-1-5-32-544'
04

Keep UAC at the default level

**ConsentPromptBehaviorAdmin** controls the prompt for administrators; **EnableLUA** must stay at 1. Turning UAC off also disables the token split that makes a standard account meaningful.

Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' | Select-Object EnableLUA,ConsentPromptBehaviorAdmin,PromptOnSecureDesktop
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 1 /f
05

Elevate one task at a time

**Run as different user** starts a single process with the admin credentials. That is the habit that replaces an admin desktop: one window elevated, everything else standard.

# Shift+right-click the app > Run as different user > admin credentials
runas /user:PC01\AdminBackup cmd
whoami
whoami /groups | Select-String -Pattern 'S-1-5-32-544'
tipThe elevated process runs with the admin profile. Save files in a shared location, not in the admin's Desktop folder.
06

Verify the split after a day of work

The daily shell must report a medium integrity level and a deny-only administrators group. Anything else means the demotion did not apply or the session was not restarted.

whoami /groups | Select-String -Pattern 'Mandatory Label|S-1-5-32-544'
Get-Process -IncludeUserName | Where-Object UserName -like "*dailyuser*" | Select-Object -First 5 Name,Id
Troubleshooting

Common issues

Every action asks for an admin password

That is the design. Use Run as different user for whole applications and give the standard account write access to the folders it needs.

An app refuses to start as a standard user

It writes to Program Files or HKLM. Check with Procmon; a vendor update or a junction to a writable folder is the fix, not admin rights for everything.

The demotion had no effect

The token is cached until sign-out. Sign out completely, or reboot, then check whoami /groups again.

I cannot install updates any more

Windows Update runs as SYSTEM and is unaffected. Software that needs elevation needs the admin account, which is the point.

FAQ

Frequently asked

Does a standard account stop malware?

It stops the malware from writing to system locations without a prompt. Anything that runs in your user context can still read your documents.

Is this the same as the built-in Administrator account?

No. That account is disabled by default and should stay that way; a named second admin with its own password is easier to audit.

Can I keep admin rights but rely on UAC?

That is the default and better than nothing, but the browser still runs in the same account. The split account removes that link entirely.

How to undo this

Add the account back with Add-LocalGroupMember -Group Administrators -Member "PC01\dailyuser" and sign out. UAC settings were only read, not changed.

Changelog · 1 entry
  1. 2026-11-01
    First version
Interactive version: checklist, feedback, related guides →

Free · no account needed · tracks your progress