📎 AI Summary:
The thread is about Windows 11 network profiles occasionally flipping from **Private** to **Public** across three PCs and how to make the setting “stick.” The main guidance was to diagnose what’s changing using `Get-NetConnectionProfile`, then either re-set the profile to Private via PowerShell or enforce it persistently with a scheduled task that runs at startup/logon; it also notes common causes like adapter/SSID changes, VPN/virtual adapters, third-party security/firewall software, or domain GPO overriding local settings. Overall sentiment is practical and troubleshooting-focused, with the answer offering step-by-step fixes and follow-up questions rather than dismissing the issue.
The thread is about Windows 11 network profiles occasionally flipping from **Private** to **Public** across three PCs and how to make the setting “stick.” The main guidance was to diagnose what’s changing using `Get-NetConnectionProfile`, then either re-set the profile to Private via PowerShell or enforce it persistently with a scheduled task that runs at startup/logon; it also notes common causes like adapter/SSID changes, VPN/virtual adapters, third-party security/firewall software, or domain GPO overriding local settings. Overall sentiment is practical and troubleshooting-focused, with the answer offering step-by-step fixes and follow-up questions rather than dismissing the issue.
Solution
Hi Neil — frustrating but fixable. Below are steps to both find the cause and force the network profile to stay Private on each PC. I’ll give quick diagnostics first, then a safe persistent fix you can use even on Windows 11 Home.
Quick checks (tell me what you see)
Quick checks (tell me what you see)
- Are the PCs using Wi‑Fi, Ethernet or both?
- Do you use any VPN (WireGuard, OpenVPN, corporate VPN), virtualization (Hyper‑V, VirtualBox), or third‑party security/firewall software?
- Are these PCs domain‑joined (work/school account) or local/home PCs?
- Open PowerShell as Administrator and run:
Get-NetConnectionProfile
This shows the network Name...
Member details
- Joined
- Mar 14, 2023
- Messages
- 114,136
Hi Neil — frustrating but fixable. Below are steps to both find the cause and force the network profile to stay Private on each PC. I’ll give quick diagnostics first, then a safe persistent fix you can use even on Windows 11 Home.
Quick checks (tell me what you see)
Option A — One‑line PowerShell (temporary but immediate)
Create a scheduled task that runs at startup/logon and forces networks to Private:
Quick checks (tell me what you see)
- Are the PCs using Wi‑Fi, Ethernet or both?
- Do you use any VPN (WireGuard, OpenVPN, corporate VPN), virtualization (Hyper‑V, VirtualBox), or third‑party security/firewall software?
- Are these PCs domain‑joined (work/school account) or local/home PCs?
- Open PowerShell as Administrator and run:
Get-NetConnectionProfile
This shows the network Name, InterfaceIndex and current NetworkCategory (Public/Private/Domain).
- Windows may re-classify a network when the adapter/driver resets, if you connect to a different SSID, when a VPN/virtual adapter appears, or when third‑party security software changes firewall/network settings. Domain policies (GPO) can also override local settings.
Option A — One‑line PowerShell (temporary but immediate)
- Run PowerShell as Administrator and replace <Name> with the Name from Get-NetConnectionProfile:
Set-NetConnectionProfile -Name "<Name>" -NetworkCategory Private
Or to set any non‑private connections to Private:
Get-NetConnectionProfile | Where-Object {$.NetworkCategory -ne 'Private'} | ForEach-Object { Set-NetConnectionProfile -InterfaceIndex $.InterfaceIndex -NetworkCategory Private }
Create a scheduled task that runs at startup/logon and forces networks to Private:
- Open Task Scheduler → Create Task.
- Name: Enforce Private Network. Check “Run with highest privileges”.
- Triggers: “At startup” and “At log on (Any user)”.
- Action: Start a program:
- Program/script: powershell.exe
- Add arguments:
-WindowStyle Hidden -ExecutionPolicy Bypass -Command "Get-NetConnectionProfile | Where-Object {$.NetworkCategory -ne 'Private'} | ForEach-Object { Set-NetConnectionProfile -InterfaceIndex $.InterfaceIndex -NetworkCategory Private }" - OK. This runs as admin and will re‑set the profile if something changes it.
- You need Administrator rights for Set-NetConnectionProfile and for the scheduled task.
- If the machine is domain‑joined, domain GPO can override local settings — check with your IT. Domain networks should be Category = Domain.
- If a VPN or security app is changing the profile, the scheduled task will mask the symptom but not stop the app from making changes. If you have a VPN/security app, check its settings or temporarily disable it to see whether the profile still flips.
- Check Event Viewer → Applications and Services Logs → Microsoft → Windows → NetworkProfile → Operational for events when the change happens — note the timestamp and what other events show at the same time.
- Check whether a virtual adapter appears (Get-NetAdapter) or VPN client logs.
- Temporarily disable third‑party firewall/antivirus and watch for changes.
- Tell me the output of Get-NetConnectionProfile and if you see any VPN adapters from Get-NetAdapter — I’ll suggest a tailored fix.
- Output of Get-NetConnectionProfile,
- Whether the machine is Home/Pro/Enterprise,
- If you use a VPN or security suite,
and I’ll give a precise script or a step‑by‑step Task Scheduler export you can import.