【问题标题】:Getting Database names from SQLAzure using powershell in azure devops在 azure devops 中使用 powershell 从 SQLAzure 获取数据库名称
【发布时间】:2023-04-09 12:05:01
【问题描述】:

我需要列出 Azure 上特定服务器的所有数据库名称。

$databases = Get-AzSqlDatabase -ServerName servername -ResourceGroupName resourcegroupname
foreach($dbs in $databases)
{
    $dbs.DatabaseName
}

此脚本在本地运行时效果很好。

我的问题是如何使用 powershell 任务从 Azure DevOps 版本运行它?

【问题讨论】:

    标签: powershell azure-devops


    【解决方案1】:

    您必须使用 Azure-Powershell 任务。

    这样管道可以连接到正确的 Azure 订阅,就像您从 Powershell 手动连接到订阅一样

    有关 Azure Powershell 任务的详细信息:https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-powershell?view=azure-devops

    但是我想知道你想对数据库列表做什么。 在这里有点困难,但您可能希望输出回到管道中。在这种情况下,请查看

    【讨论】:

    • 你好都铎王朝。我尝试了 Azure Powershell 任务,分配了订阅的服务连接,但它给了我“术语 'Get-AzSqlDatabase' 未被识别为 cmdlet 的名称,函数......”错误。我将其设置为版本 3,因为版本 5 给了我“找不到模块:'Az.Accounts' with Version:''。”
    • 你用的是什么代理?您在托管自己的代理吗?
    • 如果您托管自己的代理,则需要在代理上安装 Az Powershell 模块docs.microsoft.com/en-us/powershell/azure/…
    • 是的,使用我自己的。安装 Az 会导致未安装此 Az 模块。不支持同时安装 AzureRM 和 Az 模块""
    • 您可以: - 卸载 AzureRM 并仅安装 Az - install-module Az -allowClobber 然后启用 AzureRm 别名:docs.microsoft.com/en-us/powershell/module/az.accounts/… 理想情况下,您只想拥有 AZ 模块。我让 AzureRM 和 AZ 在启用 ARM 别名的情况下并肩工作。但是,这是有风险的,当 MS 对 AZ 进行重大更改时(例如最近的 KV Secret 获取),那么您就有麻烦了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-08
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 2020-01-08
    • 2020-05-09
    相关资源
    最近更新 更多