Windows Netzwerk Profil Öffentlich Privat Domäne mit Registry oder Powershell ändern - Change Windows Network Location

Ein Netzwerk ist unter Windows bekanntlich kategoriesiert. Die Kategorien bzw. Profile nennen sich öffentlich, privat und Domäne. In Englisch nennt sich das "Network Location". Normalerweise kann man das über die Netzwerk und Internet Einstellungen bzw. innerhalb der (neuen) Einstellungen unter Netzwerk und Internet > Ethernet > "Netzwerk auswählen" > Netzwerkprofil ändern. Manchmal lassen das diverse Windows Bugs aber nicht zu - kennen wir ja alle auch schon. Wenn man sich jedoch in einem internen z.B. Heim- oder Firmen-Netzwerk befindet, kann das Profil "öffentlich" jedoch dabei ziemlich störend sein. Zumal vor allem Verbindungen von "draußen" teils über die Windows Defender Firewall geblockt werden. Wenn es sich jetzt auch noch um einen Server handelt, kann das schnell unangenehm werden.

Lösung

Es hilft wieder mal die gute alte Registry. Etwas komplizierter geht es auch in der Powershell.

Mit Registry Lösen

Registry Pfad:
Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\"ProfileName"
Name: Category (REG_DWORD)
Value: 0, 1, oder 2

Werte:
0 = Öffentlich
1 = Privat
2 = Domain

Mit Powershell lösen (manuell)

Betrifft das aktuelle (aktive) Profil!

Anzeigen der Profile
Get-NetConnectionProfile

Ändern auf Öffentlich
Set-NetConnectionProfile -Name "Profilname -NetworkCategory Public

Ändern auf Privat
Set-NetConnectionProfile -Name "Profilname -NetworkCategory Private

Ändern auf Domain
Set-NetConnectionProfile -Name "Profilname -NetworkCategory DomainAuthenticated


Mit Powershell lösen (automatisch)

Betrifft das aktuelle (aktive) Profil!
Dabei werden die Profile Get ausgelesen, in eine Variable gespeichert und anschließend mit Set geändert.

Ändern auf Öffentlich
$net = get-netconnectionprofile;Set-NetConnectionProfile -Name $net.Name -NetworkCategory Public

Ändern auf Privat
$net = get-netconnectionprofile;Set-NetConnectionProfile -Name $net.Name -NetworkCategory Private

Ändern auf Domain
$net = get-netconnectionprofile;Set-NetConnectionProfile -Name $net.Name -NetworkCategory DomainAuthenticated


Print