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>]
説明
VM で実行コマンドを呼び出します。
例
例 1: Windows でコマンドを呼び出す - スクリプトがリモート Windows VM に存在する場合に ScriptPath パラメーターを使用する
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptPath 'sample.ps1' -Parameter @{param1 = "var1"; param2 = "var2"}
リソース グループ 'rgname' の 'vmname' という名前の Windows VM でスクリプト 'sample.ps1' をオーバーライドして、実行コマンド 'RunPowerShellScript' を呼び出します。 Var1 と var2 は sample.ps1 のパラメーターとして定義されます。 パラメーター値には文字列型のみを指定でき、スクリプトは必要に応じて他の型に変換します。
例 2: Windows でコマンドを呼び出す - ScriptString パラメーターを使用して Windows VM でコマンドレットを実行する
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptString "Set-TimeZone -Name 'Coordinated Universal Time' -PassThru"
このコマンドは、Set-TimeZone コマンドレットを関連付けられたパラメーターと共に実行する実行コマンド 'RunShellScript' を呼び出します。 この例は、Windows VM で短いコマンドを実行する場合に便利です。
例 3: Windows でコマンドを呼び出す - ScriptString パラメーターを使用して Windows VM でスクリプト ブロックを実行する
$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"}
このコマンドは、"vmname" という名前のリモート Windows VM でスクリプト ブロックを実行する実行コマンド 'RunShellScript' を呼び出します。 スクリプト ブロックの方法を使用すると、1 回の呼び出しでパラメーターを使用して複数のコマンドレットを実行できます。また、異なるコマンドレットに対して複数の実行コマンドを呼び出す時間も節約できます。 パラメーター値には文字列型のみを指定できます。
例 4: 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
バックグラウンドでコマンドレットを実行し、進行状況を追跡するジョブ オブジェクトを返します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-CommandId
実行コマンド ID。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DefaultProfile
Azure との通信のために使用される資格情報、アカウント、テナント、サブスクリプションです。
型: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Parameter
run コマンド のパラメーター。 スクリプトの実行時に渡されるキーと値のペアとしてパラメーターを指定します。
型: | Hashtable |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ResourceGroupName
リソース グループの名前。
型: | String |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-ResourceId
VM のリソース ID。
型: | String |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-ScriptPath
実行するスクリプトのパス。 この値を指定すると、指定されたスクリプトによってコマンドの既定のスクリプトがオーバーライドされます。 パスは、ローカル ファイル システムのファイルを指す必要があります。 コマンドによって読み込み、実行用に送信されます。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ScriptString
文字列として実行されるスクリプト。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-VM
PS 仮想マシン オブジェクト。
型: | PSVirtualMachine |
Aliases: | VMProfile |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-VMName
仮想マシンの名前。
型: | String |
Aliases: | Name |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
出力
Azure PowerShell