Partager via


Invoke-AzVMRunCommand

Exécutez une commande sur la machine virtuelle.

Syntax

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
Accept pipeline input:False
Accept wildcard characters:False

-CommandId

ID de commande d’exécution.

Type:String
Position:Named
valeur par défaut:None
Obligatoire:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
valeur par défaut:None
Obligatoire:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

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

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
valeur par défaut:None
Obligatoire:False
Accept pipeline input:False
Accept wildcard characters: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
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

Nom du groupe de ressources.

Type:String
Position:0
valeur par défaut:None
Obligatoire:True
Accept pipeline input:True
Accept wildcard characters:False

-ResourceId

ID de ressource de la machine virtuelle.

Type:String
Position:0
valeur par défaut:None
Obligatoire:True
Accept pipeline input:True
Accept wildcard characters: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
Accept pipeline input:False
Accept wildcard characters:False

-ScriptString

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

Type:String
Position:Named
valeur par défaut:None
Obligatoire:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

Objet de machine virtuelle PS.

Type:PSVirtualMachine
Aliases:VMProfile
Position:0
valeur par défaut:None
Obligatoire:True
Accept pipeline input:True
Accept wildcard characters:False

-VMName

Nom de la machine virtuelle.

Type:String
Aliases:Name
Position:1
valeur par défaut:None
Obligatoire:True
Accept pipeline input:True
Accept wildcard characters: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
Aliases:wi
Position:Named
valeur par défaut:None
Obligatoire:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

String

PSVirtualMachine

Sorties

PSRunCommandResult