หลังจากฉันเสร็จสิ้นด้วยการเชื่อมต่อเดสก์ท็อประยะไกลฉันต้องการที่จะกู้คืนเดสก์ท็อประยะไกลไปยังคอนโซลท้องถิ่นเพื่อให้ผู้ใช้ไม่ต้องป้อนรหัสผ่านและเข้าสู่ระบบอีกครั้ง
ฉันจะสร้างทางลัดบนเดสก์ท็อปเพื่อทำสิ่งนี้ได้อย่างไร
หลังจากฉันเสร็จสิ้นด้วยการเชื่อมต่อเดสก์ท็อประยะไกลฉันต้องการที่จะกู้คืนเดสก์ท็อประยะไกลไปยังคอนโซลท้องถิ่นเพื่อให้ผู้ใช้ไม่ต้องป้อนรหัสผ่านและเข้าสู่ระบบอีกครั้ง
ฉันจะสร้างทางลัดบนเดสก์ท็อปเพื่อทำสิ่งนี้ได้อย่างไร
คำตอบ:
ในช่องข้อความให้ป้อน:
%windir%\System32\tscon.exe 0 /dest:console
(ดูด้านล่าง)
หากวิธีนี้ใช้ไม่ได้ผลให้ลองเปลี่ยนจำนวนศูนย์ ( tscon.exe 0 /dest...
) ในขั้นตอนที่ 2 เป็นหมายเลขหนึ่งและหากไม่ได้ผลให้เพิ่มขึ้นเรื่อย ๆ จนกว่าเดสก์ท็อประยะไกลของคุณจะเปิดตัว
cmd
อีกวิธีหนึ่งคือเปิดเปลือกหอยที่มีเมนูเริ่มต้นทำงาน พิมพ์qwinsta
Enterและค้นหา ID ของเซสชันที่อยู่ในสถานะใช้งาน (จะมี>
อักขระที่จุดเริ่มต้นของชื่อเซสชัน) นั่นคือหมายเลขที่คุณต้องใช้ในขั้นตอนที่ 2
เมื่อคุณต้องการคืนค่าเดสก์ท็อปคอนโซลเพียงคลิกสองครั้งที่ทางลัดและอนุญาตการเข้าถึงของผู้ดูแลระบบ
นี่คือรุ่นที่หลีกเลี่ยงการพึ่งพาเครื่องมือ GNU มันใช้ findstr ซึ่งจัดส่งมาพร้อมกับ Windows
for /f %%i in ('qwinsta ^| findstr /C:">rdp-tcp#"') do set RDP_SESSION=%%i
:: Strip the >
set RDP_SESSION=%RDP_SESSION:>=%
tscon %RDP_SESSION% /dest:console
%windir%\system32\cmd.exe /c "for /F "tokens=1 delims=^> " %i in ('""%windir%\system32\qwinsta.exe" | "%windir%\system32\find.exe" /I "^>rdp-tcp#""') do "%windir%\system32\tscon.exe" %i /dest:console"
แทนที่การ>
เปลี่ยนตัวแปรสภาพแวดล้อมด้วยfor
กลอุบายเพิ่มเติมในการแยกวิเคราะห์รวมถึงเพิ่มcmd
ตัวเลือก (สำหรับทางลัด) เมื่อรวมกับไอคอนที่เหมาะสม (ผมใช้ล็อกออกจากไอคอนShell32.dll
) จะได้รับคล้ายกับนี้
คำตอบของ glenviewjeff ทำให้ฉันได้รับประโยชน์มากที่สุดจากที่นั่น แต่ ID เซสชันไม่เสมอไป 1 หากคุณพยายามยกเลิกการเชื่อมต่อการฟังหรือคอนโซลเซสชันเช่นนี้คุณจะได้รับ "ข้อผิดพลาด 7045" - การเข้าถึงเซสชันที่ร้องขอถูกปฏิเสธหรือ ไม่มีรหัสเซสชันไม่พบข้อผิดพลาด SessionID
ฉันสร้างไฟล์แบตช์ขนาดเล็กเพื่อดึงเซสชันปัจจุบันออกมา ในขณะที่ฉันทำสิ่งนี้บน Windows XP ฉันต้อง qwinsta มากกว่าเซสชันการสืบค้นเพื่อหา ID ปัจจุบัน ไฟล์ชุดนี้ใช้ยูทิลิตี้บรรทัดคำสั่ง unix ฉันใช้ Gnu บน Windows ( https://github.com/bmatzelle/gow/downloads ) เพื่อเข้าถึงสิ่งเหล่านี้ มันดึงเซสชั่นปัจจุบันออกมาโดยการค้นหาเครื่องหมาย ">" แล้วกำหนดกลับไปที่เซสชันของคอนโซล
for /f %%i in ('qwinsta ^| grep "^>" ^| awk "{print $4}"') do set VAR=%%i
tscon %var% /dest:console
ฉันต้องการสิ่งนี้สำหรับเครื่องที่เชื่อมต่อกับเครื่องสแกนเนอร์ฟูจิตสึ IX500 เครื่องสแกนจะสแกนเฉพาะถ้าหน้าจอไม่ได้อยู่ในหน้าจอการเลือกชื่อผู้ใช้ / การลงชื่อเข้าใช้ใน Windows ซึ่งเป็นสิ่งที่คุณจะได้รับเมื่อคุณออกจากระบบ ในขณะที่เครื่องทำงานโดยไม่มีหน้าจอฉันต้องการเชื่อมต่อผ่าน rdp แต่ถ้าฉันทำอย่างนั้นฉันก็ไม่สามารถใช้ปุ่มสแกนฮาร์ดแวร์ได้จนกว่าฉันจะเข้าสู่ระบบด้วยตนเองหรือเริ่มใหม่ ไฟล์แบทช์ด้านบนแก้ปัญหานี้ได้
ฉันไม่สามารถรับชุดคำสั่งไฟล์ของ Simon D ให้ทำงานได้ นี่คือสิ่งที่ใช้ได้กับฉันใน Windows 7 x64:
for /f %%i in ('qwinsta ^| grep "^>" ^| awk "{print $3}"') do tscon %%i /dest:console