你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.Compute virtualMachines/runCommands

Bicep 资源定义

可以使用目标操作部署 virtualMachines/runCommands 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Compute/virtualMachines/runCommands 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.Compute/virtualMachines/runCommands@2024-07-01' = {
  parent: resourceSymbolicName
  location: 'string'
  name: 'string'
  properties: {
    asyncExecution: bool
    errorBlobManagedIdentity: {
      clientId: 'string'
      objectId: 'string'
    }
    errorBlobUri: 'string'
    outputBlobManagedIdentity: {
      clientId: 'string'
      objectId: 'string'
    }
    outputBlobUri: 'string'
    parameters: [
      {
        name: 'string'
        value: 'string'
      }
    ]
    protectedParameters: [
      {
        name: 'string'
        value: 'string'
      }
    ]
    runAsPassword: 'string'
    runAsUser: 'string'
    source: {
      commandId: 'string'
      script: 'string'
      scriptUri: 'string'
      scriptUriManagedIdentity: {
        clientId: 'string'
        objectId: 'string'
      }
    }
    timeoutInSeconds: int
    treatFailureAsDeploymentFailure: bool
  }
  tags: {
    {customized property}: 'string'
  }
}

属性值

Microsoft.Compute/virtualMachines/runCommands

名字 描述 价值
位置 资源位置 string (必需)
名字 资源名称 string (必需)
父母 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。

有关详细信息,请参阅 父资源外部的子资源
类型资源的符号名称:virtualMachines
性能 描述虚拟机运行命令的属性。 VirtualMachineRunCommandProperties
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记

ResourceTags

名字 描述 价值

RunCommandInputParameter

名字 描述 价值
名字 run 命令参数名称。 string (必需)
价值 run 命令参数值。 string (必需)

RunCommandManagedIdentity

名字 描述 价值
clientId 用户分配的托管标识的客户端 ID (GUID 值)。 如果未提供,则不应使用 ObjectId。 字符串
objectId 用户分配的托管标识的对象 ID (GUID 值)。 如果未提供,则不应使用 ClientId。 字符串

VirtualMachineRunCommandProperties

名字 描述 价值
asyncExecution 自选。 如果设置为 true,则脚本启动后,预配将立即完成,并且不会等待脚本完成。 bool
errorBlobManagedIdentity 用户分配的托管标识有权访问 errorBlobUri 存储 Blob。 在系统分配的标识的情况下使用空对象。 确保已向托管标识授予对具有“存储 Blob 数据参与者”角色分配的 Blob 容器的访问权限。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged RunCommandManagedIdentity
errorBlobUri 指定将上传脚本错误流的 Azure 存储 Blob。 使用具有读取、追加、创建、写入访问权限的 SAS URI 或使用托管标识提供对 Blob 的 VM 访问权限。 引用 errorBlobManagedIdentity 参数。 字符串
outputBlobManagedIdentity 用户分配的托管标识有权访问 outputBlobUri 存储 Blob。 在系统分配的标识的情况下使用空对象。 确保已向托管标识授予对具有“存储 Blob 数据参与者”角色分配的 Blob 容器的访问权限。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged RunCommandManagedIdentity
outputBlobUri 指定将上传脚本输出流的 Azure 存储 Blob。 使用具有读取、追加、创建、写入访问权限的 SAS URI 或使用托管标识提供对 Blob 的 VM 访问权限。 引用 outputBlobManagedIdentity 参数。 字符串
参数 脚本使用的参数。 RunCommandInputParameter[]
protectedParameters 脚本使用的参数。 RunCommandInputParameter[]
runAsPassword 在执行 run 命令时,指定 VM 上的用户帐户密码。 字符串
runAsUser 在执行 run 命令时,指定 VM 上的用户帐户。 字符串
运行命令脚本的源。 VirtualMachineRunCommandScriptSource
timeoutInSeconds 执行 run 命令的超时(以秒为单位)。 int
treatFailureAsDeploymentFailure 自选。 如果设置为 true,脚本中的任何失败都将失败,并且 ProvisioningState 将标记为“失败”。 如果设置为 false,ProvisioningState 将仅反映运行命令是否由扩展平台运行,则不会指示脚本在脚本失败时是否失败。 如果脚本失败,请参阅 run 命令的实例视图,以查看 executionMessage、输出、错误:https://aka.ms/runcommandmanaged#get-execution-status-and-results bool

VirtualMachineRunCommandScriptSource

名字 描述 价值
commandId 指定预定义内置脚本的 commandId。 字符串
脚本 指定要在 VM 上执行的脚本内容。 字符串
scriptUri 指定脚本下载位置。 它可以是具有读取访问权限或公共 URI 的 Azure 存储 Blob 的 SAS URI。 字符串
scriptUriManagedIdentity 对于 Azure 存储 Blob,用户分配的托管标识有权访问 scriptUri。 在系统分配的标识的情况下使用空对象。 确保 Azure 存储 Blob 存在,并且已向托管标识授予对具有“存储 Blob 数据读取者”角色分配的 Blob 容器的访问权限。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged RunCommandManagedIdentity

快速入门示例

以下快速入门示例部署此资源类型。

Bicep 文件 描述
GitLab Omnibus 此模板简化了使用公共 DNS 在虚拟机上部署 GitLab Omnibus,并利用公共 IP 的 DNS。 它利用Standard_F8s_v2实例大小,该大小与参考体系结构保持一致,支持多达 1000 个用户(20 RPS)。 该实例已预先配置为将 HTTPS 与 Let's Encrypt 证书配合使用,以便进行安全连接。
SharePoint 订阅/ 2019 / 2016 完全配置 创建 DC、SQL Server 2022 和从 1 到 5 个服务器(s)托管 SharePoint 订阅/2019 / 2016 场,其中包含大量配置,包括受信任的身份验证、具有个人网站的用户配置文件、OAuth 信任(使用证书)、用于托管高信任外接程序的专用 IIS 站点,等等。已安装最新版本的密钥软件(包括 Fiddler、vscode、np++、7zip、ULS 查看器)。 SharePoint 计算机具有其他微调功能,使它们立即可用(远程管理工具、Edge 和 Chrome 的自定义策略、快捷方式等)。

ARM 模板资源定义

可以使用目标操作部署 virtualMachines/runCommands 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Compute/virtualMachines/runCommands 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.Compute/virtualMachines/runCommands",
  "apiVersion": "2024-07-01",
  "name": "string",
  "location": "string",
  "properties": {
    "asyncExecution": "bool",
    "errorBlobManagedIdentity": {
      "clientId": "string",
      "objectId": "string"
    },
    "errorBlobUri": "string",
    "outputBlobManagedIdentity": {
      "clientId": "string",
      "objectId": "string"
    },
    "outputBlobUri": "string",
    "parameters": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "protectedParameters": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "runAsPassword": "string",
    "runAsUser": "string",
    "source": {
      "commandId": "string",
      "script": "string",
      "scriptUri": "string",
      "scriptUriManagedIdentity": {
        "clientId": "string",
        "objectId": "string"
      }
    },
    "timeoutInSeconds": "int",
    "treatFailureAsDeploymentFailure": "bool"
  },
  "tags": {
    "{customized property}": "string"
  }
}

属性值

Microsoft.Compute/virtualMachines/runCommands

名字 描述 价值
apiVersion API 版本 '2024-07-01'
位置 资源位置 string (必需)
名字 资源名称 string (必需)
性能 描述虚拟机运行命令的属性。 VirtualMachineRunCommandProperties
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记
类型 资源类型 “Microsoft.Compute/virtualMachines/runCommands”

ResourceTags

名字 描述 价值

RunCommandInputParameter

名字 描述 价值
名字 run 命令参数名称。 string (必需)
价值 run 命令参数值。 string (必需)

RunCommandManagedIdentity

名字 描述 价值
clientId 用户分配的托管标识的客户端 ID (GUID 值)。 如果未提供,则不应使用 ObjectId。 字符串
objectId 用户分配的托管标识的对象 ID (GUID 值)。 如果未提供,则不应使用 ClientId。 字符串

VirtualMachineRunCommandProperties

名字 描述 价值
asyncExecution 自选。 如果设置为 true,则脚本启动后,预配将立即完成,并且不会等待脚本完成。 bool
errorBlobManagedIdentity 用户分配的托管标识有权访问 errorBlobUri 存储 Blob。 在系统分配的标识的情况下使用空对象。 确保已向托管标识授予对具有“存储 Blob 数据参与者”角色分配的 Blob 容器的访问权限。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged RunCommandManagedIdentity
errorBlobUri 指定将上传脚本错误流的 Azure 存储 Blob。 使用具有读取、追加、创建、写入访问权限的 SAS URI 或使用托管标识提供对 Blob 的 VM 访问权限。 引用 errorBlobManagedIdentity 参数。 字符串
outputBlobManagedIdentity 用户分配的托管标识有权访问 outputBlobUri 存储 Blob。 在系统分配的标识的情况下使用空对象。 确保已向托管标识授予对具有“存储 Blob 数据参与者”角色分配的 Blob 容器的访问权限。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged RunCommandManagedIdentity
outputBlobUri 指定将上传脚本输出流的 Azure 存储 Blob。 使用具有读取、追加、创建、写入访问权限的 SAS URI 或使用托管标识提供对 Blob 的 VM 访问权限。 引用 outputBlobManagedIdentity 参数。 字符串
参数 脚本使用的参数。 RunCommandInputParameter[]
protectedParameters 脚本使用的参数。 RunCommandInputParameter[]
runAsPassword 在执行 run 命令时,指定 VM 上的用户帐户密码。 字符串
runAsUser 在执行 run 命令时,指定 VM 上的用户帐户。 字符串
运行命令脚本的源。 VirtualMachineRunCommandScriptSource
timeoutInSeconds 执行 run 命令的超时(以秒为单位)。 int
treatFailureAsDeploymentFailure 自选。 如果设置为 true,脚本中的任何失败都将失败,并且 ProvisioningState 将标记为“失败”。 如果设置为 false,ProvisioningState 将仅反映运行命令是否由扩展平台运行,则不会指示脚本在脚本失败时是否失败。 如果脚本失败,请参阅 run 命令的实例视图,以查看 executionMessage、输出、错误:https://aka.ms/runcommandmanaged#get-execution-status-and-results bool

VirtualMachineRunCommandScriptSource

名字 描述 价值
commandId 指定预定义内置脚本的 commandId。 字符串
脚本 指定要在 VM 上执行的脚本内容。 字符串
scriptUri 指定脚本下载位置。 它可以是具有读取访问权限或公共 URI 的 Azure 存储 Blob 的 SAS URI。 字符串
scriptUriManagedIdentity 对于 Azure 存储 Blob,用户分配的托管标识有权访问 scriptUri。 在系统分配的标识的情况下使用空对象。 确保 Azure 存储 Blob 存在,并且已向托管标识授予对具有“存储 Blob 数据读取者”角色分配的 Blob 容器的访问权限。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged RunCommandManagedIdentity

快速入门模板

以下快速入门模板部署此资源类型。

模板 描述
GitLab Omnibus

部署到 Azure
此模板简化了使用公共 DNS 在虚拟机上部署 GitLab Omnibus,并利用公共 IP 的 DNS。 它利用Standard_F8s_v2实例大小,该大小与参考体系结构保持一致,支持多达 1000 个用户(20 RPS)。 该实例已预先配置为将 HTTPS 与 Let's Encrypt 证书配合使用,以便进行安全连接。
SharePoint 订阅/ 2019 / 2016 完全配置

部署到 Azure
创建 DC、SQL Server 2022 和从 1 到 5 个服务器(s)托管 SharePoint 订阅/2019 / 2016 场,其中包含大量配置,包括受信任的身份验证、具有个人网站的用户配置文件、OAuth 信任(使用证书)、用于托管高信任外接程序的专用 IIS 站点,等等。已安装最新版本的密钥软件(包括 Fiddler、vscode、np++、7zip、ULS 查看器)。 SharePoint 计算机具有其他微调功能,使它们立即可用(远程管理工具、Edge 和 Chrome 的自定义策略、快捷方式等)。

Terraform (AzAPI 提供程序)资源定义

可以使用目标操作部署 virtualMachines/runCommands 资源类型:

  • 资源组

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Compute/virtualMachines/runCommands 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Compute/virtualMachines/runCommands@2024-07-01"
  name = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      asyncExecution = bool
      errorBlobManagedIdentity = {
        clientId = "string"
        objectId = "string"
      }
      errorBlobUri = "string"
      outputBlobManagedIdentity = {
        clientId = "string"
        objectId = "string"
      }
      outputBlobUri = "string"
      parameters = [
        {
          name = "string"
          value = "string"
        }
      ]
      protectedParameters = [
        {
          name = "string"
          value = "string"
        }
      ]
      runAsPassword = "string"
      runAsUser = "string"
      source = {
        commandId = "string"
        script = "string"
        scriptUri = "string"
        scriptUriManagedIdentity = {
          clientId = "string"
          objectId = "string"
        }
      }
      timeoutInSeconds = int
      treatFailureAsDeploymentFailure = bool
    }
  })
}

属性值

Microsoft.Compute/virtualMachines/runCommands

名字 描述 价值
位置 资源位置 string (必需)
名字 资源名称 string (必需)
parent_id 此资源的父资源的 ID。 类型资源的 ID:virtualMachines
性能 描述虚拟机运行命令的属性。 VirtualMachineRunCommandProperties
标签 资源标记 标记名称和值的字典。
类型 资源类型 “Microsoft.Compute/virtualMachines/runCommands@2024-07-01”

ResourceTags

名字 描述 价值

RunCommandInputParameter

名字 描述 价值
名字 run 命令参数名称。 string (必需)
价值 run 命令参数值。 string (必需)

RunCommandManagedIdentity

名字 描述 价值
clientId 用户分配的托管标识的客户端 ID (GUID 值)。 如果未提供,则不应使用 ObjectId。 字符串
objectId 用户分配的托管标识的对象 ID (GUID 值)。 如果未提供,则不应使用 ClientId。 字符串

VirtualMachineRunCommandProperties

名字 描述 价值
asyncExecution 自选。 如果设置为 true,则脚本启动后,预配将立即完成,并且不会等待脚本完成。 bool
errorBlobManagedIdentity 用户分配的托管标识有权访问 errorBlobUri 存储 Blob。 在系统分配的标识的情况下使用空对象。 确保已向托管标识授予对具有“存储 Blob 数据参与者”角色分配的 Blob 容器的访问权限。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged RunCommandManagedIdentity
errorBlobUri 指定将上传脚本错误流的 Azure 存储 Blob。 使用具有读取、追加、创建、写入访问权限的 SAS URI 或使用托管标识提供对 Blob 的 VM 访问权限。 引用 errorBlobManagedIdentity 参数。 字符串
outputBlobManagedIdentity 用户分配的托管标识有权访问 outputBlobUri 存储 Blob。 在系统分配的标识的情况下使用空对象。 确保已向托管标识授予对具有“存储 Blob 数据参与者”角色分配的 Blob 容器的访问权限。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged RunCommandManagedIdentity
outputBlobUri 指定将上传脚本输出流的 Azure 存储 Blob。 使用具有读取、追加、创建、写入访问权限的 SAS URI 或使用托管标识提供对 Blob 的 VM 访问权限。 引用 outputBlobManagedIdentity 参数。 字符串
参数 脚本使用的参数。 RunCommandInputParameter[]
protectedParameters 脚本使用的参数。 RunCommandInputParameter[]
runAsPassword 在执行 run 命令时,指定 VM 上的用户帐户密码。 字符串
runAsUser 在执行 run 命令时,指定 VM 上的用户帐户。 字符串
运行命令脚本的源。 VirtualMachineRunCommandScriptSource
timeoutInSeconds 执行 run 命令的超时(以秒为单位)。 int
treatFailureAsDeploymentFailure 自选。 如果设置为 true,脚本中的任何失败都将失败,并且 ProvisioningState 将标记为“失败”。 如果设置为 false,ProvisioningState 将仅反映运行命令是否由扩展平台运行,则不会指示脚本在脚本失败时是否失败。 如果脚本失败,请参阅 run 命令的实例视图,以查看 executionMessage、输出、错误:https://aka.ms/runcommandmanaged#get-execution-status-and-results bool

VirtualMachineRunCommandScriptSource

名字 描述 价值
commandId 指定预定义内置脚本的 commandId。 字符串
脚本 指定要在 VM 上执行的脚本内容。 字符串
scriptUri 指定脚本下载位置。 它可以是具有读取访问权限或公共 URI 的 Azure 存储 Blob 的 SAS URI。 字符串
scriptUriManagedIdentity 对于 Azure 存储 Blob,用户分配的托管标识有权访问 scriptUri。 在系统分配的标识的情况下使用空对象。 确保 Azure 存储 Blob 存在,并且已向托管标识授予对具有“存储 Blob 数据读取者”角色分配的 Blob 容器的访问权限。 对于用户分配的标识,请确保将其添加到 VM 的标识下。 有关托管标识和运行命令的详细信息,请参阅 https://aka.ms/ManagedIdentityhttps://aka.ms/RunCommandManaged RunCommandManagedIdentity