3

フォーラムに目を通しましたが、やりたいことを完了するのに役立つものは何も見つかりませんでした。私が探しているのは、リモート サーバー上のアプリケーションの GUI を起動する方法です。特定のリモート セッションのセッション ID を知っていれば、PsExec でこれを実行できることがわかりました。ただし、セッション ID が変更されるため、これは確実に使用できるものではありません。次のことを行う方法はありますか。

  • 特定のユーザーの永続的なセッション ID を持つ
  • 特定のユーザーのセッション ID を見つける
  • サーバー上のセッションで GUI を起動するその他の方法

どんな助けでも大歓迎です。

4

1 に答える 1

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>
于 2013-05-10T14:45:57.927 に答える