我浏览了论坛并没有找到任何可以帮助我完成我想做的事情的东西。我正在寻找的是一种为远程服务器上的应用程序启动 GUI 的方法。我已经看到,只要我知道我的特定远程会话的会话 ID 是什么,我就可以使用 PsExec 执行此操作。但是,随着会话 ID 的变化,这不是我可以可靠使用的东西。有没有办法做到以下几点:
- 拥有特定用户的永久会话 ID
- 查找特定用户的会话 ID
- 在服务器上的会话中启动 GUI 的其他方法
任何帮助,将不胜感激。
我浏览了论坛并没有找到任何可以帮助我完成我想做的事情的东西。我正在寻找的是一种为远程服务器上的应用程序启动 GUI 的方法。我已经看到,只要我知道我的特定远程会话的会话 ID 是什么,我就可以使用 PsExec 执行此操作。但是,随着会话 ID 的变化,这不是我可以可靠使用的东西。有没有办法做到以下几点:
任何帮助,将不胜感激。
当需要在远程机器上启动 gui 测试时,我曾经实现过类似的东西。
您可以使用 psexec 的 -i 参数,它会在指定的会话中“交互地”运行命令,对于特定用户,它看起来像这样:
psexec.exe \\<MachineName> -u <Username> -p <Password> -i <SessionNumber>
要获取 sessionNumber,您还可以使用相同的 psexec 实用程序,您可以在远程计算机上为指定用户执行“查询会话”。
您可以创建 .bat 文件,该文件将使用以下代码返回会话编号:
@echo off
setlocal enabledelayedexpansion
set username=%2
set password=%3
set machine=%1
psexec.exe \\%machine% -u %username% -p %password% query session %username%>sessid.txt
set /a counter=0
for /F "tokens=* skip=1" %%a in (sessid.txt) do (
for %%b in (%%a) do (
set /a counter+=1
if !counter! == 3 (
echo !counter!:%%b
exit %%b
)
)
)
这个批处理文件对我很有效,你可以像这样使用它
getSessionNumber.bat <ServerName> <User> <Password>