私は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 - ;
別のパソコンをお試しください。再インストールしているAzureモジュール? – 4c74356b41
同じコードを2つの異なるクライアントマシン、つまりWindows 10とWindows 8.1で同じ結果で実行したことに言及しておきます。後者では、すべてのAzureRmモジュールを新しくインストールしました。 – Aurelio
Azure Powershellのバージョンは? 'Get-Module -ListAvailable -Name Azure -Refresh'をチェックすることができます。私のテストバージョンは '3.4.0'です。Get-AzureRmRecoveryServicesBackupItem -Container $ container [0] -WorkloadType" AzureVM "以外のコマンドレットを使用します。 –