2017-02-11 9 views
1

私はAzure Resource Managerのバックアップと復元サービスを使って、 "Pay-As-You-Go"サブスクリプションでの復元を試しています。私が知る限りでは、MSのドキュメントの中にある非常にシンプルなコードを使用しています。私はボールトオブジェクトを取得できますが、コンテナを取得できますが、コンテナからアイテムを取得しようとすると、Get-AzureRmRecoveryServicesBackupItemは何も返しません。 「何も返さない」とは、変数に空の/ nullの結果を代入すると、コンソールに出力しようとすると出力がないことを意味します。Get-AzureRmRecoveryServicesBackupItemはアイテムが存在するときに何も返しません

2つの異なるサブスクリプション、異なるボールト、VMおよびバックアップアイテム、2つの異なるコンピュータから同じ結果が得られました。あるマシンにモジュールを再インストールし、もう一方のモジュールを最初からインストールしました。 Get-AzureRmRecoveryServicesBackupItemコマンドに-Debugスイッチを使用すると、結果がOKでエラーなしで返されるアイテムが表示されます。 Powershellコードが下に表示され、その後に-Debug出力が表示されます。キッカーは、この正確なコードは2/7/17、冗談なしで作業していたということです。私はこの時点でアイデアが出ていないので、どんな助けもありがたいです。

更新:Get-AzureRmRecoveryServicesBackupContainerに-FriendlyNameパラメータを使用すると、問題が発生しますが、出力を| Where-Object {$ _。FriendlyName -eq $ vmName}問題は発生しません。私たちはMSFTで事件を開いた。

$vaultName = 'somevault' 
$resourceGroupName = 'somerg' 
$vmName = 'testvm' 

$vault = Get-AzureRmRecoveryServicesVault -Name $vaultName -ResourceGroupName $resourceGroupName; 
Set-AzureRmRecoveryServicesVaultContext -Vault $vault 

$container = Get-AzureRmRecoveryServicesBackupContainer -ContainerType AzureVM –Status Registered -FriendlyName $vmName 
#output of this cmdlet is empty 
Get-AzureRmRecoveryServicesBackupItem –Container $container -Debug 

デバッグ出力:

DEBUG: ============================ HTTP RESPONSE ============================ 

Status Code: 
OK 

Headers: 
Pragma      : no-cache 
x-ms-request-id    : xxx 
x-ms-client-request-id  : xxx 
Strict-Transport-Security  : max-age=31536000; includeSubDomains 
x-ms-ratelimit-remaining-subscription-reads: 14930 
x-ms-correlation-request-id : xxx 
x-ms-routing-request-id  : WESTUS:xxx 
Cache-Control     : no-cache 
Date       : Sat, 11 Feb 2017 19:39:07 GMT 
Server      : Microsoft-IIS/8.0 
X-Powered-By     : ASP.NET 

Body: 

{ 
    "value": [ 
    { 
     "id": "/Subscriptions/xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/VS-xxxxxxxxxxxxx-Group/providers/Microsoft.RecoveryServices/vaults/vault273/backupFabrics/Azure/protectionContainers/IaasVM 
Container;iaasvmcontainerv2;VS-xxxxxxxxxxxxx-Group;testvm/protectedItems/VM;iaasvmcontainerv2;VS-xxxxxxxxxxxxx-Group;testvm", 
     "name": "iaasvmcontainerv2;VS-xxxxxxxxxxxxx-Group;testvm", 
     "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", 
     "properties": { 
     "friendlyName": "testvm", 
     "virtualMachineId": "/subscriptions/xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/VS-xxxxxxxxxxxxx-Group/providers/Microsoft.Compute/virtualMachines/testvm", 
     "protectionStatus": "Healthy", 
     "protectionState": "Protected", 
     "healthStatus": "Passed", 
     "healthDetails": [ 
      { 
      "code": 400239, 
      "title": "IaasVmHealthGreenDefault", 
      "message": "Backup pre-check status of this virtual machine is OK.", 
      "recommendations": [] 
      } 
     ], 
     "lastBackupStatus": "Completed", 
     "lastBackupTime": "2017-02-11T15:11:12.2071619Z", 
     "protectedItemDataId": "70368936803029", 
     "protectedItemType": "Microsoft.Compute/virtualMachines", 
     "backupManagementType": "AzureIaasVM", 
     "workloadType": "VM", 
     "containerName": "iaasvmcontainerv2;VS-xxxxxxxxxxxxx-Group;testvm", 
     "sourceResourceId": "/subscriptions/xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/VS-xxxxxxxxxxxxx-Group/providers/Microsoft.Compute/virtualMachines/testvm", 
     "policyId": "/Subscriptions/xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/VS-xxxxxxxxxxxxx-Group/providers/Microsoft.RecoveryServices/vaults/vault273/backupPolicies/DailyPolicy", 
     "policyName": "DailyPolicy", 
     "lastRecoveryPoint": "2017-02-11T15:12:16.7410628Z" 
     } 
    } 
    ] 
} 


DEBUG: AzureQoSEvent: CommandName - Get-AzureRmRecoveryServicesBackupItem; IsSuccess - True; Duration - 00:00:02.3527163; Exception - ; 
+0

別のパソコンをお試しください。再インストールしているAzureモジュール? – 4c74356b41

+0

同じコードを2つの異なるクライアントマシン、つまりWindows 10とWindows 8.1で同じ結果で実行し​​たことに言及しておきます。後者では、すべてのAzureRmモジュールを新しくインストールしました。 – Aurelio

+0

Azure Powershellのバージョンは? 'Get-Module -ListAvailable -Name Azure -Refresh'をチェックすることができます。私のテストバージョンは '3.4.0'です。Get-AzureRmRecoveryServicesBackupItem -Container $ container [0] -WorkloadType" AzureVM "以外のコマンドレットを使用します。 –

答えて

0

は(また、様々なPC上で)同じ問題を有しており、設定の異なるパラメータを渡すことによって、その周りに働きました。私はGet-AzureRmRecoveryServicesBackupContainerを使用してコンテナへの参照を取得していません。代わりに、私はGet-AzureRmRecoveryServicesBackupItemをコンテナ名で直接呼び出しています。これは、パラメータ-BackupManagementType AzureVMを渡した場合にのみ機能します。

-Nameを省略すると、すべての名前でリストが返されます。

関連する問題