#powershell #azure-devops
#powershell #azure-devops
Вопрос:
Мне нужно перечислить все имена баз данных определенного сервера в Azure.
$databases = Get-AzSqlDatabase -ServerName servername -ResourceGroupName resourcegroupname
foreach($dbs in $databases)
{
$dbs.DatabaseName
}
этот скрипт хорошо работает при запуске из локального.
Мой вопрос в том, как запустить это из версии Azure DevOps с помощью задачи powershell?
Ответ №1:
Вы должны использовать задачу Azure-Powershell.
Таким образом, конвейер может подключаться к соответствующей подписке Azure, точно так же, как вы подключились к подписке вручную из Powershell
Подробные сведения о задаче Azure Powershell: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-powershell?view=azure-devops
Но мне интересно, что вы хотите сделать со списком баз данных. Здесь вы рискуете, но вы, вероятно, хотели бы, чтобы результат был снова запущен в производство. В этом случае, пожалуйста, проверьте
- https://github.com/microsoft/azure-pipelines-agent/blob/master/docs/preview/outputvariable.md
- Запись-Хост «##vso[переменная task.setvariable=var01;isOutput=true]123»
Комментарии:
1. Привет, Тюдор. Я попробовал задачу Azure Powershell, назначил подключение к службе подписки, но выдал сообщение об ошибке «Термин ‘Get-AzSqlDatabase’ не распознается как имя командлета, функции …». Я установил для него версию 3, потому что версия 5 выдает мне «Не удалось найти модули: ‘Az. Учетные записи с версией: «. »
2. какой агент вы используете? вы размещаете свой собственный агент?
3. если вы размещаете свой собственный агент, вам необходимо установить модуль Az Powershell на агенте docs.microsoft.com/en-us/powershell/azure /…
4. Да, используя мой собственный. Установка Az приводит к тому, что этот модуль Az не установлен. Одновременная установка модулей AzureRM и Az не поддерживается «»
5. вы можете либо: — удалить AzureRM и установить только Az — install-module Az -AllowClobber, а затем включить AzureRM Alaises: docs.microsoft.com/en-us/powershell/module/az.accounts / … В идеале вы хотели бы иметь только модуль AZ. У меня есть как AzureRM, так и AZ, работающие бок о бок с включенными псевдонимами ARM. Однако это рискованно, и когда MS вносит критические изменения в AZ (например, недавнее секретное извлечение KV), у вас проблемы