{"id":317,"date":"2026-05-13T12:58:43","date_gmt":"2026-05-13T20:58:43","guid":{"rendered":"https:\/\/rainier-it.com\/blog\/?p=317"},"modified":"2026-05-13T12:59:26","modified_gmt":"2026-05-13T20:59:26","slug":"lock-down-windows-11-in-15-minutes","status":"publish","type":"post","link":"https:\/\/rainier-it.com\/blog\/lock-down-windows-11-in-15-minutes\/","title":{"rendered":"Lock Down Windows 11 in 15 Minutes: A Hardening Checklist"},"content":{"rendered":"\n<p>If you take a fresh Windows 11 box out of its box, sign in with a personal Microsoft account, click Next on every prompt, and join the home Wi-Fi \u2014 you have an endpoint that an opportunistic attacker can do real damage to. Not because Windows 11 is bad. Because Windows 11 ships configured for the lowest-common-denominator home user, and small businesses keep buying it that way and putting it on the front desk.<\/p>\n\n\n\n<p>The good news: bringing a Windows 11 laptop up to a defensible baseline takes about fifteen minutes and zero extra licenses (everything below works on <strong>Win11 Pro<\/strong>, no Defender for Endpoint or Intune required).<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udee1\ufe0f Lock Down Windows 11 in 15 Minutes: A Hardening Checklist<\/h1>\n\n\n\n<p>This is a stripped-down version of the same baseline I apply to every Windows endpoint we deploy at Rainier IT \u2014 front desks, accountants, owner laptops, the works. By the end you&#8217;ll have full-disk encryption with the recovery key off the machine, a non-admin daily-use account, Microsoft Defender hardened beyond its defaults, a curated set of ASR rules in block mode, telemetry trimmed, and bloatware removed. Everything is reversible, and most of it is one PowerShell line.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udccb Prerequisites<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Windows 11 Pro<\/strong> (Home doesn&#8217;t expose BitLocker, gpedit, or most of the policy surface \u2014 see <a href=\"\/blog\/windows-11-pro-vs-home-for-smbs\/\">Why your SMB needs Windows 11 Pro, not Home<\/a> for the long version).<\/li>\n\n\n\n<li>A <strong>TPM 2.0 chip<\/strong> and <strong>Secure Boot<\/strong> enabled in firmware. Required for Windows 11 to install anyway, but worth verifying \u2014 older hardware that&#8217;s been &#8220;hacked&#8221; onto Win11 often has one or both disabled.<\/li>\n\n\n\n<li><strong>Local administrator access<\/strong>. Run PowerShell as Administrator for everything below (right-click \u2192 <em>Run as Administrator<\/em>).<\/li>\n\n\n\n<li><strong>A way to back up the BitLocker recovery key off the machine<\/strong>. A password manager, a printed sheet in a safe, or your MSP&#8217;s key-escrow system. <em>Not<\/em> a Word doc on the same disk.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd0d Step 1: Verify the Foundation (TPM + Secure Boot)<\/h2>\n\n\n\n<p>Everything below assumes the hardware is set up correctly. Two one-liners confirm it:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Confirm TPM 2.0 is present, enabled, and owned by the OS\nGet-Tpm | Select-Object TpmPresent, TpmReady, TpmEnabled, TpmActivated, ManufacturerVersion\n\n# Confirm Secure Boot is on\nConfirm-SecureBootUEFI<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># Confirm TPM 2.0 is present, enabled, and owned by the OS<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Get-Tpm<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">|<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">Select-Object<\/span><span style=\"color: #D8DEE9FF\"> TpmPresent<\/span><span style=\"color: #81A1C1\">,<\/span><span style=\"color: #D8DEE9FF\"> TpmReady<\/span><span style=\"color: #81A1C1\">,<\/span><span style=\"color: #D8DEE9FF\"> TpmEnabled<\/span><span style=\"color: #81A1C1\">,<\/span><span style=\"color: #D8DEE9FF\"> TpmActivated<\/span><span style=\"color: #81A1C1\">,<\/span><span style=\"color: #D8DEE9FF\"> ManufacturerVersion<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Confirm Secure Boot is on<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Confirm-SecureBootUEFI<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><code>Get-Tpm<\/code> should return <code>True<\/code> across the board. <code>Confirm-SecureBootUEFI<\/code> returns <code>True<\/code> if Secure Boot is on, <code>False<\/code> if it&#8217;s off, and throws if the firmware is in legacy\/CSM mode. If either is wrong, reboot into UEFI (F2\/Del\/F10 depending on vendor) and turn them on <strong>before<\/strong> continuing \u2014 encrypting a disk without TPM-backed key storage gives you BitLocker on hard mode.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd12 Step 2: BitLocker the System Drive<\/h2>\n\n\n\n<p>Full-disk encryption is the single biggest mitigation against laptop theft, lost-on-the-plane, and &#8220;the office got broken into over the weekend.&#8221; Windows 11 Pro includes it for free. The default GUI flow (<em>Settings \u2192 System \u2192 Storage \u2192 Drives<\/em> \u2192 <em>Turn on BitLocker<\/em>) works fine, but PowerShell is faster and easier to script across a fleet:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Encrypt C: with XTS-AES 256, used-space only (fast \u2014 extends as you fill the disk)\nEnable-BitLocker -MountPoint \"C:\" `\n    -EncryptionMethod XtsAes256 `\n    -UsedSpaceOnly `\n    -TpmProtector\n\n# Add a recovery password (this is what you write down)\nAdd-BitLockerKeyProtector -MountPoint \"C:\" -RecoveryPasswordProtector\n\n# Print the recovery password to stdout \u2014 copy it to your password manager NOW\n(Get-BitLockerVolume -MountPoint \"C:\").KeyProtector |\n    Where-Object KeyProtectorType -EQ 'RecoveryPassword' |\n    Select-Object -ExpandProperty RecoveryPassword<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># Encrypt C: with XTS-AES 256, used-space only (fast \u2014 extends as you fill the disk)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Enable-BitLocker<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">MountPoint <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">C:<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">EncryptionMethod XtsAes256 <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">UsedSpaceOnly <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">TpmProtector<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Add a recovery password (this is what you write down)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Add-BitLockerKeyProtector<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">MountPoint <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">C:<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">RecoveryPasswordProtector<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Print the recovery password to stdout \u2014 copy it to your password manager NOW<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">Get-BitLockerVolume<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">MountPoint <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">C:<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">.KeyProtector <\/span><span style=\"color: #81A1C1\">|<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">Where-Object<\/span><span style=\"color: #D8DEE9FF\"> KeyProtectorType <\/span><span style=\"color: #81A1C1\">-EQ<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">RecoveryPassword<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">|<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">Select-Object<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">ExpandProperty RecoveryPassword<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>A few important notes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>The recovery password is your only way back in<\/strong> if the TPM clears (BIOS update, motherboard swap, certain Windows updates). Lose it and the drive is gone. Back it up <em>off the machine<\/em> before you reboot.<\/li>\n\n\n\n<li><code>-UsedSpaceOnly<\/code> means encryption finishes in minutes instead of hours on a mostly-empty disk. Newly-written blocks get encrypted as they&#8217;re written. Fine for a new build; use <code>-FullDisk<\/code> if you&#8217;re encrypting a drive that&#8217;s had unencrypted data on it before.<\/li>\n\n\n\n<li>Check status any time with <code>Get-BitLockerVolume<\/code>. <code>VolumeStatus<\/code> should read <code>FullyEncrypted<\/code>.<\/li>\n<\/ul>\n\n\n\n<p>If you manage more than five Windows boxes, <strong>set up BitLocker key escrow<\/strong> \u2014 Entra ID \/ Active Directory backs it up automatically; for standalone machines, an MSP-managed password vault like the one we use at Rainier IT works.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udc64 Step 3: Stop Running as Administrator<\/h2>\n\n\n\n<p>Most Windows compromises don&#8217;t start with a zero-day. They start with a user clicking on something while logged in as a local admin, and the malware silently inheriting that admin token. Standard-user accounts plus a real UAC prompt close the door on the entire commodity-malware category.<\/p>\n\n\n\n<p>The pattern is: <strong>one local admin account, one Standard account for daily use<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Create a dedicated admin account (use a long password from your manager)\n$pw = Read-Host -AsSecureString \"New password for rainier-admin\"\nNew-LocalUser -Name \"rainier-admin\" -Password $pw -FullName \"Rainier IT Admin\" -PasswordNeverExpires\nAdd-LocalGroupMember -Group \"Administrators\" -Member \"rainier-admin\"\n\n# Demote your daily-use account from Administrators to Users\nRemove-LocalGroupMember -Group \"Administrators\" -Member \"christopher\"\nAdd-LocalGroupMember -Group \"Users\" -Member \"christopher\"<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># Create a dedicated admin account (use a long password from your manager)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">pw<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">Read-Host<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">AsSecureString <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">New password for rainier-admin<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">New-LocalUser<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Name <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">rainier-admin<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Password <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">pw<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">FullName <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Rainier IT Admin<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">PasswordNeverExpires<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Add-LocalGroupMember<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Group <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Administrators<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Member <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">rainier-admin<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Demote your daily-use account from Administrators to Users<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Remove-LocalGroupMember<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Group <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Administrators<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Member <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">christopher<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Add-LocalGroupMember<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Group <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Users<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Member <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">christopher<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Then tighten UAC so it prompts every time an admin token is requested, instead of silently elevating signed Microsoft binaries:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Always prompt on the secure desktop, even for built-in Windows tools\nSet-ItemProperty `\n    -Path \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\" `\n    -Name \"ConsentPromptBehaviorAdmin\" -Value 2\n\nSet-ItemProperty `\n    -Path \"HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\" `\n    -Name \"PromptOnSecureDesktop\" -Value 1<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># Always prompt on the secure desktop, even for built-in Windows tools<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Set-ItemProperty<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Path <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Name <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">ConsentPromptBehaviorAdmin<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Value <\/span><span style=\"color: #B48EAD\">2<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Set-ItemProperty<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Path <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Name <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">PromptOnSecureDesktop<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Value <\/span><span style=\"color: #B48EAD\">1<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><strong>Reboot, log in as your now-Standard account, and try to install something.<\/strong> UAC should prompt for <code>rainier-admin<\/code> credentials \u2014 that&#8217;s the whole win. You haven&#8217;t lost any capability; you&#8217;ve just made it explicit when admin power is being exercised.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udda0 Step 4: Harden Microsoft Defender<\/h2>\n\n\n\n<p>Defender out of the box is good. Defender configured the way an MSP would configure it is meaningfully better. Here are the highest-value settings, distilled from our production baseline (<code>Apply-DefenderBaseline.ps1<\/code> \u2014 the full version lives in our internal repo and gets pushed by TacticalRMM):<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Core protections \u2014 most of these are already on, but worth pinning explicitly\nSet-MpPreference `\n    -DisableRealtimeMonitoring $false `\n    -DisableBehaviorMonitoring $false `\n    -DisableScriptScanning $false `\n    -MAPSReporting Advanced `\n    -SubmitSamplesConsent SendSafeSamples `\n    -CloudBlockLevel High `\n    -CloudExtendedTimeout 50 `\n    -PUAProtection Enabled `\n    -EnableNetworkProtection Enabled `\n    -SignatureUpdateInterval 4<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># Core protections \u2014 most of these are already on, but worth pinning explicitly<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Set-MpPreference<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">DisableRealtimeMonitoring <\/span><span style=\"color: #81A1C1\">$false<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">DisableBehaviorMonitoring <\/span><span style=\"color: #81A1C1\">$false<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">DisableScriptScanning <\/span><span style=\"color: #81A1C1\">$false<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">MAPSReporting Advanced <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">SubmitSamplesConsent SendSafeSamples <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">CloudBlockLevel High <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">CloudExtendedTimeout <\/span><span style=\"color: #B48EAD\">50<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">PUAProtection Enabled <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">EnableNetworkProtection Enabled <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">SignatureUpdateInterval <\/span><span style=\"color: #B48EAD\">4<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>What you&#8217;re turning on, in plain English:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>**<code>PUAProtection<\/code>** \u2014 blocks Potentially Unwanted Apps (the bundled-installer crap that comes with &#8220;free PDF converter&#8221; downloads). Off by default. Huge quality-of-life win for end users.<\/li>\n\n\n\n<li>**<code>EnableNetworkProtection<\/code>** \u2014 blocks outbound connections to known-malicious IPs and domains at the Defender layer, before your browser even tries to load them. Phishing-resistant in the best way.<\/li>\n\n\n\n<li>**<code>CloudBlockLevel High<\/code>** \u2014 Defender will wait longer for a cloud verdict on an unknown binary and lean toward blocking. Adds a few hundred ms to first-launch of new programs; pays for itself the first time it stops a payload.<\/li>\n\n\n\n<li>**<code>SubmitSamplesConsent SendSafeSamples<\/code>** \u2014 auto-submits non-PII samples to Microsoft so the next person who sees the same threat gets a faster verdict. The community immune system.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Attack Surface Reduction (ASR) rules<\/h3>\n\n\n\n<p>This is where Defender goes from &#8220;antivirus&#8221; to &#8220;actual EDR-lite.&#8221; ASR is a set of behavior-based blocks for the techniques real attackers actually use \u2014 Office spawning child processes, scripts pulling executables, LSASS getting scraped. Most of these have near-zero false positives. A few need to be audited before flipping to block.<\/p>\n\n\n\n<p>Here are the rules I block on every endpoint by default. Run this as is \u2014 it&#8217;s idempotent and safe to re-run:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># ASR rule IDs in BLOCK mode (Action = 1)\n# Reference: learn.microsoft.com\/defender-endpoint\/attack-surface-reduction-rules-reference\n$asrBlock = @{\n    # Block credential stealing from LSASS\n    '9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2' = 1\n    # Block Office apps from creating child processes\n    'd4f940ab-401b-4efc-aadc-ad5f3c50688a' = 1\n    # Block Office apps from creating executable content\n    '3b576869-a4ec-4529-8536-b80a7769e899' = 1\n    # Block Office apps from injecting code into other processes\n    '75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84' = 1\n    # Block JS\/VBScript from launching downloaded executable content\n    'd3e037e1-3eb8-44c8-a917-57927947596d' = 1\n    # Block execution of potentially obfuscated scripts\n    '5beb7efe-fd9a-4556-801d-275e5ffc04cc' = 1\n    # Block Win32 API calls from Office macros\n    '92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b' = 1\n    # Block executable content from email and webmail\n    'be9ba2d9-53ea-4cdc-84e5-9b1eeeee46550' = 1\n    # Block persistence through WMI event subscription\n    'e6db77e5-3df2-4cf1-b95a-636979351e5b' = 1\n    # Block credential theft via Adobe Reader child processes\n    '7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c' = 1\n}\n\nforeach ($id in $asrBlock.Keys) {\n    Add-MpPreference -AttackSurfaceReductionRules_Ids $id `\n                     -AttackSurfaceReductionRules_Actions $asrBlock&#91;$id&#93;\n}\n\n# Verify\n(Get-MpPreference).AttackSurfaceReductionRules_Ids<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># ASR rule IDs in BLOCK mode (Action = 1)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Reference: learn.microsoft.com\/defender-endpoint\/attack-surface-reduction-rules-reference<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">asrBlock<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># Block credential stealing from LSASS<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># Block Office apps from creating child processes<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">d4f940ab-401b-4efc-aadc-ad5f3c50688a<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># Block Office apps from creating executable content<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">3b576869-a4ec-4529-8536-b80a7769e899<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># Block Office apps from injecting code into other processes<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># Block JS\/VBScript from launching downloaded executable content<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">d3e037e1-3eb8-44c8-a917-57927947596d<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># Block execution of potentially obfuscated scripts<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">5beb7efe-fd9a-4556-801d-275e5ffc04cc<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># Block Win32 API calls from Office macros<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># Block executable content from email and webmail<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">be9ba2d9-53ea-4cdc-84e5-9b1eeeee46550<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># Block persistence through WMI event subscription<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">e6db77e5-3df2-4cf1-b95a-636979351e5b<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># Block credential theft via Adobe Reader child processes<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">foreach<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">id<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">in<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">asrBlock.Keys<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">Add-MpPreference<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">AttackSurfaceReductionRules_Ids <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">id<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                     <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">AttackSurfaceReductionRules_Actions <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">asrBlock<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">id<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Verify<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">Get-MpPreference<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">.AttackSurfaceReductionRules_Ids<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>If something stops working after this (a niche line-of-business app, a macro-heavy spreadsheet someone built in 2008), check the Defender event log at <em>Event Viewer \u2192 Applications and Services \u2192 Microsoft \u2192 Windows \u2192 Windows Defender \u2192 Operational<\/em>. Look for event ID <strong>1121<\/strong> (block) or <strong>1122<\/strong> (audit). You can flip a single rule to Audit mode (<code>Action = 2<\/code>) while you investigate, or to Warn (<code>6<\/code>) which lets the user bypass with a click.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tamper Protection<\/h3>\n\n\n\n<p>This is the one Defender setting <strong>you cannot enable from PowerShell<\/strong>. It exists specifically to stop malware from running PowerShell to turn off the rest of Defender. Enable it manually:<\/p>\n\n\n\n<p><em>Settings \u2192 Privacy &amp; Security \u2192 Windows Security \u2192 Virus &amp; threat protection \u2192 Manage settings \u2192 Tamper Protection \u2192 On<\/em><\/p>\n\n\n\n<p>If you&#8217;re on Defender for Business or Endpoint, push it from the portal instead \u2014 that&#8217;s the only way to make it survive a fresh OS install via policy.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd25 Step 5: Firewall and SmartScreen<\/h2>\n\n\n\n<p>These are mostly correct by default on a fresh Windows 11 install, but every now and again you&#8217;ll find a box where someone disabled the firewall to &#8220;fix&#8221; a printing issue six years ago and never turned it back on. Belt and suspenders:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Make sure all three firewall profiles are on and default-deny inbound\nSet-NetFirewallProfile -Profile Domain,Public,Private -Enabled True\nSet-NetFirewallProfile -Profile Public  -DefaultInboundAction Block\nSet-NetFirewallProfile -Profile Private -DefaultInboundAction Block\n\n# SmartScreen \u2014 block unrecognized apps and downloads\nSet-MpPreference -PUAProtection Enabled\nSet-ItemProperty `\n    -Path \"HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System\" `\n    -Name \"EnableSmartScreen\" -Value 1\nSet-ItemProperty `\n    -Path \"HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System\" `\n    -Name \"ShellSmartScreenLevel\" -Value \"Block\"<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># Make sure all three firewall profiles are on and default-deny inbound<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Set-NetFirewallProfile<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Profile Domain<\/span><span style=\"color: #81A1C1\">,<\/span><span style=\"color: #D8DEE9FF\">Public<\/span><span style=\"color: #81A1C1\">,<\/span><span style=\"color: #D8DEE9FF\">Private <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Enabled True<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Set-NetFirewallProfile<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Profile Public  <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">DefaultInboundAction Block<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Set-NetFirewallProfile<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Profile Private <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">DefaultInboundAction Block<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># SmartScreen \u2014 block unrecognized apps and downloads<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Set-MpPreference<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">PUAProtection Enabled<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Set-ItemProperty<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Path <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Name <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">EnableSmartScreen<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Value <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Set-ItemProperty<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Path <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Name <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">ShellSmartScreenLevel<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Value <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Block<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>While you&#8217;re at it, kill SMBv1 if it&#8217;s somehow still installed \u2014 WannaCry rode that train and the protocol has no legitimate use on a 2026 endpoint:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Returns \"DisabledByDefault\" or \"Disabled\" if you're already fine\nGet-WindowsOptionalFeature -Online -FeatureName SMB1Protocol\n\n# Remove it entirely if it's enabled\nDisable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># Returns &quot;DisabledByDefault&quot; or &quot;Disabled&quot; if you&#39;re already fine<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Get-WindowsOptionalFeature<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Online <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">FeatureName SMB1Protocol<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Remove it entirely if it&#39;s enabled<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Disable-WindowsOptionalFeature<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Online <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">FeatureName SMB1Protocol <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">NoRestart<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddf9 Step 6: Trim the Telemetry and the Bloatware<\/h2>\n\n\n\n<p>Out-of-the-box Win11 ships with a fairly aggressive telemetry default and a small mountain of pre-installed consumer apps that have no business on a work laptop (Solitaire Collection, Clipchamp, Xbox Game Bar, Spotify, the Disney+ shortcut, etc.). None of this is <em>unsafe<\/em> per se \u2014 but every app you don&#8217;t need is one more attack surface to patch, one more update prompt to ignore.<\/p>\n\n\n\n<p><strong>Telemetry minimum<\/strong> \u2014 Pro can&#8217;t go below &#8220;Required diagnostic data&#8221; (Enterprise\/Education can):<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>Set-ItemProperty `\n    -Path \"HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\DataCollection\" `\n    -Name \"AllowTelemetry\" -Value 1\n\n# Turn off the lock-screen \"tips and tricks\" \/ suggested content\nSet-ItemProperty `\n    -Path \"HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\CloudContent\" `\n    -Name \"DisableWindowsConsumerFeatures\" -Value 1<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #88C0D0\">Set-ItemProperty<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Path <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\DataCollection<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Name <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">AllowTelemetry<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Value <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Turn off the lock-screen &quot;tips and tricks&quot; \/ suggested content<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Set-ItemProperty<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Path <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\CloudContent<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Name <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">DisableWindowsConsumerFeatures<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Value <\/span><span style=\"color: #B48EAD\">1<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><strong>Bloatware<\/strong> \u2014 the list varies by OEM, but this gets the worst of it:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>$bloat = @(\n    'Microsoft.XboxApp',\n    'Microsoft.XboxGameOverlay',\n    'Microsoft.XboxGamingOverlay',\n    'Microsoft.XboxIdentityProvider',\n    'Microsoft.XboxSpeechToTextOverlay',\n    'Microsoft.MicrosoftSolitaireCollection',\n    'Microsoft.ZuneMusic',\n    'Microsoft.ZuneVideo',\n    'Microsoft.BingNews',\n    'Microsoft.BingWeather',\n    'Microsoft.GetHelp',\n    'Microsoft.Getstarted',\n    'Microsoft.WindowsFeedbackHub',\n    'Microsoft.MixedReality.Portal',\n    'Microsoft.YourPhone',\n    'Microsoft.Clipchamp'\n)\n\nforeach ($pkg in $bloat) {\n    Get-AppxPackage -AllUsers -Name $pkg -ErrorAction SilentlyContinue |\n        Remove-AppxPackage -AllUsers -ErrorAction SilentlyContinue\n    Get-AppxProvisionedPackage -Online |\n        Where-Object DisplayName -EQ $pkg |\n        Remove-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">bloat<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #ECEFF4\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.XboxApp<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.XboxGameOverlay<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.XboxGamingOverlay<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.XboxIdentityProvider<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.XboxSpeechToTextOverlay<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.MicrosoftSolitaireCollection<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.ZuneMusic<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.ZuneVideo<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.BingNews<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.BingWeather<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.GetHelp<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.Getstarted<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.WindowsFeedbackHub<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.MixedReality.Portal<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.YourPhone<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Microsoft.Clipchamp<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">foreach<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">pkg<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">in<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">bloat<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">Get-AppxPackage<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">AllUsers <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Name <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">pkg<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">ErrorAction SilentlyContinue <\/span><span style=\"color: #81A1C1\">|<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">Remove-AppxPackage<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">AllUsers <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">ErrorAction SilentlyContinue<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">Get-AppxProvisionedPackage<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Online <\/span><span style=\"color: #81A1C1\">|<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">Where-Object<\/span><span style=\"color: #D8DEE9FF\"> DisplayName <\/span><span style=\"color: #81A1C1\">-EQ<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">pkg<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">|<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">Remove-AppxProvisionedPackage<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Online <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">ErrorAction SilentlyContinue<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>The <code>-AllUsers<\/code> flag plus the provisioned-package removal means the apps don&#8217;t come back the first time a new user signs in.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udf99\ufe0f Bonus: Disable Recall (for the compliance shops)<\/h2>\n\n\n\n<p>If you&#8217;re on a Copilot+ PC running Windows 11 24H2 or later, <strong>Microsoft Recall<\/strong> ships enabled by default and takes a screenshot of your desktop every few seconds for later AI search. For a personal laptop that might be fine. For an endpoint that touches PHI, attorney-client material, financial records, or anything else governed by HIPAA \/ SEC \/ state breach-notification law \u2014 it&#8217;s a <em>non-starter<\/em>. The Recall snapshot database is encrypted at rest but unlocked the moment the user is signed in, which means any malware running under that user&#8217;s token can read every screen the user has ever looked at.<\/p>\n\n\n\n<p>Turn it off:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Disable Recall snapshot saving system-wide\nNew-Item -Path \"HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsAI\" -Force | Out-Null\nSet-ItemProperty `\n    -Path \"HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsAI\" `\n    -Name \"DisableAIDataAnalysis\" -Value 1<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># Disable Recall snapshot saving system-wide<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">New-Item<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Path <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsAI<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Force <\/span><span style=\"color: #81A1C1\">|<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">Out-Null<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Set-ItemProperty<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Path <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsAI<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Name <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">DisableAIDataAnalysis<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Value <\/span><span style=\"color: #B48EAD\">1<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Or from the GUI: <em>Settings \u2192 Privacy &amp; Security \u2192 Recall &amp; Snapshots \u2192 Save snapshots<\/em> \u2192 Off, then <em>Delete snapshots<\/em> to flush whatever&#8217;s already been captured.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 The Checklist<\/h2>\n\n\n\n<p>If you remember nothing else, work down this list on every new Win11 box:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>[ ] Verify <strong>TPM 2.0<\/strong> is present and Secure Boot is on (<code>Get-Tpm<\/code>, <code>Confirm-SecureBootUEFI<\/code>).<\/li>\n\n\n\n<li>[ ] <strong>Enable BitLocker<\/strong> with XTS-AES 256 + TPM protector + RecoveryPassword. <strong>Back the recovery key up off the machine.<\/strong><\/li>\n\n\n\n<li>[ ] Create a <strong>dedicated admin account<\/strong>; demote the daily-use account to <strong>Standard User<\/strong>.<\/li>\n\n\n\n<li>[ ] Tighten <strong>UAC<\/strong> to always prompt on the secure desktop.<\/li>\n\n\n\n<li>[ ] Apply the <strong>Defender baseline<\/strong> \u2014 cloud-delivered protection High, network protection on, PUA enabled, signature updates every 4 hours.<\/li>\n\n\n\n<li>[ ] Enable the <strong>ASR rule set<\/strong> in block mode; audit and review for false positives in the first week.<\/li>\n\n\n\n<li>[ ] Enable <strong>Tamper Protection<\/strong> (manual, GUI only \u2014 or via Defender portal).<\/li>\n\n\n\n<li>[ ] Confirm <strong>firewall<\/strong> is on for all three profiles with default-deny inbound; verify <strong>SmartScreen<\/strong> is on.<\/li>\n\n\n\n<li>[ ] <strong>Remove SMBv1<\/strong> if installed.<\/li>\n\n\n\n<li>[ ] <strong>Trim telemetry<\/strong> to Required + disable consumer-features content.<\/li>\n\n\n\n<li>[ ] <strong>Uninstall bloatware<\/strong> for all users, including provisioned packages.<\/li>\n\n\n\n<li>[ ] If on a Copilot+ PC and you handle regulated data: <strong>disable Recall<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p><strong>You&#8217;re done!<\/strong> A fresh Windows 11 endpoint that walks through this list is harder to break into than 95% of what&#8217;s plugged into the average small-business network \u2014 without buying a single extra license.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s next in this series<\/h2>\n\n\n\n<p>This post covers what one administrator can do to one machine in fifteen minutes. The next jump up the maturity curve is doing all of this <em>across a fleet<\/em>, automatically, with key escrow, drift detection, and someone watching the dashboards at 2 AM. That&#8217;s the post coming up after this one \u2014 how we run the same baseline (and quite a bit more) across every endpoint we manage at Rainier IT using TacticalRMM, Microsoft Defender, and Huntress as a managed SOC layer on top.<\/p>\n\n\n\n<p>If your shop has more than five Windows endpoints and <em>somebody<\/em> doesn&#8217;t know which ones are encrypted, which ones still have local admin on the daily-use account, and which ones haven&#8217;t checked in for patches in six weeks \u2014 <strong>that&#8217;s exactly what we do<\/strong>. Drop me a line at <a href=\"mailto:christopher@rainier-it.com\">christopher@rainier-it.com<\/a> or <a href=\"https:\/\/rainier-it.com\/contact\">book a free 15-minute audit<\/a>. Happy to look at one machine with you and tell you honestly whether you need help or whether you&#8217;re already doing fine.<\/p>\n\n\n\n<p>Thanks, and stay encrypted!<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>A 15-minute, license-free Windows 11 hardening checklist for SMB endpoints \u2014 TPM\/Secure Boot, BitLocker, standard-user accounts, Defender + ASR rules, firewall, telemetry trim, and Recall opt-out.<\/p>\n","protected":false},"author":1,"featured_media":330,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,19,15],"tags":[],"class_list":["post-317","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-management","category-guides","category-microsoft-windows"],"_links":{"self":[{"href":"https:\/\/rainier-it.com\/blog\/wp-json\/wp\/v2\/posts\/317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rainier-it.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rainier-it.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rainier-it.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rainier-it.com\/blog\/wp-json\/wp\/v2\/comments?post=317"}],"version-history":[{"count":3,"href":"https:\/\/rainier-it.com\/blog\/wp-json\/wp\/v2\/posts\/317\/revisions"}],"predecessor-version":[{"id":331,"href":"https:\/\/rainier-it.com\/blog\/wp-json\/wp\/v2\/posts\/317\/revisions\/331"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rainier-it.com\/blog\/wp-json\/wp\/v2\/media\/330"}],"wp:attachment":[{"href":"https:\/\/rainier-it.com\/blog\/wp-json\/wp\/v2\/media?parent=317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rainier-it.com\/blog\/wp-json\/wp\/v2\/categories?post=317"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rainier-it.com\/blog\/wp-json\/wp\/v2\/tags?post=317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}