2017-03-17 30 views
1

我們一直致力於在本地TFS 2015服務器上設置構建定義,但遇到了運行構建任務時即將到來的代理問題(Azure powershell )。構建任務實際上會向Azure發出呼叫以添加經過身份驗證的帳戶以用於Azure cmdlet,但是會被代理服務器阻止,如下所示。我們需要一種將當前用戶憑據傳遞給Azure Powershell cmdlet的方法,我們將不勝感激。代理身份驗證問題:本地TFS服務器上的Azure Powershell構建任務2015

錯誤消息 網絡訪問消息:該頁面無法顯示 技術信息(用於支持人員) 錯誤代碼:407代理服務器身份驗證。 ISA Server需要授權才能完成請求。訪問Web代理篩選器被拒絕。 (12209) IP地址:17/03/2017 9點03分58秒[GMT] 服務器:..com 來源:代理

試圖把[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials在自定義PowerShell腳本是 日期一些IP地址作爲任務運行,但在進入自定義腳本之前它會被阻止。基本上,在運行自定義腳本之前,Azure PowerShell構建任務會嘗試運行Add-AzureRmAccount,它會向Azure發出呼叫以添加經過身份驗證的帳戶,以便在Azure cmdlet中被代理攔截。

+0

你在腳本的開始放置了[System.Net.WebRequest] :: DefaultWebProxy.Credentials = [System.Net.CredentialCache] :: DefaultCredentials嗎?如果您在單個PowerShell中運行腳本,是否會得到相同的錯誤? –

+0

嘗試創建自定義構建任務擴展並將該代碼添加到第一行。有關擴展程序的更多信息:https://www.visualstudio.com/en-us/docs/integrate/extensions/develop/add-build-task –

+0

我們在上面嘗試過,但沒有奏效,我們也嘗試通過powershell傳遞代理憑據.exe.config,這也不起作用。 深入研究這個問題發現,代理阻塞是在Azure PowerShell任務和Azure訂閱之間的初始握手過程中發生的。基本上,在運行自定義PowerShell腳本之前,Azure PowerShell構建任務會嘗試運行Add-AzureRmAccount,它會向Azure發出呼叫以添加用於Azure cmdlet的經過身份驗證的帳戶,並且此位置會被代理阻止(代理驗證所需的錯誤代碼407)。 – user3165138

回答

0

最後,不得不轉到基礎知識,我們轉而使用簡單的PowerShell任務而不是Azure PowerShell來完成初始握手並將默認憑證傳遞給代理。

以下是link的詳細解決方法。