Invoke-AzVMRunCommand
Execute um comando na VM.
Sintaxe
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 um comando de execução na VM.
Exemplos
Exemplo 1: Invocar um comando no Windows – Usando o parâmetro ScriptPath quando o script reside na VM remota do Windows
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptPath 'sample.ps1' -Parameter @{param1 = "var1"; param2 = "var2"}
Invoque um comando de execução 'RunPowerShellScript' com a substituição do script 'sample.ps1' em uma VM do Windows chamada 'vmname' no grupo de recursos 'rgname'. Var1 e var2 são definidos como parâmetros no sample.ps1. O valor do parâmetro pode ser apenas do tipo string e o script é responsável por convertê-los em outros tipos, se necessário.
Exemplo 2: invocar um comando no Windows – usando o parâmetro ScriptString para executar o cmdlet na VM do Windows
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptString "Set-TimeZone -Name 'Coordinated Universal Time' -PassThru"
Esse comando invoca um comando de execução 'RunShellScript' que executará o cmdlet Set-TimeZone com seus parâmetros associados. Este exemplo é útil quando você deseja executar comandos curtos na VM do Windows.
Exemplo 3: Invocar um comando no Windows – Usando o parâmetro ScriptString para executar blocos de script na VM do 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"}
Esse comando invoca um comando de execução 'RunShellScript' que executa um bloco de script em uma VM remota do Windows chamada 'vmname'. O modo de bloco de script permite que você execute vários cmdlets com parâmetros em uma única invocação e também economiza tempo na invocação de vários comandos de execução para diferentes cmdlets. Os valores dos parâmetros podem ser apenas do tipo string.
Exemplo 4: Invocar um comando no 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
Esse comando invoca um comando de execução 'RunShellScript' com a substituição do script 'sample.bash' em uma VM Linux chamada 'vmname'. Var1 e var2 são definidos como parâmetros no sample.bash.
Parâmetros
-AsJob
Execute o cmdlet em segundo plano e retorne um objeto de trabalho para acompanhar o progresso.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-CommandId
A ID do comando de execução.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Confirm
Solicita sua confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-DefaultProfile
As credenciais, a conta, o locatário e a assinatura usados para a comunicação com o Azure.
Tipo: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Parameter
Os parâmetros do comando run. Especifique os parâmetros como pares chave/valor a serem passados na execução do script.
Tipo: | Hashtable |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ResourceGroupName
O nome do grupo de recursos.
Tipo: | String |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-ResourceId
A ID do recurso para a VM.
Tipo: | String |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-ScriptPath
Caminho do script a ser executado. Quando esse valor for fornecido, o script fornecido substituirá o script padrão do comando. O caminho deve apontar para um arquivo de um sistema de arquivos local. O comando irá carregá-lo e enviá-lo para execução.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ScriptString
O script a ser executado como uma cadeia de caracteres.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-VM
O objeto de máquina virtual PS.
Tipo: | PSVirtualMachine |
Aliases: | VMProfile |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-VMName
O nome da máquina virtual.
Tipo: | String |
Aliases: | Name |
Cargo: | 1 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |