Windows 10/11 Security Hardening: Essential Settings Every User Should Change

Windows is the most targeted operating system on the planet — and the default settings prioritize ease-of-use over security. The good news: with about an hour of work, you can dramatically reduce your exposure. This guide covers the most impactful Windows security settings any user or administrator can configure.

1. Windows Update: Enable and Stay Current

# Via Settings:
Settings > Windows Update > Advanced options
- "Receive updates for other Microsoft products" → ON
- "Download updates over metered connections" → ON
- Configure Active Hours to prevent disruptive restarts

# Via PowerShell (run as Administrator):
# Check update status:
Get-WindowsUpdate

# Install all pending updates:
Install-Module PSWindowsUpdate -Force
Install-WindowsUpdate -AcceptAll -AutoReboot

2. Microsoft Defender: Full Configuration

# PowerShell (Administrator) — Enable all protections:

# Enable real-time protection:
Set-MpPreference -DisableRealtimeMonitoring $false

# Enable cloud-delivered protection (faster detection):
Set-MpPreference -MAPSReporting Advanced
Set-MpPreference -SubmitSamplesConsent SendAllSamples

# Enable exploit protection:
Set-ProcessMitigation -System -Enable DEP,SEHOP

# Enable controlled folder access (ransomware protection):
Set-MpPreference -EnableControlledFolderAccess Enabled

# Run a full scan:
Start-MpScan -ScanType FullScan

# Check Defender status:
Get-MpComputerStatus | Select-Object AMRunningMode,RealTimeProtectionEnabled

3. User Account Control (UAC)

# UAC prompts when programs try to make system changes
# Default is fine for most users, but verify it's enabled:

# Check UAC level via registry:
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" | Select-Object ConsentPromptBehaviorAdmin

# Values: 0=no prompt, 1=prompt for credentials, 2=prompt, 5=default
# Should be 5 (default) or higher

# Via Control Panel:
# Control Panel > User Accounts > Change User Account Control settings
# Set to: "Notify me only when apps try to make changes"

4. Disable Unnecessary Services and Features

# PowerShell — disable services that increase attack surface:

# Remote Registry (allows remote registry access):
Stop-Service RemoteRegistry
Set-Service RemoteRegistry -StartupType Disabled

# Remote Desktop (if you don't use it):
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 1

# Print Spooler on non-print machines (PrintNightmare vector):
Stop-Service Spooler
Set-Service Spooler -StartupType Disabled

# NetBIOS over TCP/IP (older protocol, rarely needed):
# Network adapter > Properties > IPv4 > Advanced > WINS tab
# Select "Disable NetBIOS over TCP/IP"

5. Enable BitLocker Disk Encryption

# BitLocker encrypts your drive — protects data if laptop is stolen
# Requirements: Windows 10/11 Pro/Enterprise + TPM chip

# Enable via PowerShell:
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector

# Save recovery key to Microsoft account AND print a copy:
# Control Panel > BitLocker Drive Encryption > Back up recovery key

# Check status:
Get-BitLockerVolume | Select-Object MountPoint,EncryptionPercentage,VolumeStatus

# Windows Home doesn't have BitLocker but has Device Encryption:
# Settings > Privacy & security > Device encryption > Enable

6. Configure Windows Firewall

# Enable all profiles:
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

# View current rules:
Get-NetFirewallRule | Where-Object {$_.Enabled -eq "True"} | Format-Table

# Block inbound connections by default (they already are, verify):
Set-NetFirewallProfile -Profile Public -DefaultInboundAction Block

# Disable specific risky inbound rules:
# File and Printer Sharing (disable if not needed on public networks):
Get-NetFirewallRule -DisplayGroup "File and Printer Sharing" | Set-NetFirewallRule -Profile Public -Enabled False

7. Secure Your Browser

# Microsoft Edge security settings:
# edge://settings/privacy
# - Set to "Strict" tracking prevention
# - Enable "SmartScreen" for phishing protection
# - Enable "Block potentially unwanted apps"

# Chrome security:
# chrome://settings/security
# - Enable "Enhanced protection"
# - Enable "Always use secure connections"

# Essential browser extensions (all browsers):
# uBlock Origin — blocks malicious ads/scripts (install from official store only!)
# Privacy Badger (EFF) — blocks trackers

8. Audit Local User Accounts

# List all local user accounts:
Get-LocalUser | Format-Table Name,Enabled,LastLogon,PasswordRequired

# Disable the built-in Administrator account (when not needed):
Disable-LocalUser -Name "Administrator"

# Disable built-in Guest account:
Disable-LocalUser -Name "Guest"

# Ensure your daily-use account is NOT an administrator:
# Use a standard user account for daily work
# Only elevate with UAC when installing software

# Check who has admin rights:
Get-LocalGroupMember -Group "Administrators"

9. Enable Audit Logging

# PowerShell — enable detailed audit policies:
auditpol /set /category:"Logon/Logoff" /success:enable /failure:enable
auditpol /set /category:"Account Logon" /success:enable /failure:enable
auditpol /set /category:"Privilege Use" /success:enable /failure:enable
auditpol /set /category:"Object Access" /failure:enable

# Increase Security event log size (default is too small):
wevtutil sl Security /ms:1073741824   # 1 GB

# View failed login attempts:
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} | Select-Object TimeCreated,Message -First 20

Security Checklist

  • ☑ Windows Update current, auto-updates enabled
  • ☑ Windows Defender fully enabled with cloud protection
  • ☑ UAC enabled (default level or higher)
  • ☑ Unnecessary services disabled (Remote Registry, Print Spooler if unused)
  • ☑ BitLocker/Device Encryption enabled
  • ☑ Windows Firewall enabled on all profiles
  • ☑ Browser hardened with uBlock Origin
  • ☑ Only necessary admin accounts exist
  • ☑ Daily work done from standard (non-admin) account
  • ☑ Security audit logging enabled

Wrap Up

These changes harden Windows significantly without affecting normal day-to-day use. The most impactful single change: use a standard user account for daily work and only elevate for installations. Combined with the full checklist, you’ll be running a genuinely secure Windows environment.