当前位置: 首页 > 知识库问答 >
问题:

将Azure Powershell命令转换为Azure CLI

郝池暝
2023-03-14
# This gets the Virtual Machine Scale Set object
$virtualMachineScaleSet = Get-Azvmss -ResourceGroupName $myResourceGroupName -VMScaleSetName $myVMScaleSetName

# Example of removing items from certificate items from the VMSS object.
$virtualMachineScaleSet.VirtualMachineProfile.osProfile.Secrets[$mySecretIndex].VaultCertificates.RemoveAt($myCertificateIndexThatIWantToRemove)

# Example of creating new certificate config
$newCertificateUrl = (Get-AzKeyVaultCertificate -VaultName $myKeyvaultName -Name $myCertificateName).SecretId
$newCertificateConfig = New-AzvmssVaultCertificateConfig -CertificateUrl $newCertificateUrl -CertificateStore "My"

# Example of adding new certificate to the VMSS object
$virtualMachineScaleSet.VirtualMachineProfile.OsProfile.Secrets[$mySecretIndex].VaultCertificates.Add($newCertificateConfig)

# Committing the update to VMSS
Update-Azvmss -ResourceGroupName $myResourceGroupName -VirtualMachineScaleSet $virtualMachineScaleSet -VMScaleSetName $myVMScaleSetName
# This gets me the Virtual Machine Scale Set object
$virtualMachineScaleSet = az vmss show --name $myVMScaleSetName --resource-group $myResourceGroupName | ConvertFrom-Json

# Trying to RemoveAt gives the error: MethodInvocationException: Exception calling "RemoveAt" with "1" argument(s): "Collection was of a fixed size."
$virtualMachineScaleSet.VirtualMachineProfile.osProfile.Secrets[$mySecretIndex].VaultCertificates.RemoveAt($myCertificateIndexThatIWantToRemove)

# Not sure the CLI equivalent commands of this
$newCertificateUrl = (Get-AzKeyVaultCertificate -VaultName $myKeyvaultName -Name $myCertificateName).SecretId
$newCertificateConfig = New-AzvmssVaultCertificateConfig -CertificateUrl $newCertificateUrl -CertificateStore "My"

# Trying to Add gives the error: MethodInvocationException: Exception calling "RemoveAt" with "1" argument(s): "Collection was of a fixed size."
$virtualMachineScaleSet.VirtualMachineProfile.OsProfile.Secrets[$mySecretIndex].VaultCertificates.Add($newCertificateConfig)
    null

共有1个答案

卢文博
2023-03-14

您使用的所有PowerShell都可以转换为两个等效的CLI命令。

一个用于删除:

az vmss update --resource-group $myResourceGroupName --name $myVMScaleSetName --remove virtualMachineProfile.osProfile.secrets index

一个用于添加:

az vmss update --resource-group $myResourceGroupName --name $myVMScaleSetName --add virtualMachineProfile.osProfile.secrets '{"sourceVault": {"id": "resourceId"},"vaultCertificates": [{"certificateStore": null,"certificateUrl": "certificateUrl"}]}'
 类似资料:
  • 文件夹结构是正确的--也就是说,我有一个与node_modules/karma/bin匹配的嵌套文件夹结构,并且我在那个位置有一个名为karma的文件。 我在两个例子中都是从同一个位置开始的。在Visual Studio代码终端或windows命令提示符中运行此命令时,会出现以下错误:“'node_modules'未被识别为内部或外部命令、可操作程序或批处理文件。” 但在GitBash,它工作得很

  • 问题内容: 我从来没有做过卷曲,所以需要一些帮助。我已经尝试通过示例来解决这个问题,但是我无法理解! 我有一个curl命令,可以从linux(ubuntu)命令行成功运行,该命令行通过api将文件放入Wiki。 我需要将此curl命令合并到我正在构建的PHP脚本中。 如何转换curl命令,使其在PHP脚本中起作用? cookie.txt包含身份验证,但是我不会在脚本中将其以明文形式出现,因为这将仅

  • 我将使用MailgunAPI。 以下是在终端中正常工作的cRUL命令。 我无法理解如何使用Postman运行此命令。 我试图导入cURL命令到邮递员,但它不导入api: key。我真的不明白如何将这个api密钥导入到Postman中以正确运行api。 请帮助我使用Postman运行此命令。 非常感谢。

  • 我正在尝试使用网站提供的Zoom.us API。他们给我cURL命令来创建一个新用户: 我翻译成Ajax: 产生新的405错误:

  • 我试图让下面的命令行使用请求库在Python中工作: curl在Anaconda Prompt中从包含test_GetCapabilities.xml文件的目录中执行时立即返回所需的响应。但是当我运行下面的Python脚本时,发布请求不起作用。 上述代码在大约一分钟后超时,并给出以下堆栈: Runfile('C:/Python/SOAP_curl.py', wdir='C:/Python')Tra

  • 问题内容: 是否有命令行工具可用于将.plist文件转换为JSON? 如果没有,在Mac上使用Objective-C或C创建一个的方法是什么?例如,有用于Objective- C的JSONKit。如何打开.plist文件,将其传递给JSONKit,然后将其序列化为JSON? 问题答案: 如果您使用的是Mac,则可以在命令行上使用plutil工具(我相信这是开发人员工具附带的工具): 如评论中所述,