PsExec v2.43
作者:Mark Russinovich
發行日期:2023 年 4 月 11 日
下載 PsTools (5 MB)
簡介
Telnet 之類的公用程式和 Symantec 電腦的遠端控制程式等公用程式可讓您在遠端系統上執行程式,但設定並要求您在想要存取的遠端系統上安裝用戶端軟體可能會感到困難。 PsExec 是一種輕量型 telnet-replacement,可讓您在其他系統上執行程式,並完成主控台應用程式的完整互動功能,而不需要手動安裝用戶端軟體。 PsExec 最強大的用途包括啟動遠端系統上的互動式命令提示字元,以及 IpConfig 之類的遠端啟用工具,否則無法顯示遠端系統的相關資訊。
注意:某些防毒軟體掃描器會報告一或多個工具受到「遠端系統管理員」病毒感染。 沒有 PsTools 包含病毒,但病毒已使用,這就是它們觸發病毒通知的原因。
安裝
只要將 PsExec 複製到可執行檔路徑即可。 輸入 「psexec」 會顯示其使用語法。
使用 PsExec
請參閱適用于Mark的Windows IT 專業人員 Magazine 2004 年 7 月問題,其中涵蓋 PsExec 的進階用法。
使用方式:
psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c executable [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd [arguments]
參數 | Description |
---|---|
-a | 以逗號分隔應用程式可執行檔處理器,其中 1 是最低的編號 CPU。 例如,若要在 CPU 2 和 CPU 4 上執行應用程式,請輸入:「-a 2,4」 |
-c | 將指定的可執行檔案複製到遠端系統以供執行。 如果您省略此選項,應用程式必須位於遠端系統上的系統路徑中。 |
-d | 請勿等候進程終止 (非互動式) 。 |
-e | 不會載入指定的帳號設定檔。 |
-f | 即使檔案已存在於遠端系統上,仍複製指定的程式。 |
-i | 執行程式,使其與遠端系統上指定會話的桌面互動。 如果未指定任何會話,進程就會在主控台會話中執行。 嘗試使用重新導向的標準 IO) ,以互動方式 (執行主控台應用程式時 ,需要 此旗標。 |
-h | 如果目標系統是 Vista 或更高版本,請讓進程在有帳戶提升許可權的權杖的情況下執行。 |
-我 | 以有限使用者身分執行程式 (移除 Administrators 群組,並只允許指派給 Users 群組的許可權) 。 在 Windows Vista 上,進程會以低完整性執行。 |
-n | 指定連線到遠端電腦的秒數逾時。 |
-p | 指定使用者名稱的選擇性密碼。 如果您省略此專案,系統會提示您輸入隱藏的密碼。 |
-r | 指定要建立或互動的遠端服務名稱。 |
-s | 在系統帳戶中執行遠端進程。 |
-u | 指定登入遠端電腦的選擇性使用者名稱。 |
-v | 只有在指定檔案的版本號碼較高或比遠端系統上的版本更新時,才複製指定的檔案。 |
-w | 設定相對於遠端電腦) 的程式工作目錄 (。 |
-x | 僅) 在 Winlogon 安全桌面上顯示 UI (本機系統。 |
-優先 | 指定 -low、-belownormal、-abovenormal、-high 或 -realtime,以不同的優先順序執行進程。 使用 -background 在 Vista 上以低記憶體和 I/O 優先順序執行。 |
電腦 | 指示 PsExec 在指定的遠端電腦或電腦上執行應用程式。 如果您省略電腦名稱稱,PsExec 會在本機系統上執行應用程式,而且如果您指定萬用字元 (\\*) ,PsExec 會在目前網域的所有電腦上執行 命令。 |
@file | PsExec 會在檔案中列出的每部電腦上執行 命令。 |
cmd | 要執行的應用程式名稱。 |
參數 | 要傳遞 (的引數請注意,檔案路徑必須是目標系統上的絕對路徑) 。 |
-accepteula | 此旗標會隱藏授權對話方塊的顯示。 |
您可以使用引號括住名稱中有空格的應用程式,例如
psexec \\marklap "c:\\long name app.exe"
只有在按下 Enter 鍵時,才會將輸入傳遞至遠端系統。 輸入 Ctrl-C 會終止遠端進程。
如果您省略使用者名稱,程式將會在遠端系統上的帳戶內容中執行,但無法存取網路資源 (,因為它正在模擬) 。 如果遠端進程需要存取網路資源或在不同的帳戶中執行,請在語法中 Domain\User
指定有效的使用者名稱。 請注意,密碼和命令會在傳輸至遠端系統時加密。
PsExec 傳回的錯誤碼專屬於您執行的應用程式,而不是 PsExec。
範例
本文我撰寫 說明 PsExec 的運作方式 ,並提供如何使用的秘訣:
下列命令會在 上 \\marklap
啟動互動式命令提示字元:
psexec -i \\marklap cmd
此命令會在遠端系統上使用 /all
參數執行 IpConfig,並在本機顯示產生的輸出:
psexec -i \\marklap ipconfig /all
此命令會將程式 test.exe
複製到遠端系統,並以互動方式執行:
psexec -i \\marklap -c test.exe
如果尚未安裝在系統路徑上的程式,請指定已在遠端系統上安裝的完整路徑:
psexec -i \\marklap c:\bin\test.exe
在系統帳戶中以互動方式執行 Regedit,以檢視 SAM 和安全性金鑰的內容::
psexec -i -d -s c:\windows\regedit.exe
若要以有限使用者權限執行 Internet Explorer,請使用此命令:
psexec -l -d "c:\program files\internet explorer\iexplore.exe"
下載 PsTools (5 MB)
PSTools
PsExec 是 Sysinternals 命令列工具成長套件的一部分,可協助管理名為 PsTools的本機和遠端系統。
執行于:
- 用戶端:Windows 8.1和更新版本。
- 伺服器:Windows Server 2012和更新版本。