"Pay-As-You-Go"구독에서 Recovery Services 볼트를 사용하여 Azure Resource Manager 백업 및 복원을 실험하고 있습니다. MS 문서에서 바로 알 수있는 아주 간단한 코드를 사용하고 있습니다. 볼트 객체를 가져올 수는 있지만 컨테이너를 얻을 수는 있지만 Get-AzureRmRecoveryServicesBackupItem은 아무 항목도 가져 오려고 할 때 아무 것도 반환하지 않습니다. 항목이 있고 Azure RM GUI가이를 확인하더라도 항상 아무것도 반환하지 않습니다. "Returns nothing"은 변수에 결과를 할당하면 비어 있음을 의미하고, 콘솔에 출력하려고하면 출력이 나오지 않습니다.Get-AzureRmRecoveryServicesBackupItem은 항목이있을 때 아무것도 반환하지 않습니다.
서로 다른 볼트, VM 및 백업 항목을 사용하는 두 개의 서로 다른 컴퓨터에서 동일한 결과가 나타납니다. 한 대의 컴퓨터에 모듈을 다시 설치하고 다른 컴퓨터에 모듈을 처음부터 설치했습니다. 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 - ;
다른 PC를 사용해 볼까요? azure 모듈을 다시 설치 하시겠습니까? – 4c74356b41
동일한 코드를 두 개의 서로 다른 클라이언트 컴퓨터 (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"을 제외한 cmdlet을 사용합니다. –