如何编写脚本将远程桌面返回到控制台?(使用 tscon 和 qwinsta)

如何编写脚本将远程桌面返回到控制台?(使用 tscon 和 qwinsta)

语境

到目前为止,我已经使用以下命令在桌面上创建了一个快捷方式:

%windir%\System32\tscon.exe 1 /dest:console

它在我的旧 Windows 7 机器上运行良好,其中此活动 rdp 会话的 id 固定为 1。然而,在我的新 Windows 10 安装上情况并非如此,它正在发生变化。

我发现那个命令

 c:\>qwinsta

可以给我活动会话的 ID,所以我可以用它替换数字 1 参数。然而,这似乎是一个生产力瓶颈,而不是只需单击一个图标即可。

问题

有什么方法可以解决这个脚本,以某种方式获取当前活动的 rdp 会话 ID 并用它来调用 tscon?

答案1

像这样:

@echo off

SETLOCAL ENABLEDELAYEDEXPANSION

for /f "tokens=1-3 delims= " %%a in ('qwinsta^| findstr "console"') do set SessionID=%%c

%windir%\System32\tscon.exe %SessionID% /dest:console

endlocal

当我说“将其放入变量中”时,这就是我对 %SessionID% 所做的操作。我正在提取控制台的会话 ID 号并将其分配给变量 %SessionID%。在下一行中,我在 tscon 命令中使用该变量。

现在您要做的就是为这个小脚本创建一个快捷方式,就可以了。

如果您需要进一步解释,请告诉我。

相关内容