aska011152161214

已經不是第一次在 Azure PowerShell 遇到這個狀況,乾脆寫成部落格文章筆記一下。

這陣子在使用 Azure PowerShell 對 Azure 進行更進階設定時,有時會突然發生下了指令,卻跳出:「AuthenticationFailed: A security token exception occured for the received JWT token.」的錯誤訊息,導致無法完成指令,甚至整個關閉 Azure PowerShell 視窗再開,也是相同情況。(現在大都在英文版環境下作業,不確定是否有中文描述的錯誤訊息)

造成狀況的原因不明,但還好是很容易解掉的問題。

首先,請關閉 Azure PowerShell 視窗 。

再開啟檔案總管,於網址列欄位複製貼上以下文字後,按下 Enter 鍵。

%appdata%\Windows Azure Powershell

正常應該會開啟如下圖的資料夾,頂多使用者帳號不同。
接著,請砍掉「TokenCache.dat」這個檔案

aska031158161214

最後,重新開啟 Azure PowerShell。執行「Add-AzureAccount」,把要連結 Azure 的帳密輸入完,TokenCache 檔案就會重新產生了。
aska021157161214

其實,最早這個狀況的解法,是參考微軟 MSDN 部落格的這篇文章 - Azure Powershell error: Authentication Failed: A security token exception occurred for the received JWT token,但...文中說要砍的 XML 檔根本就沒在目錄裡看到啊!!!   /:|/

看了看只有 TokenCache.dat 最可疑,就抱著頂多這台沒辦法用指令對 Azure 做進階設定的決心,大刀一砍再重連果然就恢復正常了。

另外,砍 TokenCache.dat 前,還是強烈建議一定要關 Azure PowerShell 視窗。因為我犯賤已經測試過,砍檔案過程沒有關 Azure PowerShell 視窗,即便有重新產生檔案,但沒多久狀況就又復發了。 /=.=/