共用方式為


Invoke-AzVMRunCommand

在 VM 上執行命令。

語法

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

在 VM 上叫用執行命令。

範例

範例 1:在 Windows 上叫用命令

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

叫用執行命令 『RunPowerShellScript』,並在資源群組 『rgname』 中名為 'vmname' 的 Windows VM 上覆寫腳本 'sample.ps1'。 Var1 和 var2 會定義為 sample.ps1 中的參數。 參數值只能是字串類型,而且腳本會負責視需要將它們轉換成其他類型。

範例 2:在 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

此命令會叫用執行命令 『RunShellScript』,並在名為 『vmname』 的 Linux VM 上覆寫腳本 'sample.bash'。 Var1 和 var2 會定義為 sample.bash 中的參數。

參數

-AsJob

在背景執行 Cmdlet,並傳回工作對象來追蹤進度。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-CommandId

執行命令標識碼。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-Confirm

執行 Cmdlet 之前先提示您確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DefaultProfile

用於與 Azure 通訊的認證、帳戶、租用戶和訂用帳戶。

類型:IAzureContextContainer
別名:AzContext, AzureRmContext, AzureCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Parameter

執行命令參數。 指定要在文稿執行時傳遞的索引鍵/值組參數。

類型:Hashtable
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ResourceGroupName

資源群組的名稱。

類型:String
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-ResourceId

VM 的資源識別碼。

類型:String
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-ScriptPath

要執行的腳本路徑。 指定此值時,指定的腳本會覆寫命令的預設腳本。 路徑應該指向本機檔系統的檔案。 命令會載入它並傳送它來執行。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ScriptString

要當做字串執行的腳本。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-VM

PS 虛擬機物件。

類型:PSVirtualMachine
別名:VMProfile
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-VMName

虛擬機器的名稱。

類型:String
別名:Name
Position:1
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

類型:SwitchParameter
別名:wi
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

String

PSVirtualMachine

輸出

PSRunCommandResult