2011-01-24 93 views
1

我本質上是一個Linux程序員,需要找出Windows機器(C++)上的遠程命令執行。 經過像C++:在Windows機器上遠程執行命令

1. psExec 
2. rcmd 
3. service control manager 

一些選項任何人都可以提出,這將是用於此目的的最佳方式是什麼? 一些標準:

  1. 應與所有Windows操作系統(XP,服務器等)的工作。
  2. 需要根據授權問題來決定,如果它可以是 併入使用C++的商業軟件 。
  3. Visual studio(VC++)是否爲遠程 命令執行提供任何默認接口。

回答

0

您通常必須連接到計算機上的服務,或其他機器也被連接到一個守護進程。

然後將命令發送到服務或守護進程。

在另一臺機器上沒有直接的C++調用或操作系統調用來遠程執行。

0

psexec是一個不錯的選擇。如CashCow所述,windows(和visual studio)不提供除DCOM以外的遠程調用的API。但是,首先DCOM的情況下,你需要在這臺遠程機器上註冊COM對象,這樣你就可以遠程創建它,並通過RPC與它交談。

+0

可以使用C++將psexec合併到商業軟件中。我需要在遠程機器上運行命令並在本地機器上獲取它的輸出(通過C++)。 – SPSN 2011-01-25 04:25:22

0

您可以使用AT命令安排任務在給定時間(即不久的將來)在遠程機器上運行。在命令行上鍵入AT /?以獲取說明。

2

這並不難。您可以登錄到遠程計算機程序。登錄後,您可以注入服務,啓動服務,然後執行您需要執行的所有必要工作。完成後,卸載服務並註銷。