2014-01-16 155 views
0

我遇到了'執行Windows批處理命令'構建步驟未能找到PsExec的問題。 爲了幫助縮小問題我已經創建了下面的生成步驟測試項目: enter image description here爲什麼Jenkins找不到PsExec?

C:\Windows\System32\PsExec /? 
PsExec /? 
C:\users\admin\Desktop\PsExec /? 

下面是結果: Results of the jenkin's project

Building in workspace C:\SoveraHIMDEV-10.2.1 
[SoveraHIMDEV-10.2.1] $ cmd /c call C:\Users\admin\AppData\Local\Temp\hudson9054484821341580808.bat 

C:\SoveraHIMDEV-10.2.1>C:\Windows\System32\PsExec /? 
'C:\Windows\System32\PsExec' is not recognized as an internal or external command, 
operable program or batch file. 

C:\SoveraHIMDEV-10.2.1>PsExec /? 
'PsExec' is not recognized as an internal or external command, 
operable program or batch file. 

C:\SoveraHIMDEV-10.2.1>C:\users\admin\Desktop\PsExec /? 

PsExec v2.0 - Execute processes remotely 
Copyright (C) 2001-2013 Mark Russinovich 
Sysinternals - www.sysinternals.com 

PsExec executes a program on a remote system, where remotely executed console 
applications execute interactively. 

正如你所看到的,它運行從絕對路徑到桌面,但僅在使用'PsExec'或'C:\ Windows \ System32 \ PsExec'時不會運行。但是,這三個示例都正確地從命令行執行。

我已經將PsExec可執行文件添加到Jenkins機器的C:\ Windows \ System32文件夾中。 PsExec在執行'PsExec /?'時有效從命令行,Jenkins在其路徑配置中顯示'C:\ Windows \ System32'。

的java.library.path:

C:\Program Files (x86)\Jenkins\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\app\admin\product\11.1.0\client_1\bin;C:\Program Files (x86)\Windows Resource Kits\Tools\;C:\apache-maven-3.1.1\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Git\cmd;. 

環境路徑:

C:\app\admin\product\11.1.0\client_1\bin;C:\Program Files (x86)\Windows Resource Kits\Tools\;C:\apache-maven-3.1.1\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Git\cmd 

我能夠從運行其他可執行文件 'C:\ Windows \ System32下'

上午什麼我錯過了停止Jenkins找到PsExec?

+0

您可以輸入圖片中的文字以獲得更好的可讀性和複製/粘貼,以便驗證您的數據更容易嗎? –

+0

@ThomasW。按要求添加 – Rapida

+0

這可能是文件系統虛擬化的一個問題。 http://msdn.microsoft.com/en-us/library/windows/desktop/aa384187%28v=vs.85%29.aspx當您將文件複製到C:\ Windows \ System32時,它可能只對您可見。你在使用哪種操作系統? –

回答

2

這可能是file system virtualization的問題。 當您將文件複製到C:\Windows\System32時,它可能只對您可見,對詹金斯不可見。請將其複製到SysWOW64文件夾。