เหตุใดฉันไม่สามารถเรียกใช้ telnet.exe จากพรอมต์คำสั่งของ Windows 8 ได้


1

ผมติดตั้งของ Windows Telnetลูกค้า ( telnet.exe) บน Windows 8 Enterprise Edition (RTM - ติดตั้งใหม่) ผ่านเปิดคุณลักษณะของ Windows หรือปิด อย่างไรก็ตามฉันไม่สามารถเรียกใช้งานได้จากพรอมต์คำสั่งของผู้ดูแลระบบ

ฉันค้นหาC:ไดรฟ์เต็มรูปแบบและสามารถดูไฟล์ปฏิบัติการที่อยู่ในC:\Windows\System32:

ผลการค้นหา telnet

ฉันยังสามารถเห็นไฟล์ปฏิบัติการใน explorer:

telnet ใน explorer

ในทั้งสองกรณีข้างต้นฉันสามารถเปิดไคลเอนต์โดยดับเบิลคลิก แต่ด้วยเหตุผลบางอย่างมันไม่ปรากฏในcmd.exeพรอมต์คำสั่งผู้ดูแลระบบของฉัน(หรือ PowerShell สำหรับเรื่องนั้น):

เรียกใช้ telnet เป็นผล cmd

นอกจากนี้อย่างที่คุณเห็นในภาพหน้าจอด้านบนC:\Windows\system32มีอยู่และถูกต้องในPATHตัวแปรสภาพแวดล้อมของฉัน ระบบปฏิบัติการอื่น ๆ เปิดใช้งานได้ดี ( tasklist.exeตัวอย่าง)

ด้วยเหตุผลที่ยืดเยื้อเกินกว่าจะอธิบายได้ฉันไม่สามารถใช้ไคลเอ็นต์ telnet บุคคลที่สามเช่น PuTTY

ใครสามารถทำให้กระจ่างว่าทำไมสิ่งนี้ถึงเกิดขึ้น?

ฉันลองรีบูตอีกครั้ง แต่นั่นก็ไม่ได้ช่วยอะไรเช่นกัน


1
ไม่สามารถทำซ้ำบน Windows 8 Pro ทุกอย่างทำงานได้
Louis

คำตอบ:


2

นี้เป็นเพราะการเปลี่ยนเส้นทางระบบแฟ้ม กระบวนการ 32 บิตจะไม่เห็นWindows\System32โฟลเดอร์จริงแต่รับเนื้อหาของการแทนที่Windows\SysWOW64แทน

เพื่อให้มันทำงานบน cmd.exe แบบ 32 บิตหรือหอยแบบ 32 บิตใด ๆ ที่คุณสามารถเรียกใช้ได้

cd %windir%\Sysnative\

เพื่อเปลี่ยนไดเรกทอรีการทำงานเป็นโฟลเดอร์ System32 จริงจากนั้นเรียกใช้telnetตามปกติ หรือเพียงเรียกใช้%windir%\Sysnative\telnetโดยตรงเพื่อเปิดtelnet.exe 64 บิต

อีกวิธีคือบังคับให้เปิดcmd.exe 64- บิตจากกระบวนการ 32- บิต (เช่น ViStart) โดยการแก้ไขคำสั่งที่เรียกใช้หรือทางลัดไปที่%windir%\Sysnative\cmd.exe

อีกวิธีหนึ่งคือคัดลอก (หรือสร้างฮาร์ดลิงก์) ไฟล์ telnet.exe จาก System32 ไปยัง SysWOW64

นอกจากนี้คุณยังสามารถเพิ่มลง%windir%\Sysnativeใน%PATH%ตัวแปรสภาพแวดล้อม หลังจาก %windir%\System32หลังจากตรวจสอบว่าไม่มีไฟล์อยู่ในSystem32ก็จะค้นหาในSysnative ต่อไป


1

นี่น่าจะเป็นผลข้างเคียงของPendingRenamesWindows Explorer เป็นสิ่งใหม่ที่ทำให้แน่ใจว่าจะแสดงสถานะล่าสุดที่กำลังรอการเปลี่ยนชื่อบัญชี int ในขณะที่ Command Prompt เก่ามากจนไม่สามารถอ่านไดรฟ์ได้ . โดยปกติแล้วพวกเขาจะถูกติดตั้งครั้งแรกไปยังตำแหน่งที่ไม่ได้บรรจุชั่วคราวและต่อมาเปลี่ยนชื่อเป็นสถานที่จริง

ฉันเดาว่าคุณได้ทำTurn Windows features on or off.โดยไม่ต้องรีบูตเครื่องคอมพิวเตอร์ดังนั้นจึงยังคงต้องปิดการติดตั้งฟีเจอร์ต่าง ๆ โดยทำการเปลี่ยนชื่อจริงเพื่อให้คุณสามารถใช้ telnet จากพรอมต์คำสั่งได้

ดังนั้นง่าย "คุณได้ลองเปิดและปิดอีกครั้งหรือไม่" วิธีการควรแก้ปัญหานี้


ไม่มีความสุขหลังจากรีบูต นอกจากนี้ฉันไม่จำเป็นต้องรีบูต Windows (เดสก์ท็อปและเซิร์ฟเวอร์) หลังจากเพิ่มคุณสมบัติ (หรือบทบาทในเซิร์ฟเวอร์ Windows) เว้นแต่ว่า Windows ได้ขอเป็นพิเศษ
Kev

@Kev: โอ้นี่มันแปลกจริง ๆ บางทีอาจเป็นบั๊กของ Windows 8? คุณลองคัดลอกทั้งสองไฟล์ที่คุณพบไปยังตำแหน่งอื่นหรือไม่ เช่นวางไว้ใน C: \ Telnet \ Sys32 \ และใน C: \ Telnet \ SxS \ แล้วดูว่าคุณสามารถเรียกใช้มันจากไดเรกทอรีเหล่านั้นหรือไม่ จากนั้นคุณสามารถลองคัดลอกหรือย้ายมันกลับมาได้ (ลบแล้วแทนที่พวกมัน) อาจเป็นได้ว่ามันเป็น PendingRename ติดอยู่เช่นกัน ...
Tamara Wijsman

1

ในที่สุดฉันก็มาถึงจุดต่ำสุดของเรื่องนี้ ฉันติดตั้งViStartหลังจากผิดหวังกับ Windows 8 Modern UI ใหม่และยิ่งยุ่งยากในการใช้ผ่านการเชื่อมต่อเดสก์ท็อประยะไกล

ฉันใช้ ViStart เพื่อทำหน่วยความจำกล้ามเนื้อตามปกติของฉันStart-> Run-> cmd.exeตามที่ฉันใช้บน Windows 7 อย่างไรก็ตามปรากฎว่า ViStart เป็นแอปพลิเคชั่น 32 บิตและเปิดตัวพรอมต์คำสั่ง 32 บิต แน่นอนว่าพรอมต์คำสั่งนี้เป็น 32 บิตไม่สามารถดูได้telnet.exeเพราะเป็น 64 บิต exe ฯลฯ

ฉันเลิกใช้งาน ViStart ในฐานะที่เป็นไอเดียที่ไม่ดีและได้ลาออกจากการเรียนรู้ที่จะนำทาง UI ที่ทันสมัยแทน


1
ฉันเริ่ม telnet ใน Windows 8 เช่นเดียวกับที่ฉันทำใน Windows 7: กดปุ่ม windows พิมพ์ telnet กด Enter
นายอัลฟ่า

@MrAlpha - แน่นอนลองทำว่าในช่วงเซสชั่น RDP (แม้จะมีการสมัครคีย์ผสมของ Windowsตั้งค่าให้บนคอมพิวเตอร์ระยะไกล .
Kev

นี้เป็นเพราะระบบแฟ้มเปลี่ยนเส้นทาง ที่จะเอาชนะสถานการณ์นี้ใน cmd.exe 32 บิตเพียงใช้%windir%\Sysnative\telnetเพื่อเปิดหรือสร้างทางลัดเพื่อเปิด cmd.exe 64 %windir%\Sysnative\cmd.exeบิตที่นี่ sysnative จะถูกชี้ไปที่โฟลเดอร์ system32 จริง
phuclv
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.