2015-03-25 15 views
0

運行cmdlet Get-AzureStorageAccount時,出現以下錯誤(請參閱下文)。我已經連接到我的訂閱,(get-AzureSubscriptions返回訂閱ID &名稱,但CurrentStorageAccountName爲空)。 Get-AzureLocation也失敗。Azure Powershell:Get-AzureStorageAccount錯誤

任何指針???

PS C:\> Get-AzureStorageAccount 
VERBOSE: 09:42:35 - Begin Operation: Get-AzureStorageAccount 
Get-AzureStorageAccount : An error occurred while sending the request. 
At line:1 char:1 
+ Get-AzureStorageAccount 
+ ~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (:) [Get-AzureStorageAccount], HttpRequestException 
    + FullyQualifiedErrorId : System.Net.Http.HttpRequestException,Microsoft.WindowsAzure.Commands.ServiceManagement.S 
    torageServices.GetAzureStorageAccountCommand 

回答

0

確保您選擇您的Azure訂閱:

Select-AzureSubscription -SubscriptionName "<my subscription name>" 

然後你可以使用Get-AzureStorageAccount:

Get-AzureStorageAccount -StorageAccountName "<your storage account name>" 

一開始AzureStorageAccount命令將返回您的Azure存儲的說明帳戶。下面是一個示例輸出:

這可能發生
StorageAccountDescription : Implicitly created storage service 
AffinityGroup    : 
Location     : East US 
GeoReplicationEnabled  : True 
GeoPrimaryLocation  : East US 
GeoSecondaryLocation  : West US 
Label      : <your storage account name> 
StorageAccountStatus  : Created 
StatusOfPrimary   : Available 
StatusOfSecondary   : Available 
Endpoints     : {https://<your storage account name>.blob.core.windows.net/, 
          https://<your storage account name>.queue.core.windows.net/, 
          https://<your storage account name>.table.core.windows.net/} 
AccountType    : Standard_GRS 
StorageAccountName  : <your storage account name> 
OperationDescription  : Get-AzureStorageAccount 
OperationId    : <operation id> 
OperationStatus   : Succeeded 
4

的一個原因是,如果在Azure PowerShell命令在Azure的服務管理(ASM)模式,但存儲帳戶在資源管理器模式下創建的運行。非經典資源通常在ASM中是不可見的,如果您想查看它們,您必須讓PowerShell使用Azure資源管理器(ARM)模式。

(我不能告訴肯定這是否是你所遇到的問題,但即使它不是,它可能是誰的土地在這裏見過類似的錯誤,其他人有用。)

在Azure門戶中創建新的存儲帳戶時,您可以選擇「經典」和「資源管理器」模式。這種選擇有各種微妙的含義,其中之一是如果您選擇資源管理器模式,則通過舊的ASM管理API將無法看到該帳戶。

如果您使用的是Get-AzureStorageAccount,那麼您可能正在使用ASM。在Azure PowerShell cmdlet v1.0(2015年11月發佈)之前,除非使用Switch-AzureMode cmdlet切換到AzureResourceManager模式,否則PowerShell對所有內容都使用ASM。從v1.0開始,他們實際上已經分割了這些命令,所以如果你想使用ARM API,你可以使用Get-AzureRmStorageAccount

[編輯2016年11月9日:刪除段落,錯誤地表示您無法使用Live ID登錄。不知道我在那裏想什麼。您不能在ARM上使用管理證書,但您肯定可以使用Live ID登錄。]

可能有其他選擇。如果您碰巧通過其他方式瞭解存儲帳戶密鑰,則可以使用New-AzureStorageContext -StorageAccountName <youraccount> -StorageAccountKey <your key>,然後您可以通過其他Azure cmdlet使用該帳戶。

但是,如果您希望能夠發現帳戶或使用PowerShell cmdlet查找其憑據,那麼如果這些帳戶是在資源管理器模式下創建的,則需要使用AAD帳戶登錄並使用Get-AzureRmStorageAccount if你在v1上,或者如果你使用的是舊版本,在做任何事之前都使用Switch-AzureMode AzureResourceManager

+0

非常透徹的答案,謝謝。 – AllTradesJack 2016-11-08 18:35:33