Partager via


Virtual Machine Run Commands - Create Or Update

Opération de création ou de mise à jour de la commande d’exécution.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands/{runCommandName}?api-version=2024-07-01

Paramètres URI

Nom Dans Obligatoire Type Description
resourceGroupName
path True

string

Nom du groupe de ressources.

runCommandName
path True

string

Nom de la commande d’exécution de la machine virtuelle.

subscriptionId
path True

string

Informations d’identification d’abonnement qui identifient de manière unique l’abonnement Microsoft Azure. L’ID d’abonnement fait partie de l’URI de chaque appel de service.

vmName
path True

string

Nom de la machine virtuelle où la commande d’exécution doit être créée ou mise à jour.

api-version
query True

string

Version de l’API cliente.

Corps de la demande

Media Types: "application/json", "text/json"

Nom Obligatoire Type Description
location True

string

Emplacement des ressources

properties.asyncExecution

boolean

Optionnel. Si la valeur est true, l’approvisionnement se termine dès que le script démarre et n’attend pas que le script se termine.

properties.errorBlobManagedIdentity

RunCommandManagedIdentity

Identité managée affectée par l’utilisateur qui a accès à l’objet blob de stockage errorBlobUri. Utilisez un objet vide en cas d’identité affectée par le système. Vérifiez que l’identité managée a reçu l’accès au conteneur de l’objet blob avec l’attribution de rôle « Contributeur aux données blob de stockage ». En cas d’identité affectée par l’utilisateur, veillez à l’ajouter sous l’identité de la machine virtuelle. Pour plus d’informations sur l’identité managée et exécuter la commande, consultez https://aka.ms/ManagedIdentity et https://aka.ms/RunCommandManaged

properties.errorBlobUri

string

Spécifie l’objet blob de stockage Azure dans lequel le flux d’erreurs de script sera chargé. Utilisez un URI SAP avec lecture, ajout, création, accès en écriture OU utiliser l’identité managée pour fournir à la machine virtuelle l’accès à l’objet blob. Reportez-vous au paramètre errorBlobManagedIdentity.

properties.outputBlobManagedIdentity

RunCommandManagedIdentity

Identité managée affectée par l’utilisateur qui a accès à l’objet blob de stockage outputBlobUri. Utilisez un objet vide en cas d’identité affectée par le système. Vérifiez que l’identité managée a reçu l’accès au conteneur de l’objet blob avec l’attribution de rôle « Contributeur aux données blob de stockage ». En cas d’identité affectée par l’utilisateur, veillez à l’ajouter sous l’identité de la machine virtuelle. Pour plus d’informations sur l’identité managée et exécuter la commande, consultez https://aka.ms/ManagedIdentity et https://aka.ms/RunCommandManaged

properties.outputBlobUri

string

Spécifie l’objet blob de stockage Azure dans lequel le flux de sortie de script sera chargé. Utilisez un URI SAP avec lecture, ajout, création, accès en écriture OU utiliser l’identité managée pour fournir à la machine virtuelle l’accès à l’objet blob. Reportez-vous au paramètre outputBlobManagedIdentity.

properties.parameters

RunCommandInputParameter[]

Paramètres utilisés par le script.

properties.protectedParameters

RunCommandInputParameter[]

Paramètres utilisés par le script.

properties.runAsPassword

string

Spécifie le mot de passe du compte d’utilisateur sur la machine virtuelle lors de l’exécution de la commande d’exécution.

properties.runAsUser

string

Spécifie le compte d’utilisateur sur la machine virtuelle lors de l’exécution de la commande d’exécution.

properties.source

VirtualMachineRunCommandScriptSource

Source du script de commande d’exécution.

properties.timeoutInSeconds

integer

Délai d’expiration en secondes pour exécuter la commande d’exécution.

properties.treatFailureAsDeploymentFailure

boolean

Optionnel. Si la valeur est true, tout échec dans le script échoue et ProvisioningState est marqué comme ayant échoué. Si la valeur est false, ProvisioningState indique uniquement si la commande d’exécution a été exécutée ou non par la plateforme d’extensions, elle n’indique pas si le script a échoué en cas d’échec de script. Consultez la vue d’instance de la commande d’exécution en cas d’échecs de script pour voir executionMessage, sortie, erreur : https://aka.ms/runcommandmanaged#get-execution-status-and-results

tags

object

Balises de ressource

Réponses

Nom Type Description
200 OK

VirtualMachineRunCommand

D’ACCORD

Media Types: "application/json", "text/json"

201 Created

VirtualMachineRunCommand

Créé

Media Types: "application/json", "text/json"

Other Status Codes

CloudError

Réponse d’erreur décrivant pourquoi l’opération a échoué.

Media Types: "application/json", "text/json"

Sécurité

azure_auth

Flux OAuth2 Azure Active Directory

Type: oauth2
Flux: implicit
URL d’autorisation: https://login.microsoftonline.com/common/oauth2/authorize

Étendues

Nom Description
user_impersonation emprunter l’identité de votre compte d’utilisateur

Exemples

Create or update a run command.

Exemple de requête

PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand?api-version=2024-07-01

{
  "location": "West US",
  "properties": {
    "source": {
      "scriptUri": "https://mystorageaccount.blob.core.windows.net/scriptcontainer/scriptURI"
    },
    "parameters": [
      {
        "name": "param1",
        "value": "value1"
      },
      {
        "name": "param2",
        "value": "value2"
      }
    ],
    "asyncExecution": false,
    "treatFailureAsDeploymentFailure": false,
    "runAsUser": "user1",
    "runAsPassword": "<runAsPassword>",
    "timeoutInSeconds": 3600,
    "outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
    "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/scriptcontainer/scriptURI",
    "outputBlobManagedIdentity": {
      "clientId": "22d35efb-0c99-4041-8c5b-6d24db33a69a"
    }
  }
}

Exemple de réponse

{
  "name": "myRunCommand",
  "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
  "type": "Microsoft.Compute/virtualMachines/runCommands",
  "location": "westus",
  "tags": {
    "tag1": "value1",
    "tag2": "value2"
  },
  "properties": {
    "source": {
      "scriptUri": "https://mystorageaccount.blob.core.windows.net/scriptcontainer/MyScript.ps1"
    },
    "parameters": [
      {
        "name": "param1",
        "value": "value1"
      },
      {
        "name": "param2",
        "value": "value2"
      }
    ],
    "asyncExecution": false,
    "treatFailureAsDeploymentFailure": false,
    "runAsUser": "user1",
    "timeoutInSeconds": 3600,
    "provisioningState": "Succeeded",
    "outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
    "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt"
  }
}
{
  "name": "myRunCommand",
  "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
  "type": "Microsoft.Compute/virtualMachines/runCommands",
  "location": "westus",
  "tags": {
    "tag1": "value1",
    "tag2": "value2"
  },
  "properties": {
    "source": {
      "scriptUri": "https://mystorageaccount.blob.core.windows.net/scriptcontainer/MyScript.ps1"
    },
    "parameters": [
      {
        "name": "param1",
        "value": "value1"
      },
      {
        "name": "param2",
        "value": "value2"
      }
    ],
    "asyncExecution": false,
    "treatFailureAsDeploymentFailure": false,
    "runAsUser": "user1",
    "timeoutInSeconds": 3600,
    "provisioningState": "Creating",
    "outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
    "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt"
  }
}

Définitions

Nom Description
ApiError

Erreur d’API.

ApiErrorBase

Base d’erreurs d’API.

CloudError

Réponse d’erreur du service de calcul.

ExecutionState

État de l’exécution du script.

InnerError

Détails de l’erreur interne.

InstanceViewStatus

État de l’affichage de l’instance.

RunCommandInputParameter

Décrit les propriétés d’un paramètre de commande d’exécution.

RunCommandManagedIdentity

Contient clientId ou objectId (utilisez un seul, et non les deux) d’une identité managée affectée par l’utilisateur qui a accès à l’objet blob de stockage utilisé dans La commande d’exécution. Utilisez un objet RunCommandManagedIdentity vide en cas d’identité affectée par le système. Vérifiez que l’objet blob de stockage Azure existe en cas de scriptUri et que l’identité managée a été accordée au conteneur de l’objet blob avec l’attribution de rôle « Lecteur de données blob de stockage » avec l’objet blob scriptUri et « Contributeur aux données blob de stockage » pour les objets blob Append (outputBlobUri, errorBlobUri). En cas d’identité affectée par l’utilisateur, veillez à l’ajouter sous l’identité de la machine virtuelle. Pour plus d’informations sur l’identité managée et la commande Exécuter, reportez-vous https://aka.ms/ManagedIdentity et https://aka.ms/RunCommandManaged.

StatusLevelTypes

Code de niveau.

VirtualMachineRunCommand

Décrit une commande d’exécution de machine virtuelle.

VirtualMachineRunCommandInstanceView

Vue d’instance d’une commande d’exécution de machine virtuelle.

VirtualMachineRunCommandScriptSource

Décrit les sources de script pour la commande d’exécution. Utilisez un seul script, scriptUri, commandId.

ApiError

Erreur d’API.

Nom Type Description
code

string

Code d’erreur.

details

ApiErrorBase[]

Détails de l’erreur api

innererror

InnerError

Erreur interne de l’API

message

string

Message d’erreur.

target

string

Cible de l’erreur particulière.

ApiErrorBase

Base d’erreurs d’API.

Nom Type Description
code

string

Code d’erreur.

message

string

Message d’erreur.

target

string

Cible de l’erreur particulière.

CloudError

Réponse d’erreur du service de calcul.

Nom Type Description
error

ApiError

Erreur d’API.

ExecutionState

État de l’exécution du script.

Nom Type Description
Canceled

string

Failed

string

Pending

string

Running

string

Succeeded

string

TimedOut

string

Unknown

string

InnerError

Détails de l’erreur interne.

Nom Type Description
errordetail

string

Message d’erreur interne ou vidage d’exception.

exceptiontype

string

Type d’exception.

InstanceViewStatus

État de l’affichage de l’instance.

Nom Type Description
code

string

Code d’état.

displayStatus

string

Étiquette localisable courte pour l’état.

level

StatusLevelTypes

Code de niveau.

message

string

Message d’état détaillé, y compris pour les alertes et les messages d’erreur.

time

string

Heure de l’état.

RunCommandInputParameter

Décrit les propriétés d’un paramètre de commande d’exécution.

Nom Type Description
name

string

Nom du paramètre de commande d’exécution.

value

string

Valeur du paramètre de commande d’exécution.

RunCommandManagedIdentity

Contient clientId ou objectId (utilisez un seul, et non les deux) d’une identité managée affectée par l’utilisateur qui a accès à l’objet blob de stockage utilisé dans La commande d’exécution. Utilisez un objet RunCommandManagedIdentity vide en cas d’identité affectée par le système. Vérifiez que l’objet blob de stockage Azure existe en cas de scriptUri et que l’identité managée a été accordée au conteneur de l’objet blob avec l’attribution de rôle « Lecteur de données blob de stockage » avec l’objet blob scriptUri et « Contributeur aux données blob de stockage » pour les objets blob Append (outputBlobUri, errorBlobUri). En cas d’identité affectée par l’utilisateur, veillez à l’ajouter sous l’identité de la machine virtuelle. Pour plus d’informations sur l’identité managée et la commande Exécuter, reportez-vous https://aka.ms/ManagedIdentity et https://aka.ms/RunCommandManaged.

Nom Type Description
clientId

string

ID client (valeur GUID) de l’identité managée affectée par l’utilisateur. ObjectId ne doit pas être utilisé si cela est fourni.

objectId

string

ID d’objet (valeur GUID) de l’identité managée affectée par l’utilisateur. ClientId ne doit pas être utilisé si cela est fourni.

StatusLevelTypes

Code de niveau.

Nom Type Description
Error

string

Info

string

Warning

string

VirtualMachineRunCommand

Décrit une commande d’exécution de machine virtuelle.

Nom Type Valeur par défaut Description
id

string

ID de ressource

location

string

Emplacement des ressources

name

string

Nom de la ressource

properties.asyncExecution

boolean

False

Optionnel. Si la valeur est true, l’approvisionnement se termine dès que le script démarre et n’attend pas que le script se termine.

properties.errorBlobManagedIdentity

RunCommandManagedIdentity

Identité managée affectée par l’utilisateur qui a accès à l’objet blob de stockage errorBlobUri. Utilisez un objet vide en cas d’identité affectée par le système. Vérifiez que l’identité managée a reçu l’accès au conteneur de l’objet blob avec l’attribution de rôle « Contributeur aux données blob de stockage ». En cas d’identité affectée par l’utilisateur, veillez à l’ajouter sous l’identité de la machine virtuelle. Pour plus d’informations sur l’identité managée et exécuter la commande, consultez https://aka.ms/ManagedIdentity et https://aka.ms/RunCommandManaged

properties.errorBlobUri

string

Spécifie l’objet blob de stockage Azure dans lequel le flux d’erreurs de script sera chargé. Utilisez un URI SAP avec lecture, ajout, création, accès en écriture OU utiliser l’identité managée pour fournir à la machine virtuelle l’accès à l’objet blob. Reportez-vous au paramètre errorBlobManagedIdentity.

properties.instanceView

VirtualMachineRunCommandInstanceView

La machine virtuelle exécute la vue d’instance de commande.

properties.outputBlobManagedIdentity

RunCommandManagedIdentity

Identité managée affectée par l’utilisateur qui a accès à l’objet blob de stockage outputBlobUri. Utilisez un objet vide en cas d’identité affectée par le système. Vérifiez que l’identité managée a reçu l’accès au conteneur de l’objet blob avec l’attribution de rôle « Contributeur aux données blob de stockage ». En cas d’identité affectée par l’utilisateur, veillez à l’ajouter sous l’identité de la machine virtuelle. Pour plus d’informations sur l’identité managée et exécuter la commande, consultez https://aka.ms/ManagedIdentity et https://aka.ms/RunCommandManaged

properties.outputBlobUri

string

Spécifie l’objet blob de stockage Azure dans lequel le flux de sortie de script sera chargé. Utilisez un URI SAP avec lecture, ajout, création, accès en écriture OU utiliser l’identité managée pour fournir à la machine virtuelle l’accès à l’objet blob. Reportez-vous au paramètre outputBlobManagedIdentity.

properties.parameters

RunCommandInputParameter[]

Paramètres utilisés par le script.

properties.protectedParameters

RunCommandInputParameter[]

Paramètres utilisés par le script.

properties.provisioningState

string

État d’approvisionnement, qui apparaît uniquement dans la réponse. Si treatFailureAsDeploymentFailure défini sur true, toute défaillance dans le script échoue le déploiement et ProvisioningState est marqué comme ayant échoué. Si treatFailureAsDeploymentFailure défini sur false, ProvisioningState indique uniquement si la commande d’exécution a été exécutée ou non par la plateforme d’extensions, elle n’indique pas si le script a échoué en cas d’échec de script. Consultez la vue d’instance de la commande d’exécution en cas d’échecs de script pour voir executionMessage, sortie, erreur : https://aka.ms/runcommandmanaged#get-execution-status-and-results

properties.runAsPassword

string

Spécifie le mot de passe du compte d’utilisateur sur la machine virtuelle lors de l’exécution de la commande d’exécution.

properties.runAsUser

string

Spécifie le compte d’utilisateur sur la machine virtuelle lors de l’exécution de la commande d’exécution.

properties.source

VirtualMachineRunCommandScriptSource

Source du script de commande d’exécution.

properties.timeoutInSeconds

integer

Délai d’expiration en secondes pour exécuter la commande d’exécution.

properties.treatFailureAsDeploymentFailure

boolean

False

Optionnel. Si la valeur est true, tout échec dans le script échoue et ProvisioningState est marqué comme ayant échoué. Si la valeur est false, ProvisioningState indique uniquement si la commande d’exécution a été exécutée ou non par la plateforme d’extensions, elle n’indique pas si le script a échoué en cas d’échec de script. Consultez la vue d’instance de la commande d’exécution en cas d’échecs de script pour voir executionMessage, sortie, erreur : https://aka.ms/runcommandmanaged#get-execution-status-and-results

tags

object

Balises de ressource

type

string

Type de ressource

VirtualMachineRunCommandInstanceView

Vue d’instance d’une commande d’exécution de machine virtuelle.

Nom Type Description
endTime

string

Heure de fin du script.

error

string

Flux d’erreurs de script.

executionMessage

string

Communiquez les erreurs de configuration de script ou les messages d’exécution.

executionState

ExecutionState

État de l’exécution du script.

exitCode

integer

Quittez le code retourné par l’exécution du script.

output

string

Flux de sortie de script.

startTime

string

Heure de début du script.

statuses

InstanceViewStatus[]

Informations d’état de la ressource.

VirtualMachineRunCommandScriptSource

Décrit les sources de script pour la commande d’exécution. Utilisez un seul script, scriptUri, commandId.

Nom Type Description
commandId

string

Spécifie un commandId de script intégré prédéfini.

script

string

Spécifie le contenu du script à exécuter sur la machine virtuelle.

scriptUri

string

Spécifie l’emplacement de téléchargement du script. Il peut s’agir de l’URI SAP d’un objet blob de stockage Azure avec accès en lecture ou URI public.

scriptUriManagedIdentity

RunCommandManagedIdentity

Identité managée affectée par l’utilisateur qui a accès à scriptUri en cas d’objet blob de stockage Azure. Utilisez un objet vide en cas d’identité affectée par le système. Vérifiez que l’objet blob de stockage Azure existe et que l’identité managée a été attribuée au conteneur de l’objet blob avec l’attribution de rôle « Lecteur de données blob du stockage ». En cas d’identité affectée par l’utilisateur, veillez à l’ajouter sous l’identité de la machine virtuelle. Pour plus d’informations sur l’identité managée et la commande Exécuter, reportez-vous https://aka.ms/ManagedIdentity et https://aka.ms/RunCommandManaged.