Windows

PSExec 的互動模式不適用於控制台應用程序

  • May 11, 2021

我正在嘗試使用 PSExec 在遠端電腦上以互動狀態啟動控制台應用程序。當我執行這樣的事情時:

PsExec.exe -s -d -i 1 \\MyServer notepad.exe

它啟動記事本就好了。如果我再執行這個:

PsExec.exe -s -d -i 1 \\MyServer C:\Temp\MyConsoleApp.exe

它啟動命令視窗,但據我所知沒有做任何事情。例如,當我在本地執行我的控制台應用程序時,它每 5 秒顯示一次“心跳”,但是當我遠端執行它時,命令視窗中沒有顯示任何內容。.exe 確實在任務管理器中顯示為一個程序。有任何想法嗎?

我認為您必須使用 -w 設置工作目錄:

PsExec.exe -s -d -i 1 -w c:\temp \\MyServer MyConsoleApp.exe

http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

如果沒有出現視窗,很可能是因為呼叫 psexec 中的 session id 錯誤。

這被設置為 -d 標誌之後的數字。

您想要的 id 號將出現在 taskmgr.exe 的“使用者”選項卡上列表的“ID”列中。通常為 1,但也可能不是。並且省略數字也可能導致沒有視窗出現。

例如,我跑了:

psexec -i -d -s c:\windows\regedit.exe

(如其他地方所建議的那樣)並且雖然我收到一條消息:“… regedit.exe 開始於 … 帶有程序 ID …”,但沒有出現任何視窗,即使我可以在 taskmgr.exe 中看到它正在執行指示的程序 ID。

但是,當我執行時:

psexec -s -d -i 1 regedit.exe

視窗確實出現了。碰巧我的ID是1。

引用自:https://serverfault.com/questions/453704