Compartir a través de


Invoke-AzVMRunCommand

Ejecute un comando en la máquina virtual.

Sintaxis

Invoke-AzVMRunCommand
      [-ResourceGroupName] <String>
      [-VMName] <String>
      -CommandId <String>
      [-ScriptPath <String>]
      [-ScriptString <String>]
      [-Parameter <Hashtable>]
      [-AsJob]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-AzVMRunCommand
      -CommandId <String>
      [-ScriptPath <String>]
      [-ScriptString <String>]
      [-Parameter <Hashtable>]
      [-ResourceId] <String>
      [-AsJob]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-AzVMRunCommand
      -CommandId <String>
      [-ScriptPath <String>]
      [-ScriptString <String>]
      [-Parameter <Hashtable>]
      [-VM] <PSVirtualMachine>
      [-AsJob]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Invoque un comando run en la máquina virtual.

Ejemplos

Ejemplo 1: Invocar un comando en Windows: uso del parámetro ScriptPath cuando el script reside en la máquina virtual Windows remota

Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptPath 'sample.ps1' -Parameter @{param1 = "var1"; param2 = "var2"}

Invoque un comando de ejecución "RunPowerShellScript" con la invalidación del script "sample.ps1" en una máquina virtual Windows denominada "vmname" en el grupo de recursos "rgname". Var1 y var2 se definen como parámetros en sample.ps1. El valor del parámetro solo puede ser de tipo de cadena y el script es responsable de convertirlos a otros tipos si es necesario.

Ejemplo 2: Invocar un comando en Windows: uso del parámetro ScriptString para ejecutar el cmdlet en la máquina virtual Windows

Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptString "Set-TimeZone -Name 'Coordinated Universal Time' -PassThru"

Este comando invoca un comando de ejecución "RunShellScript" que ejecutará el cmdlet Set-TimeZone con sus parámetros asociados. Este ejemplo es útil cuando desea ejecutar comandos cortos en una máquina virtual Windows.

Ejemplo 3: Invocar un comando en Windows: uso del parámetro ScriptString para ejecutar bloques de script en la máquina virtual Windows

$ScriptBlock = {
    param(
        [string] $NewTimeZone,
        [string] $NewDate
        )
    Set-TimeZone -Id $NewTimeZone
    Set-Date -Date [DateTime]$NewDate
}

$Script = [scriptblock]::create($ScriptBlock)

Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptString $Script -Parameter @{'NewTimeZone' = "UTC"; 'NewDate' = "Dec-8"}

Este comando invoca un comando de ejecución "RunShellScript" que ejecuta un bloque de script en una máquina virtual Windows remota denominada "vmname". La forma de bloqueo de script permite ejecutar varios cmdlets con parámetros en una sola invocación y también ahorra tiempo al invocar varios comandos de ejecución para distintos cmdlets. Los valores de parámetro solo pueden ser de tipo de cadena.

Ejemplo 4: Invocar un comando en Linux

export param1=var1 param2=var2
set -- var1 var2 var3

Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -Name 'vmname' -CommandId 'RunShellScript' -ScriptPath 'sample.bash' -Parameter @{"param1" = "var1";"param2" = "var2"}
echo This is a sample bash script
echo Usage 1: Ordered parameters: $0 $1
echo Usage 2: Named exports: $var1 $var2

Este comando invoca un comando de ejecución "RunShellScript" con la invalidación del script "sample.bash" en una máquina virtual Linux denominada "vmname". Var1 y var2 se definen como parámetros en sample.bash.

Parámetros

-AsJob

Ejecute el cmdlet en segundo plano y devuelva un objeto de trabajo para realizar un seguimiento del progreso.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-CommandId

Identificador de comando de ejecución.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DefaultProfile

Credenciales, cuenta, inquilino y suscripción usados para la comunicación con Azure.

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Parameter

Parámetros del comando run. Especifique los parámetros como pares clave-valor que se van a pasar en la ejecución del script.

Tipo:Hashtable
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ResourceGroupName

Nombre del grupo de recursos.

Tipo:String
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-ResourceId

Identificador de recurso de la máquina virtual.

Tipo:String
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-ScriptPath

Ruta de acceso del script que se va a ejecutar. Cuando se especifica este valor, el script especificado invalidará el script predeterminado del comando. La ruta de acceso debe apuntar a un archivo desde un sistema de archivos local. El comando lo cargará y lo enviará para su ejecución.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ScriptString

Script que se va a ejecutar como una cadena.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-VM

Objeto de máquina virtual PS.

Tipo:PSVirtualMachine
Alias:VMProfile
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-VMName

El nombre de la máquina virtual.

Tipo:String
Alias:Name
Posición:1
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

String

PSVirtualMachine

Salidas

PSRunCommandResult