0

アクティブなユーザーのデスクトップにウィンドウを表示しているときに、スケジューラからシステムとして起動されるバッチ スクリプトから Internet Explorer を実行しようとしています。2 つのしわがあります: ユーザーにはパスワードがありません。ユーザー名は一貫していません。

これについて最善の方法は何ですか?

私は多くのことを試しましたが、私が得た最も近いものは次のとおりです。

PsExec.exe -s -i -l 'C:\path-to-iexplore.exe'

cmdウィンドウから、表示されているGUIでSYSTEMとして実行されているプロセスを取得しますが、-s(システムユーザー)フラグの反対、または-i(現在のシェル)を見つけて指定できるようにする必要があります。

4

1 に答える 1

1

それで、試行錯誤の末に成功しました-何らかの理由で、psexecのネストされたインスタンスを呼び出す必要があるようです。私の場合、次のように 2 番目のコマンドを独自のバッチ ファイルに配置することは理にかなっています。

C:\path-to-psexec\PsExec.exe -s -i 0 "lock-screen.bat"

(lock-screen.bat:) C:\path-to-psexec\PsExec.exe -s -i 0 -d "C:\path-to-ie\iexplore.exe"

-i フラグはセッションに接続します。セッションが指定されていない場合は、現在のシェルのセッションに接続します。1 人のユーザーがログインしている場合、そのユーザーのセッション番号は 0 のようです。アクティブなセッションを確認するには、2 番目のコマンドLoginSessionsを使用できます。

PsExec をネストして実行する必要がある理由がわかりません。おそらく、私より賢い人が説明してくれるでしょう。

于 2013-04-18T15:41:32.437 に答える