Por que o DNS aparentemente está envolvido na emissão de “dir” no Windows 10?

Por que o DNS aparentemente está envolvido na emissão de “dir” no Windows 10?

Por motivos complicados, fui forçado a fazer uma cópia idêntica cmd.exee renomeá-la para cmd-2.exe, que coloquei como um atalho na barra de tarefas para que fossem "agrupados" em diferentes grupos da barra de tarefas.

Às vezes, esqueço isso e, para abrir um novo, cmd.execlico com o botão do meio no ícone da barra de tarefas para abrir um novo arquivo cmd.exe. Eu então digito um comando como dire ele cospe um monte de bobagens, incluindo: DNS bad key, o que só acontece se eu usar acidentalmente cmd-2.exe, não se eu abrir o "real" cmd.exe, então não é um problema "prático".

No entanto, eu me pergunto por que essa mensagem é impressa. Aparentemente, está falhando em fazer algum tipo de pesquisa de DNS ou algo assim? Por que o DNS está envolvido na emissão dirde listas de arquivos no meu computador local? Não tenho nenhuma rede configurada, nenhuma unidade de nuvem, nada disso. Me assusta que (aparentemente) haja consultas de DNS sendo feitas quando eu emito arquivos dir.

Talvez DNS bad keyse refira a algo completamente não relacionado ao Sistema de Nomes de Domínio? Não sei o que seria uma "chave ruim" nesse contexto.

Responder1

O segundo cmd.exe falha ao localizar e, posteriormente, carregar as strings localizadas da biblioteca de recursos satélite cmd.exe.mui.

Aqui está o que realmente tenta dizer, retirado de 10.0.18362.1 (160101.0800):

  • 0x235F: “O volume na unidade% 1 é% 2”
  • 0x235B: "O número de série do volume é %1"
  • 0x2339: “Diretório de% 1”

Na verdade, estas são as três primeiras linhas de uma dirsaída de comando simples.

Este é engraçado. Não há entradas para números de mensagens 0x235F e 0x235B na tabela de mensagens padrão do sistema. Portanto, para as duas primeiras saídas, você recebe aquela mensagem enigmática conforme mostrado na captura de tela do console de @harrymc.

Mas para 0x2339, há uma entrada na tabela de mensagens padrão do sistema, armazenada fisicamente em KernelBase.dll.mui apontando para o texto "DNS bad key":

captura de tela tirada do ResHacker

Acontece que compartilhamos o número da linha "Diretório de% 1" dos recursos do processador de comando: um substituto não previsto pelos desenvolvedores do cmd.exe. Então a referência ao DNS é apenas uma coincidência, pode ser qualquer coisa.

Observe que a mensagem adequada contém um argumento variável (o nome do diretório), enquanto a mensagem DNS não. Acho que é por isso que não há mais saída depois disso - ela pode simplesmente terminar.

Responder2

Consegui duplicar o problema:

insira a descrição da imagem aqui

(Concordo que as mensagens não são muito informativas.)

O problema é que a partir do Vista todas as mensagens de texto são compiladas em um arquivo separado, então o Windows procuraria um arquivo de mensagem com seu novo nome CMD e não conseguiria encontrá-lo.

Não basta copiar cmd.exepara cmd-2.exe. Você também precisa copiar na pasta %WinDir%\System32\en-US (ou no seu idioma) o arquivo cmd.exe.muipara cmd-2.exe.mui, caso contrário você receberá essas mensagens malucas sempre que cmd-2.exe precisar emitir uma mensagem.

Nota: "DNS" aqui não se refere à internet Sistema de nomes de domínio. Isto é apenas uma coincidência.

informação relacionada