Por que não consigo iniciar o telnet.exe em um prompt de comando do Windows 8?


1

Instalei o cliente de telnet do Windows ( telnet.exe) no Windows 8 Enterprise Edition (RTM - nova instalação) via Ativar ou desativar recursos do Windows . No entanto, parece que não consigo iniciá-lo a partir de um prompt de comando do administrador.

Eu fiz uma pesquisa completa da C:unidade e posso ver o executável residindo em C:\Windows\System32:

resultado de pesquisa de telnet

Eu também posso ver o executável no explorer:

telnet no explorador

Em ambos os casos acima, posso iniciar o cliente clicando duas vezes, mas, por algum motivo, ele não está visível no cmd.exeprompt de comando do Administrador (ou no PowerShell):

executar o telnet no resultado do cmd

Além disso, como você pode ver na imagem acima, C:\Windows\system32está presente e correto na minha PATHvariável de ambiente. Outros executáveis ​​do sistema são executados bem ( tasklist.exepor exemplo).

Por razões que são muito longas para explicar que não posso usar um cliente de telnet de terceiros, como o PuTTY.

Alguém pode esclarecer por que isso está acontecendo?

Eu também tentei uma reinicialização, mas isso não ajudou também.


1
Não é possível reproduzir no Windows 8 Pro. Tudo funciona.
Louis

Respostas:


2

Isso é por causa do redirecionador do sistema de arquivos . Um processo de 32 bits não vai ver o real Windows\System32pasta, mas obter o conteúdo do substituído Windows\SysWOW64em vez

Para fazê-lo funcionar em cmd.exe de 32 bits ou em qualquer shell de 32 bits, você pode executar

cd %windir%\Sysnative\

para alterar o diretório de trabalho para essa pasta System32 real e, em seguida, executar telnetnormalmente. Ou apenas executar %windir%\Sysnative\telnetdiretamente para abrir o telnet.exe de 64 bits

Outra maneira é forçar a abertura do cmd.exe de 64 bits de um processo de 32 bits (como o ViStart), modificando o comando de atalho ou o atalho para%windir%\Sysnative\cmd.exe

Como alternativa, basta copiar (ou criar um link físico) o arquivo telnet.exe de System32 para SysWOW64

Você também pode adicionar %windir%\Sysnativeà %PATH%variável de ambiente depois %windir%\System32 , já que depois de verificar que o arquivo não existe no System32 , ele continuará procurando no Sysnative


1

Este é provavelmente um efeito colateral do PendingRenames, o Windows Explorer é tão novo que garante que ele mostra o estado mais recente tendo pendentes renomea contas int enquanto que o Prompt de Comando é tão antigo que lê nativamente a unidade e, portanto, não vê os arquivos renomeados ainda . Geralmente eles são primeiro instalados em um local temporário descompactado e depois renomeados para estar no local real.

Meu palpite é que você fez Turn Windows features on or off.sem reiniciar o seu computador, assim, ainda tem que terminar a instalação dos recursos, fazendo as renomeações reais de tal forma que você pode realmente usar o telnet a partir do prompt de comando.

Assim, o simples "você já tentou ligá-lo e desligá-lo novamente?" abordagem deve resolver isso.


Nenhuma alegria depois de uma reinicialização. Também nunca precisei reiniciar o Windows (desktop e servidor) depois de adicionar recursos (ou funções no servidor Windows), a menos que o Windows solicitasse especificamente isso.
Kev

@Kev: Ah, isso é realmente estranho, talvez um bug do Windows 8? Você já tentou copiar os dois arquivos encontrados em outro local. Como colocá-los em C: \ Telnet \ Sys32 \ e em C: \ Telnet \ SxS \, veja se você pode executá-los a partir desses diretórios? Você pode então tentar copiá-los ou movê-los de volta (remova e substitua-os, talvez). Pode ser que seja um PendingRename preso também ...
Tamara Wijsman

1

Eu finalmente cheguei ao fundo disso. Eu tinha instalado o ViStart depois de ficar cada vez mais frustrado com a nova interface do usuário moderna do Windows 8 e que é particularmente difícil de usar em uma conexão de área de trabalho remota.

Eu estava usando ViStart para fazer a minha memória muscular habitual Iniciar-> Executar-> cmd.exe como eu faria no Windows 7. No entanto, verifica-se que o ViStart é um aplicativo de 32 bits e lança um prompt de comando de 32 bits. Claro, este prompt de comando sendo de 32 bits não pode ver telnet.exeporque é um exe de 64 bits etc.

Desde então, desisti da ViStart como uma má idéia e me resignei para aprender a navegar pela Modern UI.


1
Eu começo o telnet no Windows 8 da mesma maneira que fiz no Windows 7: aperte a tecla windows, digite telnet, aperte enter.
Sr. Alfa

@MrAlpha - na verdade, tente fazer isso em uma sessão RDP (mesmo com as combinações de teclas Aplicar o Windows definidas como No computador remoto .
Kev

Isso ocorre porque o redirecionador do sistema de arquivos . Para superar essa situação, em cmd.exe de 32 bits, basta usá %windir%\Sysnative\telnet-la para abrir ou criar um atalho para abrir o cmd.exe de 64 bits aqui %windir%\Sysnative\cmd.exe. O sysnative será apontado para a pasta real system32.
Phuclv 02 de
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.