我想运行powershell脚本来在Azure AD中创建用户和用户组。是否可以在ARM模板中调用ps脚本?
答案 0 :(得分:5)
更新: 现在可以使用新功能进行某些操作了(仍在预览中)
https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/deployment-script-template
在模板中使用部署脚本(预览)
了解如何在Azure资源模板中使用部署脚本。用 一种称为Microsoft.Resources / deploymentScripts的新资源类型, 用户可以在模板部署中执行部署脚本,并且 查看执行结果。这些脚本可用于执行 自定义步骤,例如:
- 将用户添加到目录
- 创建应用注册
- 执行数据平面操作,例如复制blob或种子数据库
- 查找并验证许可证密钥
- 创建自签名证书
- 在Azure AD中创建对象
- 从自定义系统中查找IP地址块
部署脚本的好处:
- 易于编码,使用和调试。您可以在自己喜欢的开发环境中开发部署脚本。脚本可以嵌入到 模板或外部脚本文件中。
- 您可以指定脚本语言和平台。当前,只有Linux环境上的Azure PowerShell部署脚本是 支持。
- 允许指定用于执行脚本的身份。当前,只有* * Azure用户分配的托管身份是 支持。
- 允许将命令行参数传递给脚本。
- 可以指定脚本输出,并将其传递回部署。
请记住,ARM模板应该是幂等的。您应该编写可以多次执行的代码,即使在已经执行过代码的环境中也是如此。 例如,如果您要配置设置或创建资源,则Powershell可能应该检查资源是否已到位并已正确配置。
答案 1 :(得分:2)
不,Azure ARM无法直接执行脚本。执行脚本需要主机,Azure模板不提供此类主机。
一种解决方案,您可以选择Azure Custom Script Extension。
自定义脚本扩展在Azure虚拟机上下载并执行脚本。