Ein veralteter Schalter VM in Hyper-V wird nicht mehr verwendet. Wenn ich versuche, ihn zu löschen, schlägt der Vorgang 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:
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 .reg
-Datei 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 )
Ich wollte die Azure Powershell-Tools nicht installieren, daher habe ich die Schritte in diesem Video ausgeführt: https://www.youtube.com/watch?v=V5Gb342gSGg
Grundsätzlich gehen Sie zu Netzwerkverbindungen -> Eigenschaften für den virtuellen Switch öffnen, den Sie löschen möchten -> Klicken Sie auf Konfigurieren -> Wechseln Sie 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.
BEARBEITUNG BEGINNEN
In neueren Versionen von Windows 10 wurde ein virtueller Switch "Standardnetzwerk" eingeführt.
Wenn diese Methode nicht funktioniert, finden Sie in der Antwort von @ bradlis7 eine andere Option.
BEENDEN 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 mit dem Namen 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 nat
VMSwitch 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
Obwohl ich Docker nicht verwende, wollte ich eine Lösung ohne regedit
finden. Nachdem ich versucht hatte, die Antwort von RobV8R zu beantworten, 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.
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/
Quelle: Kann der Netzwerkadapter in Windows 10 nicht gelöscht werden?
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.
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.
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 gut geht, 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 aufgeführte Gerät nicht angezeigt wird, können Sie versuchen, auf Anzeigen und dann auf Versteckte Geräte anzeigen zu klicken.
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 und dann mit der rechten Maustaste auf Eingabeaufforderung klicken und Als Administrator ausführen wä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 eine Fehlermeldung erhalten, dass der Wired oder WLAN AutoConfig-Dienst nicht ausgeführt wird, klicken Sie auf Start, geben Sie services.msc ein, klicken Sie mit der rechten Maustaste auf den entsprechenden Dienst und wählen Sie Start .
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.
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 wiederum um eine drahtlose Schnittstelle handelt, verwenden Sie wlan anstelle von lan . Der Schnittstellenname wird oben in jeder Überschrift aufgeführt ( Profil auf Schnittstellenname ), 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.
WICHTIG
Wenn Sie die Registrierung bearbeiten müssen, stellen Sie sicher, dass Sie zuerst die Registrierung sichern .
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.
Sie können überprüfen, welcher Netzwerkadapter diesem Registrierungsschlüssel entspricht, indem Sie eine Eingabeaufforderung öffnen (Start und geben Sie cmd ein) und ipconfig 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/
Es gibt eine einfachere Möglichkeit, das Problem in den TechNet-Foren von Microsoft zu beheben:
Versuchen Sie, den Brückenadapter über " Systemsteuerung > Netzwerk und Internet > Netzwerkverbindungen " zu löschen.