リモートマシンで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>