Netzwerkprofile verwalten unter Windows 10

    WLAN-Profile mit netsh.exe und PowerShell anzeigenVerbindet man einen PC mit einem neuen Netz­werk, dann legt Windows dafür ein eigenes Profil an. Es enthält Ein­stellungen für die Fire­wall, die SSID oder den WPA-Key für WLANs. Das Manage­ment der Netzwerk­profile über die GUI hat Microsoft in Windows 10 einge­schränkt. PowerShell kann das nur zum Teil ausgleichen.

    Besonders bei mobilen Anwendern, die sich häufig in verschiedene Netzwerke einbuchen, sammelt sich schnell eine größere Zahl an Profilen (Network Locations in der englischen Version) an. Das gilt nicht nur für WLANs, wo deren Notwendigkeit offensichtlich ist, etwa um Passwörter zu speichern. Auch LANs werden über Profile definiert, etwa um sie als öffentlich oder privat zu kategorisieren.

    Rückschritt gegenüber Windows 7

    Bei LANs reicht es oft aus, den Adapter oder Switch zu wechseln, und schon legt Windows ein neues Profil an. In diesem Fall möchte man wahrscheinlich die verschiedenen Profile für ein und dasselbe Netzwerk zusammenlegen, wogegen man nicht mehr benötigte Einträge aus einer langen Liste von WLANs einfach löschen wird.

    Windows 7 bot im Netzwerk- und Freigabecenter eine bequeme, wenn auch etwas versteckte Möglichkeit, um Profile für LAN-Verbindungen zu bearbeiten. Diese existiert seit Windows 8 nicht mehr und gleichwertige Alternativen für die Kommandozeile fehlen. Einzig das Umbenennen ist vorgesehen, und zwar unter Adapter­einstellungen ändern.

    Netzwerkprofile umbenennen unter Windows 10 im Netzwerk- und Freigabecenter.

    Mit PowerShell zwischen privat und öffentlich wechseln

    Das Gespann aus Get- und Set-NetConnectionProfile ist darüber hinaus in der Lage, die Kategorie der Netzwerkprofile von privat auf öffentlich und umgekehrt zu ändern. Der Wert Domäne lässt sich auf diese Weise nicht setzen, er wird automatisch vergeben.

    Möchte man Netzwerkprofile mit Get-NetConnectionProfile auflisten, dann erweist sich schnell, dass es nur das aktuelle Profil anzeigen kann. Die solcherart gewonnenen Informationen wie Name oder InterfaceAlias kann man anschließend nutzen, um das betreffende Profil mit Set-NetConnectionProfile einer anderen Kategorie zuzuordnen:

    Set-NetConnectionProfile -InterfaceAlias Ethernet -NetworkCategory Public

    Profile in der Registry löschen

    Weitergehende Operationen wie das Löschen oder Zusammen­führen von Netzwerk­profilen erfordern ein Editieren der Registry. Die betreffenden Schlüssel finden sich unter HKLM => SOFTWARE => Microsoft => Windows NT => CurrentVersion => NetworkList => Profiles.

    Netzwerkprofile kann man direkt in der Registry löschen oder zusammenführen.

    In regedit.exe kann man zwei Profile verschmelzen, indem man die GUID des einen in das zu verschmelzende Profil übernimmt.

    WLAN-Profile verwalten

    Einfacher ist die Situation bei WLAN-Profilen. Windows 10 sieht für ihr Management die App Einstellungen vor. Dort wechselt man zu Netzwerk und Internet => WLAN und folgt dem Link WLAN-Einstellungen verwalten.

    Dort findet man im Abschnitt Bekannte Netzwerke verwalten die Profile aller Drahtlos­netzwerke, mit denen der PC bereits verbunden war. Hier kann man einzelne Profile entfernen, indem man auf die Schaltfläche Nicht speichern klickt.

    WLAN-Profile in der App Einstellungen verwalten

    WLAN-Profile auf der Kommandozeile bearbeiten

    Ist die Liste der WLANs lang und man möchte zusätzliche Informationen wie etwa die Passwörter anzeigen, dann wechselt man besser zur Kommandozeile. PowerShell alleine reicht hier aber nicht aus, weil Get-NetConnectionProfile immer nur das aktive Profil anzeigt. Deshalb muss man in diesem Fall netsh.exe zu Hilfe nehmen:

    $profiles = netsh wlan show profiles |
    sls -Pattern " : .*" |% {($_ -replace "^.* : ","")}

    Die Ausgabe von netsh leiten wir hier über eine Pipe an Select-String (Alias sls) weiter, wo ein regulärer Ausdruck die Namen der Profile ausfiltert. Anschließend geben wir in einer Schleife den Namen und den Key für jedes Profil aus (die einfachere Variante netsh wlan profile name=* key=clear zeigt aus unerfind­lichen Gründen nicht alle Kennwörter an):

    foreach($p in $profiles){netsh wlan show profile name=$p key=clear |
    sls "(SSID-Name|Schl.sselinhalt)"}

    Den zweiten Befehl könnte man auch so modifizieren, dass man im Schleifenkörper etwa Set-NetConnectionProfile verwendet, um die Kategorie der Netzwerke zu ändern.

    Profile löschen mit netsh.exe

    Ebenfalls schneller geht das Löschen von Profilen mit netsh.exe, besonders wenn es sich um eine lange Liste handelt. Dafür eignet sich der Aufruf

    netsh wlan delete profile name="<Profilname>"

    Der Parameter name akzeptiert auch Wildcards, so dass man theoretisch auch alle Profile in einem Aufwasch entfernen könnte.

    1 Kommentar

    Bild von ITGuy
    ITGuy sagt:
    18. Mai 2016 - 23:05

    Ist in der Tat schade, dass keine vernünftige Verwaltung der Netzwerkprofile möglich ist. Besonders schade finde ich zudem, dass es die aus Windows 7 bekannte Drahtlosnetzwerkverwaltung nicht mehr gibt. Über die Einstellungen-App ist lediglich das Löschen von WLAN-Profilen möglich (immerhin - zu Anfangszeiten von Windows 8 ging selbst das nicht). Wenn man allerdings erweiterte Einstellungen (z.B. eine 802.1X-Konfiguration mit Zertifikaten etc.) vornehmen möchte, muss man die Adaptereinstellungen in der Systemsteuerung bemühen, was ja an sich nicht schlimm ist. Allerdings kann man die Einstellungen für ein WLAN-Profil nur dann ändern, während man mit dem WLAN verbunden ist. Um Einstellungen für ein entferntes WLAN zu ändern, muss man dieses löschen und über den Assistenten im Netzwerk- und Freigabecenter neu anlegen. Dies ist verglichen mit Windows 7 ein Rückschritt.