OS 类型冲突 运行 来自 PowerShell 的 Azure CLI 命令
OS Type Conflict running Azure CLI command from PowerShell
我是 运行 Windows 10 Professional PowerShell 脚本中的 Azure CLI 命令,我收到此错误:
(Conflict) Run command OS type 'Windows' does not match the target OS Linux.
PowerShell 版本:
Major Minor Build Revision
----- ----- ----- --------
5 1 19041 1237
失败的 PowerShell 脚本:
$ResourceGroup= "Development"
$VmName = "ubuntu-test"
az vm run-command invoke `
--resource-group $ResourceGroup `
--name $VmName `
--command-id RunPowerShellScript `
--scripts "ufw disable"
注意:`字符是反引号。与波浪号在同一个键上的那个 ~
没有行连续反引号的相同命令有效:
az vm run-command invoke --resource-group Development --name ubuntu-test --command-id RunShellScript --scripts "ufw disable"
如果我执行 Write-Host,则输出是单行,其中包含正确的参数减去 --script 命令两边的引号。
Write-Host az vm run-command invoke `
--resource-group $ResourceGroup `
--name $VmName `
--command-id RunPowerShellScript `
--scripts "ufw disable"
az vm run-command invoke --resource-group Development --name ubuntu-test --command-id RunPowerShellScript --scripts ufw disable
AZ CLI 调用命令的文档没有提及设置 OS 类型。
我认为使用续行(`
在行的最后)是 偶然 你的问题。
除了使用变量与文字之外,多行命令和工作单行命令之间的关键区别是:
--command-id RunPowerShellScript
对比 --command-id RunShellScript
.
看起来 您的目标 VM 是 Linux 机器,并且 --command-id RunPowerShellScript
不受支持,而 --command-id RunShellScript
受支持。
az vm run-command list ...
显然可以用来发现支持的 --command-id
值。
我是 运行 Windows 10 Professional PowerShell 脚本中的 Azure CLI 命令,我收到此错误:
(Conflict) Run command OS type 'Windows' does not match the target OS Linux.
PowerShell 版本:
Major Minor Build Revision
----- ----- ----- --------
5 1 19041 1237
失败的 PowerShell 脚本:
$ResourceGroup= "Development"
$VmName = "ubuntu-test"
az vm run-command invoke `
--resource-group $ResourceGroup `
--name $VmName `
--command-id RunPowerShellScript `
--scripts "ufw disable"
注意:`字符是反引号。与波浪号在同一个键上的那个 ~
没有行连续反引号的相同命令有效:
az vm run-command invoke --resource-group Development --name ubuntu-test --command-id RunShellScript --scripts "ufw disable"
如果我执行 Write-Host,则输出是单行,其中包含正确的参数减去 --script 命令两边的引号。
Write-Host az vm run-command invoke `
--resource-group $ResourceGroup `
--name $VmName `
--command-id RunPowerShellScript `
--scripts "ufw disable"
az vm run-command invoke --resource-group Development --name ubuntu-test --command-id RunPowerShellScript --scripts ufw disable
AZ CLI 调用命令的文档没有提及设置 OS 类型。
我认为使用续行(`
在行的最后)是 偶然 你的问题。
除了使用变量与文字之外,多行命令和工作单行命令之间的关键区别是:
--command-id RunPowerShellScript
对比 --command-id RunShellScript
.
看起来 您的目标 VM 是 Linux 机器,并且 --command-id RunPowerShellScript
不受支持,而 --command-id RunShellScript
受支持。
az vm run-command list ...
显然可以用来发现支持的 --command-id
值。