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 |