Ассоциированный контейнер защиты с политикой репликации - ASR PowerShell - Сценарии
Я пытаюсь создать скрипт для автоматизации / упрощения задачи внедрения Azure Site Recovery.
Это сложно, поскольку все документы Microsoft в основном плохо документированы, а командлеты в основном устарели и помечены как устаревшие.
До сих пор я мог бы выполнить следующие шаги:
-Создание хранилища Acc
-Создать виртуальную сеть
-Создать ресурсную группу
-Создать хранилище и импортировать это FileSettings
-Создать сайт
-Установите провайдера и агента
-Создать политику репликации
(Все это с помощью PowerShell, уже с новыми командлетами и модулями после тяжелой работы)
Теперь у меня есть несколько проблем, чтобы связать политику репликации с контейнером защиты.
Мои командлеты следующие:
#Associate Protection Container With Replication Policy
$PolicyRslt=Get-AzureRmRecoveryServicesAsrPolicy -Name $PolicyName
$AssJob=Start-AzureRmSiteRecoveryPolicyAssociationJob -Policy $PolicyRslt -PrimaryProtectionContainer $Container
И я получаю ошибку:
Start-AzureRmSiteRecoveryPolicyAssociationJob : Cannot bind parameter 'Policy'. Cannot convert the "Microsoft.Azure.Commands.RecoveryServices.SiteRecovery.ASRPolicy" value of
type "Microsoft.Azure.Commands.RecoveryServices.SiteRecovery.ASRPolicy" to type "Microsoft.Azure.Commands.SiteRecovery.ASRPolicy".
At line:1 char:63
+ ... t-AzureRmSiteRecoveryPolicyAssociationJob -Policy $PolicyRslt -Primar ...
+ ~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Start-AzureRmSi...yAssociationJob], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.Azure.Commands.SiteRecovery.StartAzureSiteRecoveryPolicyAssociationJob
Может кто-нибудь помочь мне? Я не могу получить способ связать JOB с модулем служб восстановления и не могу получить политику с помощью командлета Get-AzureRmSiteRecoveryPolicy, поскольку он уже устарел
Заранее спасибо всем!
1 ответ
Нельзя смешивать и сопоставлять командлеты из модуля AzureRm.RecoveryServices.SiteRecovery и модуля AzureRm.SiteRecovery, поскольку создаваемые объекты PowerShell имеют разные типы.
Придерживайтесь использования командлетов из модуля AzureRm.RecoveryServices.SiteRecovery, и все будет в порядке. Вот ссылка: https://docs.microsoft.com/en-us/powershell/module/AzureRM.RecoveryServices.SiteRecovery/?view=azurermps-5.2.0
Командлет, который вы ищете, это New-AzureRmRecoveryServicesAsrProtectionContainerMapping (с псевдонимом New-AsrProtectionContainerMapping)
PS: модуль AzureRm.SiteRecovery устареет в будущем