Invoke-AzVMRunCommand
Uruchom polecenie na maszynie wirtualnej.
Składnia
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>]
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 pliku 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.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-CommandId
Identyfikator polecenia uruchomienia.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DefaultProfile
Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z platformą Azure.
Typ: | IAzureContextContainer |
Aliasy: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Parameter
Parametry polecenia uruchamiania. Określ parametry jako pary klucz/wartość, które mają być przekazywane podczas wykonywania skryptu.
Typ: | Hashtable |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ResourceGroupName
Nazwa grupy zasobów.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-ResourceId
Identyfikator zasobu maszyny wirtualnej.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ScriptString
Skrypt do wykonania jako ciąg.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-VM
Obiekt maszyny wirtualnej PS.
Typ: | PSVirtualMachine |
Aliasy: | VMProfile |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-VMName
Nazwa maszyny wirtualnej.
Typ: | String |
Aliasy: | Name |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |