Ассоциированный контейнер защиты с политикой репликации - 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 устареет в будущем

Другие вопросы по тегам