Seit Windows Vista und Windows Server 2008 unterscheidet das Betriebssystem Netzwerke nach drei Kategorien: Öffentlich, Arbeitsplatz und Privat. Per Standard wird immer, sofern keine Auswahl erfolgt, Öffentlich verwendet.
Ein nachträgliches Ändern ist nicht immer möglich. Ferner stehen unter Windows Server Core oder Hyper-V Server keine grafischen Oberflächen wie die entsprechenden Einträge in der Systemsteuerung zur Verfügung. Abhilfe schaffen Befehle in der Powershell:
Grundsätzlich kann man für jede Netzwerkkarte die Kategorie ändern, dazu kann man zunächst mit dem Befehl
get-netconnectionprofile
den aktuellen Stand auslesen. Die Ausgabe sieht beispielsweise so aus:
Name : lab.local InterfaceAlias : Ethernet 2 InterfaceIndex : 13 NetworkCategory : Public IPv4Connectivity : Internet IPv6Connectivity : LocalNetwork
Um nun für diese Netzwerkkarte die Kategorie zu ändern, folgenden Befehl ausführen:
set-netconnectionprofile -interfaceindex 13 -networkcategory private
Möchte man für alle Netzwerkkarten die Kategorie ändern, kann der Parameter “-interfaceindex” weggelassen werden.
Persönliche Bemerkung
In meinem Fall kommen diese Befehle meist in Verbindung mit Hyper-V Server zum Einsatz. Allerdings auch bei einem etwas störrischen Windows Server 2012 R2 Standard, der nach einem Neustart öfters schon der Meinung war, das die LAN-Schnittstelle wieder “Öffentlich” ist. Als workaround wurde folgendes Skript als Aufgabe hinterlegt:
@echo off powershell get-netconnectionprofile -interfaceindex 22 | find "Private" if %errorlevel%==1 powershell set-netconnectionprofile -interfaceindex 22 -networkcategory private
Kurzum: Die Netzwerkkategorie wird nur geändert, sollte Sie nicht bereits auf “Private” stehen.
Quellen
Change Hyper-V Network Category from Public to Private using Powershell
Network Connection Cmdlets in Windows PowerShell
Update 08.02.2019
Anbei ein kleines Skript, mit dessen Hilfe man schneller die Netzwerkkategorie auf “Privat” umstellen kann. Das Skript mit erhöhten Rechten (als Administrator) ausführen. Es wird zunächst die aktuelle Netzwerkkategorie angezeigt, dann wird abgefragt für welche Schnittstelle diese geändert werden soll. Zum Schluss wird das Ergebnis angezeigt.
@echo off title Netzwerkkategorie konfigurieren rem Netzwerkkategorie anzeigen powershell get-netconnectionprofile rem Abfrage set /p index=Bitte den InterfaceIndex eingeben: rem Netzwerkkategorie festlegen powershell set-netconnectionprofile -interfaceindex %index% -networkcategory private rem Nochamls die Netzwerkkategorie anzeigen cls powershell get-netconnectionprofile rem Auf die "Beliebig"-Taste warten pause
Hilfreich war dieses Helferlein nun schon bei einem Neukunden als eine vorhandene Arbeitsgruppe umkonfiguriert werden musste als auch bei der Inbetriebnahme neuer PCs.

Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Hallo Andy!
Schöner Artikel!
Man sollte noch erwähnen, das die genannten PowerShell Cmdlets erst unter Windows 8 und Server 2012 zu verfügung stehen.
Besuch uns doch auf unsere deutschsprachigen PowerShell Community.
gruss
Peter Kriegel
http://www.PowerShell-Group.eu
Fehlerteufel …Bitte ändere die Homepage Adresse von meinem letzten Komentar.
Richtig ist: http://www.PowerShell-Group.eu
grmmfff….
Done 😉