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 run 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' substituindo o 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"
Este comando invoca um comando run '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"}
Este comando invoca um comando de execução 'RunShellScript' que executa um bloco de script em uma VM remota do Windows chamada 'vmname'. A maneira de bloco de script permite executar vários cmdlets com parâmetros em uma única chamada e também economiza tempo ao invocar vários comandos de execução para cmdlets diferentes. O(s) valor(es) do(s) parâmetro(s) pode(m) 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
Este comando invoca um comando run '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 |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-CommandId
O ID do comando run.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Confirm
Solicita a sua confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-DefaultProfile
As credenciais, a conta, o locatário e a assinatura usados para comunicação com o Azure.
Tipo: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Parameter
Os parâmetros do comando run. Especifique parâmetros como pares chave/valor a serem passados na execução do script.
Tipo: | Hashtable |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-ResourceGroupName
O nome do grupo de recursos.
Tipo: | String |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-ResourceId
A ID do recurso para a VM.
Tipo: | String |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-ScriptPath
Caminho do script a ser executado. Quando esse valor é 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 |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-ScriptString
O script a ser executado como uma cadeia de caracteres.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-VM
O objeto de máquina virtual PS.
Tipo: | PSVirtualMachine |
Aliases: | VMProfile |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-VMName
O nome da máquina virtual.
Tipo: | String |
Aliases: | Name |
Position: | 1 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-WhatIf
Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |