Я написал набор сценариев Powershell, которые могут построить мою инфраструктуру IAAS с помощью Azure Resource Manager. Все эти сценарии предназначены для запуска неинтерактивной из непрерывной системы интеграции, которую мы используем. В сценариях Powershell перед вызовом команды, такой как New-AzureResourceGroup, я сначала проверяю, чтобы машина, запускающая сценарий, была аутентифицирована для Azure, запустив Get-AzureSubscription и Get-AzureAccount. Если он обнаружит, что он не аутентифицирован, он будет запускать ряд командлетов, таких как Import-AzurePublishSettingsFile, Select-AzureSubscription, Add-AzureAccount и т. Д.Учетная запись Azure будет таймаутом, и я не могу повторно аутентифицироваться в Powershell
Это работает отлично в течение большей части времени, и я могу каждый раз изменять подписки и учетные данные, и сценарий будет замечать это изменение, а также указывать правильную подписку и повторно аутентифицироваться по мере необходимости. Однако, как только сеанс учетной записи Azure истечет (я думаю, что это занимает 12 часов), ни одно из вышеперечисленных действий не будет работать для повторной аутентификации. Если я запустил что-то вроде New-AzureResourceGroup, пока он находится в этом состоянии, я получу сообщение «Несанкционированный».
Как только это произойдет, единственное, что будет исправлено, - это запустить вручную Add-AzureAccount и вручную ввести мои учетные данные. Как только это будет сделано, мои скрипты будут работать нормально до следующего таймаута.
Я читал, что импорт файла настроек публикации в одиночку должен работать для этого сценария, но повторный импорт файла также не работает. Кто-нибудь еще смог аутентифицировать Azure из сценария Powershell после таймаута?
Оглядываясь немного, я нашел эту статью: [link] (http://azure.microsoft.com/en-in/documentation/articles/powershell-install-configure) В ней говорится: _The cmdlets в модуле AzureResourceManager требуется метод Azure AD (Add-AzureAccount). Эти командлеты не поддерживают файлы настроек публикации. Итак, режим AzureResourceManager имеет несколько иной механизм аутентификации, чем режим AzureServiceManagement. Это имеет смысл, так как многие другие агенты Azure продолжают работать, а New-AzureResourceGroup этого не делает. Возможно, мне понадобится рассказать об этом Microsoft. – Focker