我曾經需要啓動遠程機器上的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