PsExec 是一命令列工具,可讓我們執行遠端電腦的程式。

使用前請先至 PsExec 下載。

{% img /images/posts/PsExec/1.png %}

使用方式如下。

psexec [\computer[,computer2[,…] | @file]][-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-][-a n,n,…] cmd [arguments]

常用的參數有 -c、-i、-l、-w、-s、-u、-p,更多細節可直接輸入 psexec 命令查閱。

{% img /images/posts/PsExec/2.png %}

簡單的說,呼叫時要指定欲操作的遠端電腦,依需求帶入命令與參數就可以了。

像是要單純的讓遠端電腦執行命令,我們就可以直接在後面 psexec 後面加上指定的電腦與欲執行的命令。像是若要查閱遠端電腦的檔案內容我們就可以像下面這樣叫用:

psexec \TWDT092 cmd /c dir d:

{% img /images/posts/PsExec/3.png %}

命令第一次使用會跳授權視窗,如果要跳過授權視窗,可帶上 /accepteula。

psexec \TWDT092 /accepteula cmd /c dir d:

要查閱遠端電腦的 IP 設定的話:

psexec \TWDT092 -s ipconfig /all

{% img /images/posts/PsExec/4.png %}

要執行遠端電腦指定位置的檔案的話:

psexec \TWDT092 c:in est.exe

若檔案不存在於遠端電腦,我們也可直接用 psexec 戴上參數 -c 與要執行的檔案,讓 psexec 將指定的檔案傳到遠端電腦執行:

psexec \TWDT092 -c test.exe

若需要身分驗證的話,可以在後面用參數 -u 帶入 帳號、參數 -p 帶入密碼:

psexec \TWDT092 ipconfig /all -u larrynung -p 123456

像上面介紹的方式都是一次性的叫用,每次叫用遠端電腦都會帶起 psexecsvc 服務,讓 psexec 得以進行連線並運行命令。若有很多命令要處理,且無法寫成批次的話,我們也可以像下面這樣建立連線後互動處理:

psexec \TWDT092 cmd

{% img /images/posts/PsExec/5.png %}

下完命令後 psexec 會連到遠端電腦的命令提示字元,使用上就像是在本地叫用命令一般,直到我們輸入 exit 退出。

{% img /images/posts/PsExec/6.png %}

最後我們可以看個 YouTube 的教學體驗一下 PsExec 的使用。