Partager via


Invoke-AzVMRunCommand

Exécutez une commande sur la machine virtuelle.

Syntaxe

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

Appelez une commande d’exécution sur la machine virtuelle.

Exemples

Exemple 1 : Appeler une commande sur Windows - Utilisation du paramètre ScriptPath lorsque le script réside sur la machine virtuelle Windows distante

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

Appelez une commande d’exécution « RunPowerShellScript » en remplaçant le script « sample.ps1 » sur une machine virtuelle Windows nommée « vmname » dans le groupe de ressources « rgname ». Var1 et var2 sont définis en tant que paramètres dans l’exemple.ps1. La valeur du paramètre peut être un type de chaîne uniquement et le script est chargé de les convertir en d’autres types si nécessaire.

Exemple 2 : Appeler une commande sur Windows - Utilisation du paramètre ScriptString pour exécuter l’applet de commande sur la machine virtuelle Windows

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

Cette commande appelle une commande d’exécution « RunShellScript » qui exécute l’applet de commande Set-TimeZone avec ses paramètres associés. Cet exemple est utile lorsque vous souhaitez exécuter des commandes courtes sur une machine virtuelle Windows.

Exemple 3 : Appeler une commande sur Windows - Utilisation du paramètre ScriptString pour exécuter des blocs de script sur la machine virtuelle 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"}

Cette commande appelle une commande d’exécution « RunShellScript » qui exécute un bloc de script sur une machine virtuelle Windows distante nommée « vmname ». La méthode de bloc de script vous permet d’exécuter plusieurs applets de commande avec des paramètres dans un appel unique et permet également d’appeler plusieurs commandes d’exécution pour différentes applets de commande. La ou les valeurs de paramètre peuvent être de type chaîne uniquement.

Exemple 4 : Appeler une commande sur 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

Cette commande appelle une commande d’exécution « RunShellScript » en remplaçant le script « sample.bash » sur une machine virtuelle Linux nommée « vmname ». Var1 et var2 sont définis comme paramètres dans sample.bash.

Paramètres

-AsJob

Exécutez l’applet de commande en arrière-plan et retournez un objet de travail pour suivre la progression.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-CommandId

ID de commande d’exécution.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Confirm

Vous demande une confirmation avant d’exécuter l’applet de commande.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DefaultProfile

Informations d’identification, compte, locataire et abonnement utilisés pour la communication avec Azure.

Type:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Parameter

Paramètres de commande d’exécution. Spécifiez les paramètres en tant que paires clé/valeur à passer lors de l’exécution du script.

Type:Hashtable
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ResourceGroupName

Nom du groupe de ressources.

Type:String
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-ResourceId

ID de ressource de la machine virtuelle.

Type:String
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-ScriptPath

Chemin d’accès du script à exécuter. Lorsque cette valeur est donnée, le script donné remplace le script par défaut de la commande. Le chemin d’accès doit pointer vers un fichier à partir d’un système de fichiers local. La commande le charge et l’envoie pour l’exécution.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ScriptString

Script à exécuter sous forme de chaîne.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-VM

Objet de machine virtuelle PS.

Type:PSVirtualMachine
Alias:VMProfile
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-VMName

Nom de la machine virtuelle.

Type:String
Alias:Name
Position:1
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-WhatIf

Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

String

PSVirtualMachine

Sorties

PSRunCommandResult