运行 Azure Powershell 内联脚本

Posted

技术标签:

【中文标题】运行 Azure Powershell 内联脚本【英文标题】:Running Azure Powershell Inline Script 【发布时间】:2020-01-25 19:06:52 【问题描述】:

我有一个用于备份 SQL 数据库的 powershell 脚本。我在本地运行脚本,我在 TFS 发布阶段使用 Powershell 脚本(不是 azure powershell 任务)运行脚本,一切顺利。

现在,我希望它使用 Azure PowerShell script: InlineScript 运行它,因为我想从我的 powershell 中删除登录部分。我将用户名\密码保存在变量中以便登录,我想摆脱它

这是脚本:

请注意,由于错误,我输入了Login-AzureRmAccount。在这之后,我仍然得到它。

错误信息:

[错误]当应用程序未在 UserInteractive 模式下运行时显示模式对话框或表单不是有效操作。指定 ServiceNotification 或 DefaultDesktopOnly 样式以显示来自服务应用程序的通知。

[错误]运行 Login-AzureRmAccount 登录。

【问题讨论】:

您的连接类型应该是 Azure RM,而不是 Azure Classic。 我应该改变什么才能使用经典版? 如果我删除登录 rm 帐户部分,我会得到相同的 2 个错误 你不能改变它。你正在使用 Azure RM 命令。您应该使用 Azure RM 连接。 Azure 经典版不起作用。 如果有“Azure 连接类型”,将下拉菜单更改为“Azure 资源管理器”,您可能需要创建/更新服务连接。 【参考方案1】:

如上所述,请将下拉菜单更改为“Azure 资源管理器”,因为在 Azure 经典中,此命令将转换为 Start-AzureSqlDatabaseCopy,它没有所有可用选项

https://docs.microsoft.com/en-us/powershell/module/servicemanagement/azure/start-azuresqldatabasecopy?view=azuresmps-4.0.0

【讨论】:

以上是关于运行 Azure Powershell 内联脚本的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Azure DevOps 的 Powershell 内联脚本中正确连接字符串?

使用内联 PowerShell 任务计算 azure 管道中任务的运行时间

“创建管道时出错。”在 Azure 管道自托管代理中运行 powershell 脚本时

Azure Pipelines:在 Powershell 中设置和访问变量

Azure 应用服务Azure Function 中运行Powershell 脚本,定位 -DefaultProfile 引发的错误

如何在整个 Azure 管理组上运行 powershell 脚本以跨越多个订阅?