Azure调用AzVMRunCommand-

Azure调用AzVMRunCommand-,azure,powershell,Azure,Powershell,我想知道是否有办法使用Invoke-AzVMRunCommand来运行单个命令,而不是powershell ps1文件 例如,我想执行一个命令。。。“C:\app\app.exe-C退出”。无需将powershell commandlet推送到系统 我可以通过Azure门户“RunPowerShellScript”实现这一点,它可以正常工作,但我希望通过调用AzVMRunCommand命令行在多个系统上实现这一点。这些系统不共享可以使用的命令帐户 根据微软的说法,这里是语法。。。 调用AzVM

我想知道是否有办法使用Invoke-AzVMRunCommand来运行单个命令,而不是powershell ps1文件

例如,我想执行一个命令。。。“C:\app\app.exe-C退出”。无需将powershell commandlet推送到系统

我可以通过Azure门户“RunPowerShellScript”实现这一点,它可以正常工作,但我希望通过调用AzVMRunCommand命令行在多个系统上实现这一点。这些系统不共享可以使用的命令帐户

根据微软的说法,这里是语法。。。

调用AzVMRunCommand-ResourceGroupName'rgname'-VMName'VMName'-CommandId'RunPowerShellScript'-ScriptPath'sample.ps1'-Parameter@{param1=“var1”;param2=“var2”}


我不想运行脚本,我只想能够在系统上执行命令。这可能吗?

没有直接的方法。但是,您可以编写一个脚本块并从中生成一个文件,然后使用该文件运行Invoke azvmrun命令,然后根据需要删除该文件

$Server = "server01"
[System.String]$ScriptBlock = {Get-Process}
$FileName = "RunScript.ps1"
Out-File -FilePath $FileName -InputObject $ScriptBlock -NoNewline
$vm = Get-AzVM -Name $Server
Invoke-AzVMRunCommand -ResourceGroupName $vm.ResourceGroupName -Name $Server -CommandId 'RunPowerShellScript' -ScriptPath $FileName
Remove-Item -Path $FileName -Force -ErrorAction SilentlyContinue

您能告诉我“希望通过调用AZVMRUNCOMAND通过命令行对多个系统执行此操作”是什么意思吗?另外,你能告诉我你的exe文件是什么吗?是安装包还是你的软件?我不太明白这个问题。如果要运行可执行文件,不需要“将任何cmdlet推送到系统”。它只是一个外壳,你可以用它运行任何东西