97 votes

Pourquoi le DNS est-il apparemment impliqué dans l'émission de "dir" sur Windows 10 ?

Pour des raisons compliquées, j'ai été obligé de faire une copie identique de cmd.exe et le renommer en cmd-2.exe que j'ai placé comme raccourci sur la barre des tâches pour les avoir "regroupés" dans différents groupes de la barre des tâches.

Parfois, j'oublie cela, et pour ouvrir une nouvelle cmd.exe Je fais un clic moyen sur l'icône de la barre des tâches pour ouvrir une nouvelle fenêtre. cmd.exe . Je tape ensuite une commande telle que dir et il crache un tas d'absurdités, y compris : DNS bad key ce qui ne se produit que si j'utilise accidentellement cmd-2.exe pas si j'ouvre le "vrai" cmd.exe Il ne s'agit donc pas d'un problème "pratique".

Cependant, je me demande pourquoi ce message s'affiche. Est-ce qu'il échoue apparemment à faire une sorte de recherche DNS ou quelque chose comme ça ? Pourquoi le DNS est-il impliqué dans l'émission d'une carte de crédit ? dir pour lister les fichiers sur mon ordinateur local ? Je n'ai pas de réseau configuré, pas de disques en nuage, rien de tout cela. Je suis effrayé par le fait qu'il y a (apparemment) des requêtes DNS effectuées lorsque j'envoie dir .

Peut-être DNS bad key fait référence à quelque chose qui n'a rien à voir avec le système des noms de domaine ? Je ne sais même pas ce qu'est une "mauvaise clé" dans ce contexte.

210voto

Gaffi Points 2741

Le deuxième cmd.exe ne parvient pas à localiser puis à charger les chaînes localisées de la bibliothèque de ressources satellite cmd.exe.mui.

Voici ce qu'il tente réellement de dire, pris d'un 10.0.18362.1 (160101.0800) :

  • 0x235F : "Le volume du lecteur %1 est %2".
  • 0x235B : "Le numéro de série du volume est %1"
  • 0x2339 : "Répertoire de %1"

Il s'agit en fait des trois premières lignes d'un simple formulaire d'inscription. dir sortie de commande.

C'est drôle. Il n'y a pas d'entrées pour les messages numérotés 0x235F et 0x235B dans la table des messages du système par défaut. Ainsi, pour les deux premières sorties, vous obtenez ce message cryptique comme indiqué dans la capture d'écran de la console de @harrymc.

Mais pour 0x2339, il y a une entrée dans la table des messages du système par défaut, physiquement stockée dans KernelBase.dll.mui pointant vers le texte "DNS bad key" :

screenshot taken from ResHacker

Il se trouve qu'il partage le numéro de la ligne "Directory of %1" des ressources du processeur de commande : une solution de repli non prévue par les développeurs de cmd.exe. La référence DNS n'est donc qu'une coïncidence, cela pourrait être n'importe quoi.

Notez que le message approprié contient un argument variable (le nom du répertoire), alors que le message DNS ne le fait pas. Je suppose que c'est la raison pour laquelle il n'y a plus de sortie après cela - il pourrait simplement se terminer.

112voto

harrymc Points 394411

J'ai réussi à dupliquer le problème :

enter image description here

(Je reconnais que les messages ne sont pas très informatifs).

Le problème est qu'à partir de Vista, tous les messages textuels sont compilés en dans un fichier distinct, de sorte que Windows chercherait un fichier de message avec votre nouveau nom de nom CMD et ne le trouverait pas.

Il ne suffit pas de copier cmd.exe a cmd-2.exe . Vous devez également copier dans le dossier %WinDir%\System32\en-US (ou votre langue) le fichier cmd.exe.mui a cmd-2.exe.mui , sinon vous recevrez ces messages fous à chaque fois que cmd-2.exe doit émettre un message.

Note : le terme "DNS" ne désigne pas ici l'internet. Système de nom de domaine . C'est juste une coïncidence.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X