Invoke-AzVMRunCommand
Eseguire un comando nella macchina virtuale.
Sintassi
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>]
Descrizione
Richiamare un comando di esecuzione nella macchina virtuale.
Esempio
Esempio 1: Richiamare un comando in Windows - Uso del parametro ScriptPath quando lo script si trova nella macchina virtuale Windows remota
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptPath 'sample.ps1' -Parameter @{param1 = "var1"; param2 = "var2"}
Richiamare un comando di esecuzione 'RunPowerShellScript' con l'override dello script 'sample.ps1' in una macchina virtuale Windows denominata 'vmname' nel gruppo di risorse 'rgname'. Var1 e var2 sono definiti come parametri in sample.ps1. Il valore del parametro può essere di tipo stringa solo e lo script è responsabile della conversione in altri tipi, se necessario.
Esempio 2: Richiamare un comando in Windows - Uso del parametro ScriptString per eseguire il cmdlet nella macchina virtuale Windows
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptString "Set-TimeZone -Name 'Coordinated Universal Time' -PassThru"
Questo comando richiama un comando di esecuzione 'RunShellScript' che eseguirà il cmdlet Set-TimeZone con i parametri associati. Questo esempio è utile quando si vogliono eseguire brevi comandi nella macchina virtuale Windows.
Esempio 3: Richiamare un comando in Windows - Uso del parametro ScriptString per eseguire blocchi di script nella macchina virtuale 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"}
Questo comando richiama un comando di esecuzione 'RunShellScript' che esegue un blocco di script in una macchina virtuale Windows remota denominata 'vmname'. Il modo del blocco di script consente di eseguire più cmdlet con parametri in un singolo richiamo e consente anche di richiamare più comandi di esecuzione per cmdlet diversi. I valori dei parametri possono essere solo di tipo stringa.
Esempio 4: Richiamare un comando in 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
Questo comando richiama un comando di esecuzione 'RunShellScript' con l'override dello script 'sample.bash' in una macchina virtuale Linux denominata 'vmname'. Var1 e var2 sono definiti come parametri in sample.bash.
Parametri
-AsJob
Eseguire il cmdlet in background e restituire un oggetto processo per tenere traccia dello stato di avanzamento.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-CommandId
ID comando di esecuzione.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-DefaultProfile
Le credenziali, l’account, il tenant e la sottoscrizione usati per comunicare con Azure.
Tipo: | IAzureContextContainer |
Alias: | AzContext, AzureRmContext, AzureCredential |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Parameter
Parametri del comando di esecuzione. Specificare i parametri come coppie chiave/valore da passare durante l'esecuzione dello script.
Tipo: | Hashtable |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ResourceGroupName
Nome del gruppo di risorse.
Tipo: | String |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-ResourceId
ID risorsa per la macchina virtuale.
Tipo: | String |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-ScriptPath
Percorso dello script da eseguire. Quando questo valore viene specificato, lo script specificato eseguirà l'override dello script predefinito del comando. Il percorso deve puntare a un file da un file system locale. Il comando lo caricherà e lo invierà per l'esecuzione.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ScriptString
Script da eseguire come stringa.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-VM
Oggetto macchina virtuale PS.
Tipo: | PSVirtualMachine |
Alias: | VMProfile |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-VMName
Nome della macchina virtuale.
Tipo: | String |
Alias: | Name |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |