Sau khi tôi kết thúc với kết nối máy tính từ xa, tôi muốn có thể khôi phục máy tính từ xa về bàn điều khiển cục bộ để người dùng không phải nhập lại mật khẩu và đăng nhập lại.
Làm thế nào tôi có thể tạo một lối tắt máy tính để bàn để làm điều này?
Sau khi tôi kết thúc với kết nối máy tính từ xa, tôi muốn có thể khôi phục máy tính từ xa về bàn điều khiển cục bộ để người dùng không phải nhập lại mật khẩu và đăng nhập lại.
Làm thế nào tôi có thể tạo một lối tắt máy tính để bàn để làm điều này?
Câu trả lời:
Trong trường văn bản, nhập:
%windir%\System32\tscon.exe 0 /dest:console
(Xem bên dưới)
Nếu điều này không hiệu quả, hãy thử thay đổi số 0 ( tscon.exe 0 /dest...
) ở bước 2 thành số một và nếu nó không hoạt động, hãy tiếp tục tăng nó cho đến khi máy tính để bàn từ xa của bạn được phát hành.
Thay phiên, mở một vỏ với menu bắt đầu, chạy , cmd
. Gõ qwinsta
Enter, và tìm kiếm ID của phiên ở trạng thái hoạt động (nó sẽ có một >
nhân vật lúc bắt đầu của tên phiên của nó). Đó là số bạn cần sử dụng ở bước 2.
Khi bạn muốn khôi phục máy tính để bàn, chỉ cần nhấp đúp vào phím tắt và cho phép quản trị viên truy cập.
Đây là phiên bản tránh sự phụ thuộc vào các công cụ GNU. Nó sử dụng findstr, được vận chuyển cùng với 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"
Nó thay thế thay thế >
biến môi trường bằng for
thủ thuật phân tích cú pháp bổ sung , cũng như thêm cmd
tùy chọn (cho phím tắt). Khi kết hợp với một biểu tượng thích hợp (tôi đã sử dụng biểu tượng đăng xuất từ Shell32.dll
), nó sẽ tương tự như biểu tượng này .
Câu trả lời của glenviewjeff đã đưa tôi đến gần đó, nhưng id phiên không phải lúc nào cũng 1. Nếu bạn cố gắng ngắt kết nối phiên nghe hoặc bảng điều khiển như thế này, bạn sẽ nhận được "Lỗi 7045" - quyền truy cập phiên được yêu cầu bị từ chối hoặc nếu phiên id không tồn tại lỗi sessionID không tìm thấy.
Tôi đã tạo một tệp bó nhỏ để lấy ra phiên hiện tại. Như tôi đã làm điều này trên Windows XP, tôi cần qwinsta thay vì phiên truy vấn để tìm ra ID hiện tại. Tệp bó này sử dụng các tiện ích dòng lệnh unix, tôi sử dụng Gnu trên Windows ( https://github.com/bmatzelle/gow/doads ) để có quyền truy cập vào các tiện ích này. Nó lấy ra phiên hiện tại bằng cách tìm kiếm dấu ">" và sau đó gán lại cho phiên điều khiển.
for /f %%i in ('qwinsta ^| grep "^>" ^| awk "{print $4}"') do set VAR=%%i
tscon %var% /dest:console
Tôi cần điều này cho một máy được kết nối với máy quét Fujitsu IX500, máy quét chỉ quét nếu màn hình không có trên màn hình chọn tên người dùng / đăng nhập trong Windows, đó là những gì bạn nhận được khi đăng xuất hoặc ngắt kết nối phiên thông thường. Khi máy chạy mà không có màn hình, tôi muốn có thể kết nối thông qua ndp, nhưng nếu tôi làm vậy, tôi không thể sử dụng nút quét phần cứng cho đến khi tôi đăng nhập bằng tay hoặc khởi động lại. Các tập tin hàng loạt ở trên giải quyết vấn đề này.
Tôi không thể làm cho lệnh tập tin bó của Simon D hoạt động. Đây là những gì làm việc cho tôi trên Windows 7 x64:
for /f %%i in ('qwinsta ^| grep "^>" ^| awk "{print $3}"') do tscon %%i /dest:console