2015-06-09 29 views
2

這裏不執行PowerShell是一個示例:CFEXECUTE似乎ColdFusion的11

<cfset cmd="get-date -format g" /> 
<cfset args="-inputformat none -Command " & cmd /> 
<cfoutput> 
    <cfexecute name="powershell.exe" variable="result" errorvariable="err" 
       arguments="#args#" timeout="99" /> 
    <p>Result: <cfif result neq "">#result#<cfelse>None</cfif></p> 
    <p>Error: <cfif err neq "">#err#<cfelse>None</cfif></p> 
</cfoutput> 

在Windows 2008 R2使用ColdFusion 10,這會準確地把PowerShell命令的輸出到結果變量。升級到ColdFusion 11後,此代碼將無錯執行,但沒有結果。

如果我嘗試其他命令來保存文件或其他東西,則沒有證據表明PowerShell命令甚至被執行。

我已經測試了升級後的ColdFusion 11,並安裝了ColdFusion 11 fresh。在所有情況下,我都將CF用作獨立服務器。我嘗試了使用或不使用CF 11更新/修補程序。我已驗證CF運行的用戶帳戶具有執行PowerShell的權限。

您的幫助和/或對這個問題的佐證表示讚賞。我錯過了什麼?如果這一個錯誤,關於如何從CF 11執行一些PowerShell命令的前進的任何想法?

感謝您的參觀!

+3

首先,請嘗試指定powershell.exe的完整路徑。 – Leigh

+0

由於@Leigh建議您可以指定powershell.exe的完整路徑,或者您可以將其路徑添加到環境變量'path'並按原樣調用。 – Pankaj

+0

@Leigh謝謝你的推薦。這沒有幫助。任何在Windows上使用CF 11的人,你是否可以嘗試這段代碼,看看你是否真的得到了結果輸出?如果這是一個全球性問題,或者確實是我的設置中的一個配置問題,那將是非常好的。 –

回答

3

對於這樣的人,看看答案在於更新CF使用的jvm。默認情況下,cf11(至少在最初)出現在Java 1.8.0_25中,我寫於2016年的日期是過時的。

嘗試更新到以後的jvm版本。皮特Freitag的有做它一個很好的視頻,我指向它在博客中應對挑戰,如果你發現嘗試此方法後CF將無法啓動:

http://www.carehart.org/blog/client/index.cfm/2014/12/11/help_I_updated_CFs_JVM_and_it_wont_start

如果更新,讓我們知道這裏jvm有幫助。

+0

我更新到1.8.0_60,並解決了這個問題!萬分感謝! –