本人剛接觸azure和powershell,嘗試用powershell管理HDInsight,但是最簡單的指令都沒走通,我的azure powershell的版本為1.0.3,用下載器裝的沒改過任何配置,連的是中國版的azure
開始時用get-azureHdinsightCluster,但是會報身份驗證失敗什麼的,但是我已經通過身份驗證並且選擇了subscription
警告: The Azure Service Management (ASM) cmdlets for HDInsight are deprecated and will be removed in a future release.
Please use the ARM version of this cmdlet: Get-AzureRmHDInsightCluster
Get-AzureHDInsightCluster : Request failed with code:Forbidden
Content:<Error xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><C
ode>ForbiddenError</Code><Message>The server failed to authenticate the request. Verify that the certificate is valid a
nd is associated with this subscription.</Message></Error>
所在位置 行:1 字符: 1
+ Get-AzureHDInsightCluster
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-AzureHDInsightCluster], HttpLayerException
+ FullyQualifiedErrorId : Microsoft.WindowsAzure.Management.HDInsight.Framework.Core.Library.WebRequest.HttpLayerE
xception,Microsoft.WindowsAzure.Management.HDInsight.Cmdlet.PSCmdlets.GetAzureHDInsightClusterCmdlet
另外還有個警告說不要用ASM要用ARM,於是重新用ARM登錄然後執行get-azureRmHdinsightCluster,報錯如下namespace未定義什麼的。。(其他rm指令也報類似的錯都是namespace錯)
Get-AzureRmHDInsightCluster : InvalidResourceNamespace: The resource namespace 'Microsoft.HDInsight' is invalid.
所在位置 行:1 字符: 1
+ Get-AzureRmHDInsightCluster
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Get-AzureRmHDInsightCluster],CloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.HDInsight.GetAzureHDInsightCommand
按道理說兩種方式應該都能獲取到集群信息的,只是第一種不建議用,結果兩種都報錯,實在搞不懂了特來求助,希望兩個方式都能弄清楚原因,先謝過!
注:以上都是按照官方文檔操作的,get-azureSubscription能正常看到訂閱號,也用select-azureSubscription選擇了一個訂閱號,所以身份驗證登錄應該都沒有問題。
還有就是我在ASM模式操作azure其他的資源都不報錯沒問題,一操作HDInsight就報“請求失敗身份驗證出錯“;
如果用ARM模式操作任何azure資源都會報namespace未定義的錯誤,無語。。。。。。。。
我碰到了同樣的問題,現在已經找到解決方案了,你只需用先運行 Get-AzurePublishSettingsFile
下載一個配置文件,再運行 Remove-AzureSubscription
把你的訂閱刪掉,然後運行 Import-AzurePublishSettingsFile
把之前下載的配置文件重新導入就可以了。