2017-01-23 64 views
1

我正在TeamCity中運行PowerShell腳本作爲構建後步驟之一,並且我試圖創建一個空文件作爲後續步驟的佔位符。我開始的代碼是:PowerShell希望在TeamCity中提示

New-Item $MyPathAndFileName -Force 

這在我的機器在ISE上工作得很好。但是在執行它的TeamCity導致整個構建步驟(因此生成配置),以失敗的生成日誌條目:

Windows PowerShell is in NonInteractive mode. Read and Prompt functionality is not available. 

,我已經添加到我的代碼在以下落得:

if((Test-Path $MyPathAndFileName) -ne 0) 
    {Remove-Item $MyPathAndFileName -Force} 
New-Item $$MyPathAndFileName -Force -Confirm:$false -ErrorAction SilentlyContinue -WarningAction SilentlyContinue -InformationAction SilentlyContinue 

總是失敗的New-Item行。

我的問題是我能既

一)獲得PowerShell來寫出什麼提示它試圖顯示,所以我可以容錯找到什麼是錯的?還是

二)創建新沒有提示的項目?

+0

帳號teamcity是否有可能在沒有權限的情況下運行? – TravisEz13

+0

我可以看到你的問題的重點,但同一個腳本的其他部分和構建遷移的實際編譯步驟已經寫入到問題文件夾中 – GavTheGuru

+0

您是否嘗試過按照建議添加'-confirm:$ false' ](http://stackoverflow.com/questions/16580723/powershell-in-noninteractive-mode)? – sarbis

回答

0

在這種情況下,事實證明,我們的TeamCity服務器上的一個代理正在運行較舊版本的PowerShell,並期望-Type參數命名爲「file」。這適用於該行,但該代理程序在處理zip文件的後續腳本行中遇到了問題。

由於我們無法升級PowerShell版本,因此我們將臨時解決方案設置爲構建配置,代理要求以命名成功運行構建所需的特定代理。

但是,底線是PowerShell在TeamCity服務器上執行並試圖提示用戶佔上風的問題。將提示寫入生成日誌的方法將有助於智能故障查找。

謝謝你的迴應。