我曾经需要启动远程机器上的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>
对于任何期待为了解决这个问题 - 我使用了http://taskscheduler.codeplex.com/这里找到的代码。这是有点不连贯,不得不通过任务调度程序,但它得到了我需要完成的任务。 – tylerauerbeck