Comment supprimer un commutateur Ethernet virtuel Hyper-V

21

Un commutateur VM périmé dans Hyper-V n'est plus utilisé et lorsque j'essaie de le supprimer, il échoue toujours avec le message suivant:

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

Tenter de supprimer dans l'interface graphique ne fonctionne pas non plus:

GUI

fluter
la source
erreur d'accès refusé = problème d'autorisation. utilisez-vous l'administrateur?
magicandre1981
oui, je cours en tant qu'administrateur. J'ai remarqué que l'erreur est trompeuse. L'adaptateur réseau souligné est parti dans le centre de partage réseau, je crois que c'est l'erreur, mais comment puis-je supprimer ce vmswitch.
fluter

Réponses:

13

Un problème similaire a été résolu sur les forums TechNet de Microsoft:

Nous avons une configuration de commutateur virtuel dans le gestionnaire de commutateur virtuel et l'adaptateur a été supprimé par erreur en utilisant le "Modifier les paramètres de l'adaptateur ..." du Centre Réseau et partage. Maintenant, évidemment, le commutateur est dans un état d'échec et nous voulons simplement le supprimer de la liste.

En fin de compte, l'OP a effectué une recherche approfondie dans le registre et a trouvé la configuration de commutateur virtuel stockée dans la clé suivante:

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

Après avoir supprimé la valeur correspondante de cette clé et redémarré, le commutateur virtuel a disparu.

Comme toujours, je vous recommande d'exporter vos paramètres actuels vers un .regfichier pour avoir une sauvegarde appropriée avant de tenter des modifications similaires.

(Source: impossible de supprimer le commutateur virtuel en échec du gestionnaire de commutateur virtuel d'Hyper-V )

Run5k
la source
1
Je peux confirmer que cela a fonctionné pour moi. Thx
mloskot
Je ne trouve pas une telle valeur dans le registre: /
Jurosh
1
Cela a fonctionné pour moi, mais j'ai également dû creuser dans la connexion réseau dans le registre pour le supprimer. Cela laissait toujours toutes les références au svc docker dans le registre: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ vmsmp \ parameters \ SwitchList \ {yada yada} et HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSEt001 \ Control \ Network \ {yada yada}
JohnZaj
14

Je ne voulais pas installer les outils Azure Powershell, j'ai donc simplement suivi les étapes de cette vidéo: https://www.youtube.com/watch?v=V5Gb342gSGg

Fondamentalement, vous accédez à Connexions réseau -> ouvrez les propriétés du commutateur virtuel que vous souhaitez supprimer -> cliquez sur Configurer -> accédez à l'onglet Pilote -> Désinstaller le périphérique.

Pour empêcher le service Hyper-V d'en créer un nouveau la prochaine fois que je redémarrerai mon ordinateur sans le désactiver complètement, j'ai changé le type de démarrage de chaque service Hyper-V en manuel.

mxgg250
la source
Cela laissait toujours toutes les références au svc docker dans le registre: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ vmsmp \ parameters \ SwitchList \ {yada yada} et HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSEt001 \ Control \ Network \ {yada yada}
JohnZaj
1
De loin la meilleure solution. Éviter de toucher au registre devrait être une meilleure pratique.
Soleil
8

Même si je n'utilise pas Docker, je voulais trouver une solution sans utiliser regedit, donc après avoir tenté la réponse de RobV8R , j'ai trouvé des instructions sur cette question sur MS Technet .

Get-HNSNetwork | Remove-HNSNetwork

Ou, pour une optoin plus filtrée, c'est ce dont j'avais besoin.

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

En outre, je vais supposer que vous voudrez suivre les conseils de @ mxgg250 et définir tous les services hyper-v sur un démarrage manuel, sinon cela va recréer l'interrupteur au redémarrage.

bradlis7
la source
"Get-HNSNetwork |? Name -Like 'nat' | Remove-HNSNetwork" - A très bien fonctionné pour supprimer le VMSwitch 'nat' laissé après la désinstallation de Docker pour Windows, merci!
Froosh
Qui
Froosh
6

COMMENCER LA MODIFICATION

Les versions plus récentes de Windows 10 ont introduit un commutateur virtuel "Réseau par défaut".

Si cette méthode ne fonctionne pas, veuillez consulter la réponse de @ bradlis7 pour une autre option.

FIN DE LA MODIFICATION

Cela a été testé sur Windows 10 1607.

Réponse courte, si vous utilisez Docker:

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

Longue réponse:

Si vous rencontrez cette situation et que les conteneurs sont activés ou Docker installé, vous devrez arrêter Docker avant de pouvoir supprimer le VMSwitch.

PS> Get-VMSwitch

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

Comme vous pouvez le voir, j'ai un VMSwitch nommé nat. Je veux que ça disparaisse.

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

La réponse s'est avérée plutôt simple. Parce que j'avais configuré le natVMSwitch avec un NetNat, j'ai supprimé le NetNat. Je ne sais pas si c'est une étape nécessaire, mais je l'ai quand même fait.

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

Puis j'ai arrêté Docker.

PS> Stop-Service com.docker.service

et enfin

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"):

Pour vous assurer qu'il avait disparu:

PS> Get-VMSwitch

Name                                   SwitchType NetAdapterInterfaceDescription
----                                   ---------- ------------------------------
DockerNAT                              Internal
Windows Phone Emulator Internal Switch Private
Primary Virtual Switch                 External   Intel(R) Wireless
RobV8R
la source
2
Pour info, cette procédure peut ne pas fonctionner. Ça ne marche pas pour moi. Aucun service de docker n'est en cours d'exécution, ne peut toujours pas réactiver le balancement nat. Donc, il peut être nécessaire de recourir à la réponse @ Run5K
mloskot
4

Je ne sais pas si cela est vrai mais a fonctionné pour moi: https://www.online-tech-tips.com/computer-tips/unable-delete-network-adapter-windows-10/


MISE À JOUR

Source: impossible de supprimer la carte réseau dans Windows 10?

Méthode 1 - Utilisez le Gestionnaire de périphériques

La première chose que vous pouvez essayer de faire est d'ouvrir le Gestionnaire de périphériques (cliquez sur démarrer et tapez gestionnaire de périphériques), développez Cartes réseau, puis cliquez avec le bouton droit sur la carte réseau que vous souhaitez supprimer.

entrez la description de l'image ici

Ici, vous verrez une option appelée Désinstaller le périphérique. Espérons que cela ne soit pas grisé. Si tel est le cas, passez à la méthode suivante. Lorsque vous sélectionnez désinstaller le périphérique, une autre fenêtre apparaîtra vous demandant de confirmer la désinstallation.

entrez la description de l'image ici

Vous verrez également une option pour supprimer le pilote logiciel de l'appareil. Si vous souhaitez supprimer complètement la carte réseau, je vous suggère de sélectionner cette option pour supprimer également le pilote. Si tout se passe bien, vous devriez voir que l'adaptateur a été supprimé à la fois du Gestionnaire de périphériques et de la liste des adaptateurs réseau du Panneau de configuration.

Si vous ne voyez pas le périphérique répertorié ici, vous pouvez essayer de cliquer sur Afficher , puis sur Afficher les périphériques cachés .

Méthode 2 - Supprimer le profil réseau

Nous pouvons également essayer de supprimer le profil réseau via la ligne de commande, puis réessayer la méthode 1. Tout d'abord, vous devez ouvrir une invite de commande élevée en cliquant sur Démarrer, en tapant CMD, puis en cliquant avec le bouton droit sur l'invite de commande et en choisissant Exécuter en tant qu'administrateur .

Tapez maintenant la commande suivante pour voir tous les adaptateurs câblés (Ethernet):

netsh lan show profiles

Si vous devez retirer un adaptateur sans fil, tapez cette commande:

netsh wlan show profiles

Si vous obtenez un message d'erreur sur le service AutoConfig câblé ou WLAN qui ne fonctionne pas, cliquez sur Démarrer, tapez services.msc, cliquez avec le bouton droit sur le service approprié et choisissez Démarrer .

entrez la description de l'image ici

Maintenant, lorsque vous exécutez la commande, vous devriez voir une liste de profils. Dans mon cas, je n'ai qu'un seul profil sur cet ordinateur.

entrez la description de l'image ici

Ensuite, saisissez la commande suivante, qui supprimera l'interface souhaitée.

netsh lan delete profile interface="InterfaceName"

Encore une fois, s'il s'agit d'une interface sans fil, utilisez wlan au lieu de lan . Le nom de l'interface est répertorié en haut de chaque en-tête ( Profil sur le nom de l'interface ) lorsque vous avez exécuté la commande show profiles. Une fois le profil supprimé, redémarrez votre ordinateur et réessayez la méthode 1.

Méthode 3 - Supprimer les paramètres de l'adaptateur via le Registre

IMPORTANT

Si vous devez modifier le registre, assurez-vous d'abord de sauvegarder le registre .

En plus de supprimer le profil réseau, vous pouvez également essayer de supprimer les paramètres de l'adaptateur via le registre. Après avoir supprimé les paramètres, vous pouvez revenir à la méthode 1 et essayer de supprimer l'adaptateur. Pour supprimer les paramètres, ouvrez l'éditeur de registre (cliquez sur Démarrer et tapez regedit.msc) et accédez à la clé suivante:

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

Vous verrez plusieurs éléments répertoriés avec une longue série de nombres aléatoires. Si vous cliquez sur chacun d'eux, vous verrez l'adresse IP attribuée à cette carte réseau.

entrez la description de l'image ici

Vous pouvez confirmer quelle carte réseau correspond à cette clé de registre en ouvrant une invite de commande (Démarrer et tapez cmd) et en tapant ipconfig .

entrez la description de l'image ici

Comme vous pouvez le voir, l'adaptateur Ethernet est celui qui a une adresse IP de 192.168.1.233. Vous supprimeriez donc la clé sous Interfaces qui commence par {73123f2a-ad10-4f4b-900e…} . Si vous cliquez sur une autre interface, l'une d'elles aura l'IP 192.168.247.1, qui correspond à l'adaptateur réseau VMWare sur l'ordinateur. Encore une fois, cela supprime uniquement les paramètres de l'adaptateur, pas l'adaptateur lui-même. Redémarrez l'ordinateur et essayez à nouveau la méthode 1.

Pour plus d'informations, veuillez vous référer au lien suivant:

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

Kamran
la source
2

Avant d'essayer les solutions ci-dessus, assurez-vous de vérifier le volet «détails» pour le message d'erreur. Dans mon cas, il a été lu que l'échec était dû à d'autres machines virtuelles utilisant toujours le commutateur.

La désactivation des machines virtuelles et une nouvelle tentative ont supprimé le commutateur.

Volet de détails

Vaibhav Singh
la source
0

Il existe un moyen plus simple de résoudre le problème sur les forums TechNet de Microsoft:

Essayez de supprimer l' adaptateur de pont dans " Panneau de configuration > Réseau et Internet > Connexions réseau "

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

Alejandro
la source
1
Je n'ai pas d'adaptateur de pont.
johnny
@johnny Pouvez-vous partager une capture d'écran de vos adaptateurs réseau à partir de la fenêtre "Connexions réseau"? Vous pouvez peut-être le résoudre en désinstallant le protocole Hyper-V Extensible Virtual Switch en suivant les instructions de cette réponse .
Alejandro