2014-11-06 126 views
1

我正面臨着Control-M的這個問題。在Control-M中調度PowerShell作業

我已經創建了一個簡單的PowerShell作業,並在Control-M中使用任務類型作爲命令調用它。執行後,作業狀態變爲綠色,但它不會執行任何操作。但是,雙擊或使用PowerShell運行時,作業執行得很好。

對於實驗,我創建了簡單的批處理腳本(.bat)來寫入文件並將其安排在Control-M中。它不會在Control-M中運行(即使變綠後)。

我在批處理文件中直接在Control-M的命令框中輸入了命令,它運行良好。

我嘗試使用作業類型「作業」,但它有同樣的問題。

請別人幫忙。另外,Control-M中是否有特殊的PowerShell作業設置?

回答

-1

您是否在遠程服務器上運行powershell腳本?以及如何將命令行放在控制工作中。

試試這個。

PowerShell FullPathtoFile.ps1參數2> & 1 |更多

0

您不能直接調用Powershell腳本,就像在哪裏執行可執行文件一樣。

CONTROL-M可能會通過cmd(「DOS」)調用程序,它不會將PS1文件識別爲可執行文件(也許可以調整它,但默認情況下不會發生這種情況)。在Windows內部,確實可能有一個配置(文件關聯),它調用Powershell並將腳本傳遞給它。

在任何情況下,你需要做的是從CONTROL-M呼叫PowerShell和傳遞您的腳本作爲參數:

powershell -File yourscript.ps1 param1 param2 

有關此語法的更多信息,打開CMD,然後鍵入

powershell /? 
2

布魯諾布蘭特是正確的。您必須使用Powershell程序執行腳本。

powershell.exe -nologo -nonInteractive -NoProfile -ExecutionPolicy 「旁路」 -File 「[隱藏UNC路徑] \ HelloWorld.ps1」

放置一個指定的服務器上的代理。讓Control-M從放置代理的服務器運行腳本。 「旁路」僅用於測試連接並測試腳本運行。將其刪除一個通話成功並再次測試。在主機上(使用Control-M代理)將執行策略更改爲「遠程簽名」。再次測試。如果您的腳本位於另一臺計算機上,則可以使用隱藏的unc路徑。如果在同一臺機器上,請用本地驅動器替換路徑。

給我發電子郵件,我可以提供更多信息。如果我有更多的時間,我會發布更多關於什麼對我有用的信息,哪些沒有。

0

我發生過類似的情況。沒有運氣嘗試了所有不同方式的powershell命令。最後 - 我登錄到CCM,去了我運行powershell命令的代理屬性,並檢查了「以用戶身份登錄」選項。這個問題糾正了我的問題,即工作會提交併執行,但似乎沒有做任何事情。試試這個吧!