Condividi tramite


Virtual Machine Run Commands - Create Or Update

Operazione da creare o aggiornare il comando di esecuzione.

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

Parametri dell'URI

Nome In Necessario Tipo Descrizione
resourceGroupName
path True

string

Nome del gruppo di risorse.

runCommandName
path True

string

Nome del comando run della macchina virtuale.

subscriptionId
path True

string

Credenziali di sottoscrizione che identificano in modo univoco la sottoscrizione di Microsoft Azure. L'ID sottoscrizione fa parte dell'URI per ogni chiamata al servizio.

vmName
path True

string

Nome della macchina virtuale in cui deve essere creato o aggiornato il comando di esecuzione.

api-version
query True

string

Versione dell'API client.

Corpo della richiesta

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

Nome Necessario Tipo Descrizione
location True

string

Percorso risorsa

properties.asyncExecution

boolean

Opzionale. Se impostato su true, il provisioning verrà completato non appena viene avviato lo script e non attenderà il completamento dello script.

properties.errorBlobManagedIdentity

RunCommandManagedIdentity

Identità gestita assegnata dall'utente che ha accesso al BLOB di archiviazione errorBlobUri. Usare un oggetto vuoto in caso di identità assegnata dal sistema. Assicurarsi che all'identità gestita sia stato concesso l'accesso al contenitore del BLOB con l'assegnazione di ruolo "Collaboratore ai dati dei BLOB di archiviazione". In caso di identità assegnata dall'utente, assicurarsi di aggiungerla con l'identità della macchina virtuale. Per altre informazioni sull'identità gestita ed esegui comando, vedere https://aka.ms/ManagedIdentity e https://aka.ms/RunCommandManaged

properties.errorBlobUri

string

Specifica il BLOB di archiviazione di Azure in cui verrà caricato il flusso di errori dello script. Usare un URI di firma di accesso condiviso con lettura, aggiunta, creazione, accesso in scrittura O usare l'identità gestita per fornire alla macchina virtuale l'accesso al BLOB. Fare riferimento al parametro errorBlobManagedIdentity.

properties.outputBlobManagedIdentity

RunCommandManagedIdentity

Identità gestita assegnata dall'utente che ha accesso al BLOB di archiviazione outputBlobUri. Usare un oggetto vuoto in caso di identità assegnata dal sistema. Assicurarsi che all'identità gestita sia stato concesso l'accesso al contenitore del BLOB con l'assegnazione di ruolo "Collaboratore ai dati dei BLOB di archiviazione". In caso di identità assegnata dall'utente, assicurarsi di aggiungerla con l'identità della macchina virtuale. Per altre informazioni sull'identità gestita ed esegui comando, vedere https://aka.ms/ManagedIdentity e https://aka.ms/RunCommandManaged

properties.outputBlobUri

string

Specifica il BLOB di archiviazione di Azure in cui verrà caricato il flusso di output dello script. Usare un URI di firma di accesso condiviso con lettura, aggiunta, creazione, accesso in scrittura O usare l'identità gestita per fornire alla macchina virtuale l'accesso al BLOB. Fare riferimento al parametro outputBlobManagedIdentity.

properties.parameters

RunCommandInputParameter[]

Parametri utilizzati dallo script.

properties.protectedParameters

RunCommandInputParameter[]

Parametri utilizzati dallo script.

properties.runAsPassword

string

Specifica la password dell'account utente nella macchina virtuale durante l'esecuzione del comando di esecuzione.

properties.runAsUser

string

Specifica l'account utente nella macchina virtuale durante l'esecuzione del comando di esecuzione.

properties.source

VirtualMachineRunCommandScriptSource

Origine dello script del comando di esecuzione.

properties.timeoutInSeconds

integer

Timeout in secondi per eseguire il comando di esecuzione.

properties.treatFailureAsDeploymentFailure

boolean

Opzionale. Se impostato su true, qualsiasi errore nello script non riuscirà la distribuzione e ProvisioningState verrà contrassegnato come Non riuscito. Se impostato su false, ProvisioningState riflette solo se il comando di esecuzione è stato eseguito o meno dalla piattaforma delle estensioni, non indicherà se lo script non è riuscito in caso di errori di script. Vedere la visualizzazione dell'istanza del comando di esecuzione in caso di errori di script per visualizzare executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results

tags

object

Tag delle risorse

Risposte

Nome Tipo Descrizione
200 OK

VirtualMachineRunCommand

OK

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

201 Created

VirtualMachineRunCommand

Creato

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

Other Status Codes

CloudError

Risposta di errore che descrive il motivo per cui l'operazione non è riuscita.

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

Sicurezza

azure_auth

Flusso OAuth2 di Azure Active Directory

Tipo: oauth2
Flow: implicit
URL di autorizzazione: https://login.microsoftonline.com/common/oauth2/authorize

Ambiti

Nome Descrizione
user_impersonation rappresentare l'account utente

Esempio

Create or update a run command.

Esempio di richiesta

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"
    }
  }
}

Risposta di esempio

{
  "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"
  }
}

Definizioni

Nome Descrizione
ApiError

Errore dell'API.

ApiErrorBase

Base degli errori api.

CloudError

Risposta di errore dal servizio di calcolo.

ExecutionState

Stato di esecuzione dello script.

InnerError

Dettagli dell'errore interno.

InstanceViewStatus

Stato di visualizzazione dell'istanza.

RunCommandInputParameter

Descrive le proprietà di un parametro di comando di esecuzione.

RunCommandManagedIdentity

Contiene clientId o objectId (usare solo una, non entrambe) di un'identità gestita assegnata dall'utente che ha accesso al BLOB di archiviazione usato in Esegui comando. Usare un oggetto RunCommandManagedIdentity vuoto in caso di identità assegnata dal sistema. Assicurarsi che il BLOB di archiviazione di Azure esista nel caso di scriptUri e che all'identità gestita sia stato concesso l'accesso al contenitore del BLOB con l'assegnazione di ruolo "Lettore dati BLOB di archiviazione" con il BLOB scriptUri e "Collaboratore ai dati del BLOB di archiviazione" per i BLOB di accodamento (outputBlobUri, errorBlobUri). In caso di identità assegnata dall'utente, assicurarsi di aggiungerla con l'identità della macchina virtuale. Per altre informazioni sull'identità gestita ed esegui comando, vedere https://aka.ms/ManagedIdentity e https://aka.ms/RunCommandManaged.

StatusLevelTypes

Codice a livello.

VirtualMachineRunCommand

Descrive un comando di esecuzione della macchina virtuale.

VirtualMachineRunCommandInstanceView

Visualizzazione dell'istanza di un comando di esecuzione di una macchina virtuale.

VirtualMachineRunCommandScriptSource

Descrive le origini dello script per il comando di esecuzione. Usare solo uno script, scriptUri, commandId.

ApiError

Errore dell'API.

Nome Tipo Descrizione
code

string

Codice di errore.

details

ApiErrorBase[]

Dettagli dell'errore dell'API

innererror

InnerError

Errore interno dell'API

message

string

Messaggio di errore.

target

string

Destinazione dell'errore specifico.

ApiErrorBase

Base degli errori api.

Nome Tipo Descrizione
code

string

Codice di errore.

message

string

Messaggio di errore.

target

string

Destinazione dell'errore specifico.

CloudError

Risposta di errore dal servizio di calcolo.

Nome Tipo Descrizione
error

ApiError

Errore dell'API.

ExecutionState

Stato di esecuzione dello script.

Nome Tipo Descrizione
Canceled

string

Failed

string

Pending

string

Running

string

Succeeded

string

TimedOut

string

Unknown

string

InnerError

Dettagli dell'errore interno.

Nome Tipo Descrizione
errordetail

string

Messaggio di errore interno o dump delle eccezioni.

exceptiontype

string

Tipo di eccezione.

InstanceViewStatus

Stato di visualizzazione dell'istanza.

Nome Tipo Descrizione
code

string

Codice di stato.

displayStatus

string

Etichetta localizzabile breve per lo stato.

level

StatusLevelTypes

Codice a livello.

message

string

Messaggio di stato dettagliato, inclusi gli avvisi e i messaggi di errore.

time

string

Ora dello stato.

RunCommandInputParameter

Descrive le proprietà di un parametro di comando di esecuzione.

Nome Tipo Descrizione
name

string

Nome del parametro del comando di esecuzione.

value

string

Valore del parametro del comando run.

RunCommandManagedIdentity

Contiene clientId o objectId (usare solo una, non entrambe) di un'identità gestita assegnata dall'utente che ha accesso al BLOB di archiviazione usato in Esegui comando. Usare un oggetto RunCommandManagedIdentity vuoto in caso di identità assegnata dal sistema. Assicurarsi che il BLOB di archiviazione di Azure esista nel caso di scriptUri e che all'identità gestita sia stato concesso l'accesso al contenitore del BLOB con l'assegnazione di ruolo "Lettore dati BLOB di archiviazione" con il BLOB scriptUri e "Collaboratore ai dati del BLOB di archiviazione" per i BLOB di accodamento (outputBlobUri, errorBlobUri). In caso di identità assegnata dall'utente, assicurarsi di aggiungerla con l'identità della macchina virtuale. Per altre informazioni sull'identità gestita ed esegui comando, vedere https://aka.ms/ManagedIdentity e https://aka.ms/RunCommandManaged.

Nome Tipo Descrizione
clientId

string

ID client (valore GUID) dell'identità gestita assegnata dall'utente. ObjectId non deve essere utilizzato se specificato.

objectId

string

ID oggetto (valore GUID) dell'identità gestita assegnata dall'utente. ClientId non deve essere usato se specificato.

StatusLevelTypes

Codice a livello.

Nome Tipo Descrizione
Error

string

Info

string

Warning

string

VirtualMachineRunCommand

Descrive un comando di esecuzione della macchina virtuale.

Nome Tipo Valore predefinito Descrizione
id

string

ID risorsa

location

string

Percorso risorsa

name

string

Nome risorsa

properties.asyncExecution

boolean

False

Opzionale. Se impostato su true, il provisioning verrà completato non appena viene avviato lo script e non attenderà il completamento dello script.

properties.errorBlobManagedIdentity

RunCommandManagedIdentity

Identità gestita assegnata dall'utente che ha accesso al BLOB di archiviazione errorBlobUri. Usare un oggetto vuoto in caso di identità assegnata dal sistema. Assicurarsi che all'identità gestita sia stato concesso l'accesso al contenitore del BLOB con l'assegnazione di ruolo "Collaboratore ai dati dei BLOB di archiviazione". In caso di identità assegnata dall'utente, assicurarsi di aggiungerla con l'identità della macchina virtuale. Per altre informazioni sull'identità gestita ed esegui comando, vedere https://aka.ms/ManagedIdentity e https://aka.ms/RunCommandManaged

properties.errorBlobUri

string

Specifica il BLOB di archiviazione di Azure in cui verrà caricato il flusso di errori dello script. Usare un URI di firma di accesso condiviso con lettura, aggiunta, creazione, accesso in scrittura O usare l'identità gestita per fornire alla macchina virtuale l'accesso al BLOB. Fare riferimento al parametro errorBlobManagedIdentity.

properties.instanceView

VirtualMachineRunCommandInstanceView

La macchina virtuale esegue la visualizzazione dell'istanza del comando.

properties.outputBlobManagedIdentity

RunCommandManagedIdentity

Identità gestita assegnata dall'utente che ha accesso al BLOB di archiviazione outputBlobUri. Usare un oggetto vuoto in caso di identità assegnata dal sistema. Assicurarsi che all'identità gestita sia stato concesso l'accesso al contenitore del BLOB con l'assegnazione di ruolo "Collaboratore ai dati dei BLOB di archiviazione". In caso di identità assegnata dall'utente, assicurarsi di aggiungerla con l'identità della macchina virtuale. Per altre informazioni sull'identità gestita ed esegui comando, vedere https://aka.ms/ManagedIdentity e https://aka.ms/RunCommandManaged

properties.outputBlobUri

string

Specifica il BLOB di archiviazione di Azure in cui verrà caricato il flusso di output dello script. Usare un URI di firma di accesso condiviso con lettura, aggiunta, creazione, accesso in scrittura O usare l'identità gestita per fornire alla macchina virtuale l'accesso al BLOB. Fare riferimento al parametro outputBlobManagedIdentity.

properties.parameters

RunCommandInputParameter[]

Parametri utilizzati dallo script.

properties.protectedParameters

RunCommandInputParameter[]

Parametri utilizzati dallo script.

properties.provisioningState

string

Stato di provisioning, visualizzato solo nella risposta. Se treatFailureAsDeploymentFailure impostato su true, qualsiasi errore nello script non riuscirà la distribuzione e ProvisioningState verrà contrassegnato come Non riuscito. Se treatFailureAsDeploymentFailure impostato su false, ProvisioningState riflette solo se il comando di esecuzione è stato eseguito o meno dalla piattaforma delle estensioni, non indicherà se lo script non è riuscito in caso di errori di script. Vedere la visualizzazione dell'istanza del comando di esecuzione in caso di errori di script per visualizzare executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results

properties.runAsPassword

string

Specifica la password dell'account utente nella macchina virtuale durante l'esecuzione del comando di esecuzione.

properties.runAsUser

string

Specifica l'account utente nella macchina virtuale durante l'esecuzione del comando di esecuzione.

properties.source

VirtualMachineRunCommandScriptSource

Origine dello script del comando di esecuzione.

properties.timeoutInSeconds

integer

Timeout in secondi per eseguire il comando di esecuzione.

properties.treatFailureAsDeploymentFailure

boolean

False

Opzionale. Se impostato su true, qualsiasi errore nello script non riuscirà la distribuzione e ProvisioningState verrà contrassegnato come Non riuscito. Se impostato su false, ProvisioningState riflette solo se il comando di esecuzione è stato eseguito o meno dalla piattaforma delle estensioni, non indicherà se lo script non è riuscito in caso di errori di script. Vedere la visualizzazione dell'istanza del comando di esecuzione in caso di errori di script per visualizzare executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results

tags

object

Tag delle risorse

type

string

Tipo di risorsa

VirtualMachineRunCommandInstanceView

Visualizzazione dell'istanza di un comando di esecuzione di una macchina virtuale.

Nome Tipo Descrizione
endTime

string

Ora di fine dello script.

error

string

Flusso di errori dello script.

executionMessage

string

Comunicare gli errori di configurazione dello script o i messaggi di esecuzione.

executionState

ExecutionState

Stato di esecuzione dello script.

exitCode

integer

Codice di uscita restituito dall'esecuzione di script.

output

string

Flusso di output dello script.

startTime

string

Ora di inizio dello script.

statuses

InstanceViewStatus[]

Informazioni sullo stato della risorsa.

VirtualMachineRunCommandScriptSource

Descrive le origini dello script per il comando di esecuzione. Usare solo uno script, scriptUri, commandId.

Nome Tipo Descrizione
commandId

string

Specifica un commandId di script predefinito predefinito.

script

string

Specifica il contenuto dello script da eseguire nella macchina virtuale.

scriptUri

string

Specifica il percorso di download dello script. Può essere un URI di firma di accesso condiviso di un BLOB di archiviazione di Azure con accesso in lettura o URI pubblico.

scriptUriManagedIdentity

RunCommandManagedIdentity

Identità gestita assegnata dall'utente che ha accesso a scriptUri in caso di BLOB di archiviazione di Azure. Usare un oggetto vuoto in caso di identità assegnata dal sistema. Assicurarsi che il BLOB di archiviazione di Azure esista e che all'identità gestita sia stato concesso l'accesso al contenitore del BLOB con l'assegnazione di ruolo "Lettore dati BLOB di archiviazione". In caso di identità assegnata dall'utente, assicurarsi di aggiungerla con l'identità della macchina virtuale. Per altre informazioni sull'identità gestita ed esegui comando, vedere https://aka.ms/ManagedIdentity e https://aka.ms/RunCommandManaged.