Udostępnij przez


Invoke-AzVMRunCommand

Uruchom polecenie na maszynie wirtualnej.

Składnia

DefaultParameter (domyślnie)

Invoke-AzVMRunCommand
    [-ResourceGroupName] <String>
    [-VMName] <String>
    -CommandId <String>
    [-ScriptPath <String>]
    [-ScriptString <String>]
    [-Parameter <Hashtable>]
    [-AsJob]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ResourceIdParameter

Invoke-AzVMRunCommand
    [-ResourceId] <String>
    -CommandId <String>
    [-ScriptPath <String>]
    [-ScriptString <String>]
    [-Parameter <Hashtable>]
    [-AsJob]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

VMParameter

Invoke-AzVMRunCommand
    [-VM] <PSVirtualMachine>
    -CommandId <String>
    [-ScriptPath <String>]
    [-ScriptString <String>]
    [-Parameter <Hashtable>]
    [-AsJob]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Opis

Wywołaj polecenie run na maszynie wirtualnej.

Przykłady

Przykład 1: Wywoływanie polecenia w systemie Windows — używanie parametru ScriptPath, gdy skrypt znajduje się na zdalnej maszynie wirtualnej z systemem Windows

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

Wywołaj polecenie uruchamiania "RunPowerShellScript" z zastąpieniem skryptu "sample.ps1" na maszynie wirtualnej z systemem Windows o nazwie "vmname" w grupie zasobów "rgname". Var1 i var2 są definiowane jako parametry w sample.ps1. Wartość parametru może być tylko typem ciągu, a skrypt jest odpowiedzialny za konwertowanie ich na inne typy w razie potrzeby.

Przykład 2: Wywoływanie polecenia w systemie Windows — używanie parametru ScriptString do wykonywania polecenia cmdlet na maszynie wirtualnej z systemem Windows

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

To polecenie wywołuje polecenie uruchamiania "RunShellScript", które wykona polecenie cmdlet Set-TimeZone z skojarzonymi parametrami. Ten przykład jest przydatny, gdy chcesz wykonać krótkie polecenia na maszynie wirtualnej z systemem Windows.

Przykład 3: Wywoływanie polecenia w systemie Windows — używanie parametru ScriptString do uruchamiania bloków skryptów na maszynie wirtualnej z systemem 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"}

To polecenie wywołuje polecenie uruchamiania "RunShellScript", które wykonuje blok skryptu na zdalnej maszynie wirtualnej z systemem Windows o nazwie "vmname". Sposób blokowania skryptu umożliwia wykonywanie wielu poleceń cmdlet z parametrami w jednym wywołaniu, a także pozwala zaoszczędzić czas na wywoływanie wielu poleceń uruchamiania dla różnych poleceń cmdlet. Wartości parametrów mogą być tylko typu ciągu.

Przykład 4. Wywoływanie polecenia w systemie 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

To polecenie wywołuje polecenie uruchamiania "RunShellScript" z zastąpieniem skryptu "sample.bash" na maszynie wirtualnej z systemem Linux o nazwie "vmname". Var1 i var2 są definiowane jako parametry w pliku sample.bash.

Parametry

-AsJob

Uruchom polecenie cmdlet w tle i zwróć obiekt zadania, aby śledzić postęp.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-CommandId

Identyfikator polecenia uruchomienia.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Confirm

Prosi o potwierdzenie przed uruchomieniem cmdletu.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:por

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-DefaultProfile

Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z platformą Azure.

Właściwości parametru

Typ:IAzureContextContainer
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:AzContext, AzureRmContext, AzureCredential

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Parameter

Parametry polecenia uruchamiania. Określ parametry jako pary klucz/wartość, które mają być przekazywane podczas wykonywania skryptu.

Właściwości parametru

Typ:Hashtable
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-ResourceGroupName

Nazwa grupy zasobów.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

DefaultParameter
Position:0
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-ResourceId

Identyfikator zasobu maszyny wirtualnej.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

ResourceIdParameter
Position:0
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-ScriptPath

Ścieżka skryptu do wykonania. Po podaniu tej wartości dany skrypt zastąpi domyślny skrypt polecenia. Ścieżka powinna wskazywać plik z lokalnego systemu plików. Polecenie załaduje je i wyśle do wykonania.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-ScriptString

Skrypt do wykonania jako ciąg.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-VM

Obiekt maszyny wirtualnej PS.

Właściwości parametru

Typ:PSVirtualMachine
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:VMProfile

Zestawy parametrów

VMParameter
Position:0
Obowiązkowe:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-VMName

Nazwa maszyny wirtualnej.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Name

Zestawy parametrów

DefaultParameter
Position:1
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Wi

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

String

PSVirtualMachine

Dane wyjściowe

PSRunCommandResult