2011-12-21 50 views
2

我有測試.bat文件,將殺死我的Chrome瀏覽器:爲什麼.Bat文件可以在本地正常工作,但在遠程調用時無法工作?

@cls 
@echo You are about to kill Chrome 
tskill "chrome" 

當本地調用它工作正常。鉻死亡。如果我通過PSEXEC(的PsTools)援引確切.bat文件從另一臺機器:

psexec 10.60.90.10 -u admin -p pizza1234 "C:/myBatfile.bat" 

我得到一個錯誤,他說:

Could not find process: chrome 

任何想法,爲什麼調用該bat文件,遠程會導致這個錯誤? 「本地」機器是Windows Server 2008,遠程(「調用」)機器是Windows 7.

---解決方案--- /A標誌在所有會話中查找。謝謝你的幫助。

tskill "chrome" /A 

回答

4

Psexec利用目標機器上的服務執行命令。服務存在於一個單獨的Windows會話中,而不是您的chrome進程正在運行的交互式會話。當通過psexec執行時,bat文件將在服務會話中搜索chrome.exe進程,並且沒有。

+0

感謝安德斯。你會建議我使用SSH來調用遠程機器上的.bat文件來避免這個問題嗎? – 2011-12-21 22:21:47

+1

SSH服務器可能也會作爲服務運行 - 在服務會話中,所以它會有同樣的問題。您應該調整.bat文件以搜索所有進程,而不僅僅是當前會話的進程。 – 2011-12-21 22:25:28

+0

謝謝安德斯。我是否應該搜索以解決這個問題爲目標的晦澀的術語?否則,我要去「.bat文件搜索所有進程」。讓我知道如果你不認爲這會讓我在我需要的地方。乾杯! – 2011-12-21 22:39:58

0

psexec在遠程機器上運行指定的命令,而不是在本地機器上運行。它不會將遠程文件拖到本地計算機並在本地運行。要做到這一點,直接運行.bat文件像往常一樣,但使用UNC路徑來引用它,比如:

\\10.60.90.10\SomeShareName\myBatfile.bat 
+0

嗨雷米 - 我認爲默認行爲是在本地運行文件。您可以設置一個標誌,使psexec先複製文件。不知道這是你在說什麼,但/ A標誌(見上文)是訣竅。謝謝你的幫助! – 2011-12-22 03:38:05

相關問題