“运行命令”功能使用虚拟机 (VM) 代理在 Azure Linux VM 或 Linux VM 中运行脚本。 可以使用这些脚本进行常规计算机或应用程序管理。 它们可以帮助你快速诊断和修正 VM 访问与网络问题,使 VM 恢复正常状态。 可以在属性中嵌入脚本,或将脚本引用到预先发布的库脚本。
最初的一组命令是面向操作的。 已更新的一组命令是面向管理的,使你能够运行多个脚本,并且其限制会更少。 本文将说明两组运行命令之间的差异,并帮助你确定哪一组适用于你的方案。
重要
目前,Azure CLI、PowerShell 和 API 中可使用“托管运行命令”。 门户功能即将推出。
最初的一组命令是面向操作的。 应考虑使用这组命令的情况包括:
- 你需要运行一个小脚本以从 VM 获取内容
- 你需要运行一个脚本以配置 VM(设置注册表项、更改配置)
- 你需要运行一个一次性脚本以进行诊断
有关可用操作命令以及如何应用它们的说明,请参阅适用于 Linux 的操作运行命令和适用于 Windows 的操作运行命令。
已更新的一组命令是面向管理的。 如果你的需求与以下示例一致,请考虑使用托管运行命令:
- 脚本需要在 VM 部署过程中运行
- 需要重复执行脚本
- 多个脚本需要按顺序执行
- 通过运行安装脚本来启动 VM
- 发布要共享并重复使用的自定义脚本
若要了解如何使用这些命令,请参阅适用于 Linux 的托管运行命令和适用于 Windows 的托管运行命令。
备注
允许的托管运行命令的最大数目当前限制为 25。
功能支持 | 操作运行命令 | 托管运行命令 |
---|---|---|
ARM 模板 | 否,这是一个 POST 操作 | 是,这是一个资源类型 |
长时间运行 | 90 分钟限制 | 客户指定的超时 |
执行帐户 | 系统帐户/root | 客户指定的用户 |
多个运行命令 | 仅一个处于活动状态 | 多个命令并行执行或按顺序执行 |
大型输出 | 限于 4k(在状态 blob 中) | 已上传到客户追加 blob |
进度跟踪 | 仅报告最终状态 | 在执行期间报告进度和最后4k 输出 |
异步执行 | 目标状态/预配等待脚本完成 | 客户指定的异步标志(如果预配等待该脚本) |
虚拟机规模集支持 | 仅在 VM 实例上 | 支持虚拟机规模集模型和横向扩展 |
SAS 生成 | 无 blob 支持 | 自动,CRP 为客户 blob 生成 SAS 并对其进行管理 |
库(自定义命令) | 仅内置 commandId | 客户可以发布脚本并共享它们 |