我浏览了论坛,但没有找到任何可以帮助我完成我想做的事情。我正在寻找的是一种为远程服务器上的应用程序启动GUI的方法。我已经看到我可以使用PsExec执行此操作,只要我知道特定远程会话的会话ID是什么。但是,随着会话ID的改变,这不是我可以可靠使用的东西。有没有办法做到以下几点:
任何帮助都将不胜感激。
答案 0 :(得分:1)
我需要在远程机器上启动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>