Bagikan melalui


Invoke-AzVMRunCommand

Jalankan perintah pada VM.

Sintaks

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>]

Deskripsi

Panggil perintah jalankan pada VM.

Contoh

Contoh 1: Memanggil perintah di Windows - Menggunakan parameter ScriptPath saat skrip berada di VM Windows jarak jauh

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

Panggil perintah jalankan 'RunPowerShellScript' dengan menimpa skrip 'sample.ps1' pada VM Windows bernama 'vmname' dalam grup sumber daya 'rgname'. Var1 dan var2 didefinisikan sebagai parameter dalam sample.ps1. Nilai parameter hanya dapat berupa jenis string dan skrip bertanggung jawab untuk mengonversinya ke jenis lain jika diperlukan.

Contoh 2: Memanggil perintah di Windows - Menggunakan parameter ScriptString untuk menjalankan cmdlet pada VM Windows

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

Perintah ini memanggil perintah jalankan 'RunShellScript' yang akan menjalankan cmdlet Set-TimeZone dengan parameter terkait. Contoh ini berguna ketika Anda ingin menjalankan perintah singkat pada Windows VM.

Contoh 3: Memanggil perintah di Windows - Menggunakan parameter ScriptString untuk menjalankan blok skrip pada VM 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"}

Perintah ini memanggil perintah jalankan 'RunShellScript' yang menjalankan blok skrip pada VM Windows jarak jauh bernama 'vmname'. Cara blok skrip memungkinkan Anda menjalankan beberapa cmdlet dengan parameter dalam satu pemanggilan dan juga menghemat waktu untuk memanggil beberapa perintah eksekusi untuk cmdlet yang berbeda. Nilai parameter hanya dapat berjenis string.

Contoh 4: Memanggil perintah di 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

Perintah ini memanggil perintah jalankan 'RunShellScript' dengan menimpa skrip 'sample.bash' pada VM Linux bernama 'vmname'. Var1 dan var2 didefinisikan sebagai parameter dalam sample.bash.

Parameter

-AsJob

Jalankan cmdlet di latar belakang dan kembalikan objek pekerjaan untuk melacak kemajuan.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-CommandId

ID perintah eksekusi.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

Jenis:SwitchParameter
Alias:cf
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-DefaultProfile

Kredensial, akun, penyewa, dan langganan yang digunakan untuk komunikasi dengan Azure.

Jenis:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Parameter

Parameter perintah eksekusi. Tentukan parameter sebagai pasangan kunci/nilai yang akan diteruskan pada eksekusi skrip.

Jenis:Hashtable
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-ResourceGroupName

Nama grup sumber daya.

Jenis:String
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-ResourceId

ID sumber daya untuk VM.

Jenis:String
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-ScriptPath

Jalur skrip yang akan dijalankan. Ketika nilai ini diberikan, skrip yang diberikan akan mengambil alih skrip default perintah. Jalur harus menunjuk ke file dari sistem file lokal. Perintah akan memuatnya dan mengirimkannya untuk eksekusi.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-ScriptString

Skrip yang akan dijalankan sebagai string.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-VM

Objek komputer virtual PS.

Jenis:PSVirtualMachine
Alias:VMProfile
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-VMName

Nama mesin virtual.

Jenis:String
Alias:Name
Position:1
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-WhatIf

Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.

Jenis:SwitchParameter
Alias:wi
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

Input

String

PSVirtualMachine

Output

PSRunCommandResult