PsExec:一個非常實用的【遠程運行】工具

PsExec 1.82 版

作者:Mark Russinovich

發佈日期: 2007年03月05日

簡介實用工具(如 Telnet)和遠程控制程序(如 Symantec 的 PC Anywhere)使您可以在遠程系統上執行程序,但安裝它們非常困難,並且需要您在想要訪問的遠程系統上安裝客戶端軟件。PsExec 是一個輕型的 telnet 替代工具,它使您無需手動安裝客戶端軟件即可執行其他系統上的進程,並且可以獲得與控制檯應用程序相當的完全交互性。PsExec 最強大的功能之一是在遠程系統和遠程支持工具(如 IpConfig)中啓動交互式命令提示窗口,以便顯示無法通過其他方式顯示的有關遠程系統的信息。

注意:某些反病毒掃描程序會報告其中的一個或多個工具感染了“遠程管理”病毒。這些 PsTools 都不帶病毒,但是如果病毒使用了這些工具,則它們可能觸發病毒通知。

安裝只需將 PsExec 複製到可執行路徑。鍵入“psexec”可顯示其使用語法。

PsExec 可在 Windows Vista、NT 4.0、Win2K、Windows XP 和 Server 2003(包括 64 位版本的 Windows)上運行。

用法有關介紹了 PsExec 的高級用法的 Mark 的文章,請參閱《Windows IT Pro 雜誌》2004 年 7 月刊。

用 法:psexec [\\computer[,computer2[,...] | @file][-u user [-p psswd]][-n s][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd [arguments]

computer

指示 PsExec 在指定的一臺或多臺計算機上運行應用程序。如果省略計算機名稱,則 PsExec 將在本地系統上運行應用程序;如果輸入計算機名稱“\\*”,則 PsExec 將在當前域中的所有計算機上運行應用程序。

@file

指示 PsExec 在指定的文本文件中列出的每臺計算機上運行命令。

-a

用逗號分隔可以運行應用程序的處理器,CPU 編號最小爲 1。例如,要在 CPU 2 和 CPU 4 上運行應用程序,請輸入:“-a 2,4”

-c

將指定的程序複製到遠程系統以便執行。如果省略此選項,則應用程序必須位於遠程系統上的系統路徑中。

-d

不等待應用程序終止。請只對非交互式應用程序使用此選項。

-e

不加載指定帳戶的配置文件。

-f

將指定的程序複製到遠程系統,即使遠程系統中已存在該文件。

-i

運行程序,以便它與遠程系統中指定會話的桌面進行交互。如果未指定會話,則進程將在控制檯會話中運行。

-l

以受限用戶身份(去除 Administrators 組的權限,並且只允許使用分配給 Users 組的權限)運行進程。在 Windows Vista 上,此進程將以“低完整性”運行。

-n

指定與遠程計算機連接的超時(秒)。

-p

指定用戶名的密碼(可選)。如果省略此選項,系統將提示您輸入隱藏密碼。

-s

在系統帳戶中運行遠程進程。

-u

指定用於登錄遠程計算機的可選用戶名。

-v

僅在指定文件具有更高版本號或該文件比遠程系統上的文件新時複製該文件。

-w

設置進程的工作目錄(相對於遠程計算機)。

-x

在 Winlogon 桌面上顯示 UI(僅限於本地系統)。

-priority

指定 –low、-belownormal、-abovenormal、-high 或 -realtime 按不同優先級運行進程。

program

要執行的程序的名稱。

arguments

要傳遞的參數(請注意,文件路徑必須是目標系統中的絕對路徑)

對於其名稱中含有空格的應用程序,可以在其兩側加引號,例如,psexec \\marklap "c:\long name\app.exe"。按下 Enter 鍵時,僅將輸入內容傳遞到遠程系統。鍵入 Ctrl-C 可終止遠程進程。

如果省略用戶名,則遠程進程將以執行 PsExec 時所使用的相同帳戶運行,但由於遠程進程以模仿方式運行,因此它無權訪問遠程系統上的網絡資源。指定用戶名時,遠程進程將以指定的帳戶執行,並可訪問該帳 戶有權訪問的任何網絡資源。請注意,密碼是以明文形式傳遞到遠程系統的。

當目標系統是本地系統時,由於 PsExec 不需要您具有管理員權限,因此您可以使用當前版本的 PsExec 來取代 Runas。

示例我寫的這篇文章對 PsExec 的工作原理進行了描述,並給出了一些有關如何使用它的提示:

http://www.winnetmag.com/Windows/Issues/IssueID/714/Index.html

以下命令可在 \\marklap 上啓動交互式命令提示窗口:

psexec \\marklap cmd

此命令通過 /all 開關在遠程系統上執行 IpConfig,並在本地顯示輸出結果:

psexec \\marklap ipconfig /all

此命令將程序 test.exe 複製到遠程系統,並以交互方式執行此程序:

psexec \\marklap -c test.exe

如果遠程系統中已經安裝的程序不在系統路徑中,請指定該程序的完整路徑:

psexec \\marklap c:\bin\test.exe

在系統帳戶中以交互方式運行 Regedit,以便查看 SAM 和 SECURITY 註冊表項的內容:

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

要以受限用戶權限運行 Internet Explorer,請使用此命令:

psexec -l -d "c:\program files\internet explorer\iexplore.exe"

 

 

來自:http://technet.microsoft.com/zh-cn/library/bb897553.aspx

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章