簡體   English   中英

是否可以通過ssh進入Windows(通過cygwin sshd)並在登錄的Windows用戶桌面上啟動程序?

[英]Is it possible to ssh into Windows (through a cygwin sshd) and start a program on a logged in Windows user's desktop?

是否可以通過ssh進入Windows(通過cygwin sshd)並在登錄的Windows用戶桌面上啟動程序?

換句話說,用戶ABC登錄Windows並且遠程用戶使用ABC登錄/密碼通過ssh登錄,遠程ABC可以在本地ABC用戶的桌面上彈出應用嗎?

我在Stackoverflow上問這個,而不是Serverfault,因為這樣做的動機本質上是程序化的。 遠程調用將來自Linux機器,因此雖然可能(?)使用WMI或其他方法來執行此操作,但ssh似乎是最簡單的。

很高興聽到更簡單/更好的選擇。

謝謝!

如果您的cygwin sshd在特權帳戶下運行,它可以獲取當前桌面的句柄並在其上放置窗口。 請參閱STARTUPINFO for CreateProcess的桌面參數。

我自己的解決方案 在Windows XP上測試(但我認為它應該在任何Windows環境中運行一點點努力)。

您需要使用psexecquser命令。

首先,將psexecquser放在cygwin的PATH環境變量中包含的目錄中。 只需將這些文件復制到cygwin下的bin目錄中即可。

您可以在%system32%\\ dllcache目錄中找到quser.exe 但由於任何原因我無法通過cygwin命令(即ls,cp等)訪問它(或訪問提到的目錄),所以我使用microsoft的copy命令復制到cygwin \\ bin文件夾。

注意 :我認為將套件psutils全部放在cygwin的bin文件夾中會很有幫助。 第一次運行這些實用程序時,必須接受Microsoft警告的許可協議,因此第一次從Windows資源管理器運行psexec。

然后在.bash_profile文件中創建這些別名:

alias winrun='psexec \\\\YOU_USERNAME_HERE -d -i `quser | grep YOU_USERNAME_HERE | grep console | awk "{print \\\$3}"`'
alias explorethis='winrun explorer $(cygpath -w `pwd`)'

請記住,如果需要將其作為命令的參數傳遞,則需要使用cygpath轉換當前目錄(“explorethis”就是一個示例)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM