Я пытаюсь перейти с AzureRM на новый модуль Az для powershell. У нас все еще есть несколько вариантов использования «устаревших» ресурсов API управления службами, таких как классические облачные службы Azure, и они (насколько мне известно) по-прежнему требуют использования старого модуля Powershell Azure.
Я удалил все модули AzureRM, а затем установил новые модули Az. Но это, по-видимому, сломает устаревший модуль Azure. Похоже, что между модулем Azure и AzureRM существует зависимость. Выполнение любой команды управления службой, например Get-AzureService, приводит к следующему:
PS C:\WINDOWS\system32> Get-AzureService
Get-AzureService : Exception has been thrown by the target of an invocation.
At line:1 char:1
+ Get-AzureService
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Get-AzureService], TargetInvocationException
+ FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceManagement.HostedServices.GetAzureServiceCommand
Я попытался обновиться до последней версии модуля Azure powershell (Update-Module Azure). Кажется, это также устанавливает AzureRM.profile.
Поскольку этот модуль нельзя установить/использовать одновременно с модулем Az, я не знаю, как продолжить.
Дело в том, что нет возможности использовать устаревшие API-интерфейсы управления службами через powershell, если вы также хотите использовать новый модуль Az?
Я рекомендую вам перенести ресурсы с классических на ARM, а затем использовать новый модуль Az
единообразно, см. docs.microsoft.com/en-us/azure/virtual-machines/windows/…
Насколько мне известно, классические облачные сервисы нельзя перенести на ARM.
Модуль Az имеет режим совместимости, который помогает использовать существующие скрипты при обновлении до нового синтаксиса. Попробуйте запустить командлет Enable-AzureRmAlias, чтобы включить режим совместимости, прежде чем вы захотите запускать команды AzureRM в новом сеансе Az.
Вы можете получить более подробную информацию от перенос существующих скриптов в Az
Я не пытаюсь выполнять команды AzureRM. Я пытаюсь выполнить команды API управления службами, например Get-AzureService. Однако я попробую это и посмотрю, решит ли это проблему.
Это не решило проблему. Я удалил AzureRM и включил поддержку псевдонимов. Запуск Get-AzureService по-прежнему приводит к той же ошибке.
Я мог бы поторопиться. Я принудительно переустановил модуль Az, и теперь он ломается по-другому. :)
Это сработало. Мне пришлось дважды переустанавливать модуль Az, но я больше не получаю никаких ошибок после включения псевдонимов. Спасибо!
Чтобы добавить к этому, вы должны убедиться, что у вас установлен модуль Azure 5.3.0+ и НЕТ другой более старой версии. После установки снова принудительно установите модуль Az.
Модуль Azure 5.3.1 по-прежнему зависит от модуля Azure.Storage, который зависит от AzureRM.Profile. Не работал для нас.