Invoke-AzVMRunCommand
语法
DefaultParameter (默认值)
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>]
说明
示例
示例 1:在 Windows 上调用命令 - 当脚本驻留在远程 Windows VM 上时使用 ScriptPath 参数
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:在 Windows 上调用命令 - 使用 ScriptString 参数在 Windows VM 上执行 cmdlet
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptString "Set-TimeZone -Name 'Coordinated Universal Time' -PassThru"
此命令调用一个运行命令“RunShellScript”,该命令将使用其关联的参数执行 cmdlet Set-TimeZone。 若要在 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”。 通过脚本块方式,可以在单个调用中使用参数执行多个 cmdlet,还可以节省调用不同 cmdlet 的多个运行命令所需的时间。 参数值只能是字符串类型。
示例 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
在后台运行 cmdlet 并返回作业对象以跟踪进度。
参数属性
参数集
(All)
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
-CommandId
运行命令 ID。
参数属性
类型: | String
|
默认值: | None |
支持通配符: | False |
不显示: | False |
参数集
(All)
Position: | Named |
必需: | True |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
-Confirm
在运行 cmdlet 之前,提示你进行确认。
参数属性
参数集
(All)
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
-DefaultProfile
用于与 Azure 通信的凭据、帐户、租户和订阅。
参数属性
参数集
(All)
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
-Parameter
run 命令参数。 将参数指定为要在脚本执行时传递的键/值对。
参数属性
参数集
(All)
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
-ResourceGroupName
资源组的名称。
参数属性
类型: | String
|
默认值: | None |
支持通配符: | False |
不显示: | False |
参数集
DefaultParameter
Position: | 0 |
必需: | True |
来自管道的值: | False |
来自管道的值(按属性名称): | True |
来自剩余参数的值: | False |
-ResourceId
VM 的资源 ID。
参数属性
类型: | String
|
默认值: | None |
支持通配符: | False |
不显示: | False |
参数集
ResourceIdParameter
Position: | 0 |
必需: | True |
来自管道的值: | False |
来自管道的值(按属性名称): | True |
来自剩余参数的值: | False |
-ScriptPath
要执行的脚本的路径。 给出此值后,给定脚本将替代命令的默认脚本。
路径应指向本地文件系统的文件。 该命令将加载并发送它以供执行。
参数属性
类型: | String
|
默认值: | None |
支持通配符: | False |
不显示: | False |
参数集
(All)
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
-ScriptString
要作为字符串执行的脚本。
参数属性
类型: | String
|
默认值: | None |
支持通配符: | False |
不显示: | False |
参数集
(All)
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
-VM
PS 虚拟机对象。
参数属性
参数集
VMParameter
Position: | 0 |
必需: | True |
来自管道的值: | True |
来自管道的值(按属性名称): | True |
来自剩余参数的值: | False |
-VMName
虚拟机的名称。
参数属性
类型: | String
|
默认值: | None |
支持通配符: | False |
不显示: | False |
别名: | 名称 |
参数集
DefaultParameter
Position: | 1 |
必需: | True |
来自管道的值: | False |
来自管道的值(按属性名称): | True |
来自剩余参数的值: | False |
-WhatIf
显示 cmdlet 运行时会发生什么情况。
命令脚本未运行。
参数属性
参数集
(All)
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输出