So entfernen Sie einen virtuellen Hyper-V-Ethernet-Switch

17

Ein veralteter VM-Switch in Hyper-V wird nicht mehr verwendet und schlägt beim Versuch, ihn zu löschen, immer mit der folgenden Meldung fehl:

PS C:\> Get-VMSwitch nat

Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
nat  Private


PS C:\> Get-VMSwitch nat | Remove-VMSwitch -Force
Remove-VMSwitch : Failed while removing virtual Ethernet switch.
Switch delete failed, switch = 'acf82f05-c07c-4b35-8588-921498456027':    General access denied error (0x80070005).
At line:1 char:20
+ Get-VMSwitch nat | Remove-VMSwitch -Force
+                    ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : PermissionDenied: (:) [Remove-VMSwitch], VirtualizationException
+ FullyQualifiedErrorId : AccessDenied,Microsoft.HyperV.PowerShell.Commands.RemoveVMSwitch

Der Versuch, innerhalb der GUI zu löschen, funktioniert auch nicht:

GUI

fluter
quelle
Zugriff verweigert Fehler = Berechtigungsproblem. benutzt du admin
magicandre1981
Ja, ich bin Administrator. Ich habe festgestellt, dass der Fehler irreführend ist. Der unterstrichene Netzwerkadapter ist im Netzwerkfreigabecenter verschwunden, ich glaube das ist der Fehler, aber wie kann ich diesen vmswitch entfernen.
Fluter

Antworten:

13

Ein ähnliches Problem wurde in den TechNet-Foren von Microsoft behoben:

Wir haben ein virtuelles Switch-Setup im Virtual Switch Manager und der Adapter wurde versehentlich über "Adaptereinstellungen ändern ..." im Netzwerk- und Freigabecenter gelöscht. Offensichtlich befindet sich der Switch in einem fehlerhaften Zustand und wir möchten ihn nur aus der Liste entfernen.

Letztendlich führte das OP eine gründliche Suche in der Registrierung durch und fand die virtuelle Switch-Konfiguration, die im folgenden Schlüssel gespeichert ist:

HKLM \ SYSTEM \ CurrentControlSet \ Services \ VMSMP \ Parameters \ SwitchList

Nachdem sie den entsprechenden Wert in diesem Schlüssel gelöscht und neu gestartet hatten, war der virtuelle Switch verschwunden.

Wie immer würde ich empfehlen, dass Sie Ihre aktuellen Einstellungen in eine .regDatei exportieren , um eine entsprechende Sicherung zu erstellen, bevor Sie ähnliche Änderungen vornehmen.

(Quelle: Fehlerhafter virtueller Switch kann nicht aus dem Virtual Switch Manager von Hyper-V entfernt werden. )

Run5k
quelle
1
Ich kann bestätigen, dass dies für mich funktioniert hat. Thx
mloskot
Ich kann solchen Wert in der Registrierung nicht finden: /
Jurosh
1
Dies funktionierte für mich, aber ich musste AUCH in die Netzwerkverbindung in der Registrierung graben, um es zu löschen. Dabei blieben alle Verweise auf den Docker svc in der Registrierung: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ vmsmp \ parameters \ SwitchList \ {yada yada} und HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSEt001 \ Control \ Network \ {yada yada}
JohnZaj
9

Ich wollte die Azure Powershell-Tools nicht installieren, daher habe ich die folgenden Schritte in diesem Video ausgeführt: https://www.youtube.com/watch?v=V5Gb342gSGg

Grundsätzlich gehen Sie zu Netzwerkverbindungen -> Eigenschaften für den zu löschenden virtuellen Switch öffnen -> auf Konfigurieren klicken -> zur Registerkarte Treiber -> Gerät deinstallieren.

Um zu verhindern, dass der Hyper-V-Dienst beim nächsten Neustart des Computers einen neuen erstellt, ohne ihn vollständig zu deaktivieren, habe ich den Starttyp jedes Hyper-V-Diensts in Manuell geändert.

mxgg250
quelle
Dabei blieben alle Verweise auf den Docker svc in der Registrierung: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ vmsmp \ parameters \ SwitchList \ {yada yada} und HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSEt001 \ Control \ Network \ {yada yada}
JohnZaj
Mit Abstand die beste Lösung. Das Vermeiden des Berührens der Registrierung sollte eine bewährte Methode sein.
Soleil
6

Obwohl ich Docker nicht verwende, wollte ich eine Lösung finden, ohne sie zu verwenden regedit. Nachdem ich versucht hatte, die Antwort von RobV8R zu erhalten , fand ich Anweisungen zu dieser Frage in MS Technet .

Get-HNSNetwork | Remove-HNSNetwork

Oder für ein gefiltertes Optoin, das ist was ich brauchte.

Get-HNSNetwork | ? Name -Like "Default Switch" | Remove-HNSNetwork

Außerdem gehe ich davon aus, dass Sie den Ratschlägen von @ mxgg250 folgen und alle Hyper-V-Dienste auf manuellen Start einstellen möchten. Andernfalls wird der Switch beim Neustart neu erstellt.

bradlis7
quelle
"Get-HNSNetwork |? Name -Like 'nat' | Remove-HNSNetwork" - Funktionierte gut, um den 'nat' VMSwitch zu entfernen, der nach der Deinstallation von Docker für Windows zurückgeblieben ist, danke!
Froosh
Dies
Froosh,
6

BEARBEITUNG BEGINNEN

Neuere Versionen von Windows 10 führten einen virtuellen Switch "Standardnetzwerk" ein.

Wenn diese Methode nicht funktioniert, finden Sie in der Antwort von @ bradlis7 eine andere Option.

ENDE BEARBEITEN

Dies wurde unter Windows 10 1607 getestet.

Kurze Antwort, wenn Sie Docker verwenden:

PS> Stop-Service com.docker.service
PS> Remove-ContainerNetwork -Name nat

Lange Antwort:

Wenn Sie in diese Situation geraten und Container aktiviert oder Docker installiert haben, müssen Sie Docker stoppen, bevor Sie den VMSwitch entfernen können.

PS> Get-VMSwitch

Name                                   SwitchType NetAdapterInterfaceDescription
----                                   ---------- ------------------------------
DockerNAT                              Internal
nat                                    Internal
Windows Phone Emulator Internal Switch Private
Primary Virtual Switch                 External   Intel(R) Wireless

Wie Sie sehen können, habe ich einen VMSwitch namens nat. Ich möchte, dass es verschwindet.

PS> Remove-VMSwitch -Name nat

Confirm
Are you sure you want to remove the virtual switch "nat"?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
Remove-VMSwitch : Failed while removing virtual Ethernet switch.
Switch delete failed, switch = '<guid>': General access denied error (0x80070005).
At line:1 char:1
+ Remove-VMSwitch -Name nat
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (:) [Remove-VMSwitch], VirtualizationException
    + FullyQualifiedErrorId : AccessDenied,Microsoft.HyperV.PowerShell.Commands.RemoveVMSwitch

Die Antwort fiel ziemlich einfach aus. Da ich den natVMSwitch mit einem NetNat konfiguriert hatte, entfernte ich das NetNat. Ich bin mir nicht sicher, ob dies ein notwendiger Schritt ist, aber ich habe es trotzdem getan.

PS> Get-NetNat -Name '<name>' | Remove-NetNat

Dann stoppte ich Docker.

PS> Stop-Service com.docker.service

Und schlussendlich

PS> Remove-ContainerNetwork -Name nat

Confirm
Remove-ContainerNetwork will remove the container network "nat".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):

Um sicherzustellen, dass es weg war:

PS> Get-VMSwitch

Name                                   SwitchType NetAdapterInterfaceDescription
----                                   ---------- ------------------------------
DockerNAT                              Internal
Windows Phone Emulator Internal Switch Private
Primary Virtual Switch                 External   Intel(R) Wireless
RobV8R
quelle
2
Zu Ihrer Information, dieses Verfahren funktioniert möglicherweise nicht. Das funktioniert bei mir nicht. Es wird kein Docker-Dienst ausgeführt, trotzdem kann der Dangling nicht wiederhergestellt werden nat. Daher muss möglicherweise auf die @ Run5K-Antwort zurückgegriffen werden
mloskot
2

Ich bin nicht sicher, ob dies richtig ist, habe aber für mich funktioniert: https://www.online-tech-tips.com/computer-tips/unable-delete-network-adapter-windows-10/


AKTUALISIEREN

Quelle: Kann der Netzwerkadapter in Windows 10 nicht gelöscht werden?

Methode 1 - Verwenden Sie den Geräte-Manager

Als Erstes können Sie versuchen, den Geräte-Manager zu öffnen (klicken Sie auf Start, und geben Sie den Geräte-Manager ein), erweitern Sie Netzwerkadapter, und klicken Sie dann mit der rechten Maustaste auf den Netzwerkadapter, den Sie entfernen möchten.

Bildbeschreibung hier eingeben

Hier sehen Sie eine Option namens Gerät deinstallieren. Dies sollte hoffentlich nicht ausgegraut werden. Wenn dies der Fall ist, fahren Sie mit der nächsten Methode fort. Wenn Sie Gerät deinstallieren auswählen, wird ein weiteres Fenster angezeigt, in dem Sie aufgefordert werden, die Deinstallation zu bestätigen.

Bildbeschreibung hier eingeben

Außerdem wird eine Option zum Löschen der Treibersoftware für das Gerät angezeigt. Wenn Sie den Netzwerkadapter vollständig entfernen möchten, empfehle ich, diese Option auszuwählen, um auch den Treiber zu entfernen. Wenn alles in Ordnung ist, sollten Sie feststellen, dass der Adapter sowohl aus dem Geräte-Manager als auch aus der Liste der Netzwerkadapter in der Systemsteuerung entfernt wurde.

Wenn das hier aufgelistete Gerät nicht angezeigt wird, können Sie versuchen, auf Anzeigen und dann auf Versteckte Geräte anzeigen zu klicken .

Methode 2 - Netzwerkprofil löschen

Wir können auch versuchen, das Netzwerkprofil über die Befehlszeile zu löschen und dann Methode 1 erneut zu versuchen. Zuerst müssen Sie eine Eingabeaufforderung mit erhöhten Rechten öffnen, indem Sie auf Start klicken, CMD eingeben, dann mit der rechten Maustaste auf die Eingabeaufforderung klicken und Als Administrator ausführen auswählen .

Geben Sie nun den folgenden Befehl ein, um alle verkabelten (Ethernet-) Adapter anzuzeigen:

netsh lan show profiles

Wenn Sie einen WLAN-Adapter entfernen müssen, geben Sie folgenden Befehl ein:

netsh wlan show profiles

Wenn Sie einige Fehlermeldung über das erhalten Wired oder WLAN - Autokonfigurationsdienst nicht ausgeführt wird , dann klicken Sie auf Start, geben Sie in services.msc der rechten Maustaste auf den entsprechenden Dienst , und wählen Sie Starten .

Bildbeschreibung hier eingeben

Wenn Sie jetzt den Befehl ausführen, sollte eine Liste von Profilen angezeigt werden. In meinem Fall habe ich nur ein Profil auf diesem Computer.

Bildbeschreibung hier eingeben

Geben Sie anschließend den folgenden Befehl ein, um die gewünschte Schnittstelle zu löschen.

netsh lan delete profile interface="InterfaceName"

Wenn es sich um eine drahtlose Schnittstelle handelt, verwenden Sie wlan anstelle von lan . Der Schnittstellenname wird oben in jeder Überschrift ( Profil auf Schnittstellenname ) aufgeführt, wenn Sie den Befehl show profiles ausführen. Nachdem das Profil gelöscht wurde, starten Sie Ihren Computer neu und versuchen Sie es erneut mit Methode 1.

Methode 3 - Entfernen Sie die Adaptereinstellungen über die Registrierung

WICHTIG

Wenn Sie die Registrierung bearbeiten müssen, müssen Sie zuerst eine Sicherungskopie der Registrierung erstellen .

Zusätzlich zum Löschen des Netzwerkprofils können Sie auch versuchen, die Adaptereinstellungen über die Registrierung zu entfernen. Nachdem Sie die Einstellungen entfernt haben, können Sie zu Methode 1 zurückkehren und versuchen, den Adapter zu entfernen. Um die Einstellungen zu entfernen, öffnen Sie den Registrierungseditor (klicken Sie auf Start und geben Sie regedit.msc ein) und navigieren Sie zum folgenden Schlüssel:

HKEY_LOCAL_MACHINE - SYSTEM - CurrentControlSet - Services - Tcpip - Parameters - Interfaces

Es werden mehrere Elemente mit einer langen Reihe von Zufallszahlen angezeigt. Wenn Sie auf die einzelnen klicken, wird die IP-Adresse angezeigt, die diesem Netzwerkadapter zugewiesen ist.

Bildbeschreibung hier eingeben

Sie können überprüfen, welcher Netzwerkadapter diesem Registrierungsschlüssel entspricht, indem Sie eine Eingabeaufforderung (Start und Typ cmd) öffnen und ipconfig eingeben .

Bildbeschreibung hier eingeben

Wie Sie sehen, hat der Ethernet-Adapter die IP-Adresse 192.168.1.233. Sie löschen also den Schlüssel unter Schnittstellen, der mit {73123f2a-ad10-4f4b-900e…} beginnt . Wenn Sie auf eine andere Schnittstelle klicken, hat eine davon die IP 192.168.247.1, die dem VMWare-Netzwerkadapter auf dem Computer entspricht. Auch hier werden nur die Einstellungen für den Adapter gelöscht, nicht der Adapter selbst. Starten Sie den Computer neu und versuchen Sie Methode 1 erneut.

Weitere Informationen erhalten Sie unter folgendem Link:

https://www.online-tech-tips.com/computer-tips/unable-delete-network-adapter-windows-10/

Kamran
quelle
2

Bevor Sie die oben genannten Lösungen ausprobieren, überprüfen Sie den Bereich "Details" auf die Fehlermeldung. In meinem Fall wurde festgestellt, dass der Fehler auf andere VMs zurückzuführen ist, die den Switch noch verwenden.

Wenn Sie die VMs ausschalten und es erneut versuchen, wurde der Switch entfernt.

Detailbereich

Vaibhav Singh
quelle
0

Es gibt eine einfachere Möglichkeit, das Problem in den TechNet-Foren von Microsoft zu beheben:

Versuchen Sie, den Bridge-Adapter in " Systemsteuerung > Netzwerk und Internet > Netzwerkverbindungen " zu löschen.

Quelle: https://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/e49df568-4f4c-47b7-b30c-952d1e26ca58/#8ecfa676-3184-4035-96de-10df079f706f

Alejandro
quelle
Ich habe keinen Bridge Adapter.
Johnny
@johnny Können Sie im Fenster "Netzwerkverbindungen" einen Screenshot Ihrer Netzwerkadapter freigeben? Möglicherweise können Sie das Problem beheben, indem Sie das Hyper-V Extensible Virtual Switch-Protokoll deinstallieren. Befolgen Sie dazu die Anweisungen in dieser Antwort .
Alejandro