异常:"Cannot find the 'Connect-AzureVM' command"

exception:"Cannot find the 'Connect-AzureVM' command"

我正在尝试 "BackUp Azure VM" 通过从库中获取名为 "Back up an Azure VM using Microsoft Azure Automation" 的 Azure Runbook。但是在测试时它会抛出如下异常 “例外 : 在 line:75 char:8 + $Uri = Connect-AzureVM -AzureConnectionName $AzureConnectionName -serviceName $S ... + ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ 无法找到 'Connect-AzureVM' 命令。如果此命令定义为工作流,请确保它在调用它的工作流之前定义。如果它是直接在 Windows PowerShell 中 运行 的命令(或在此系统中不可用),请将其放在 InlineScript 中:'InlineScript { Connect-AzureVM }'”。所以来自另一端的任何一个帮帮我。谢谢。

首先从图库中获取 "Connect-AzureVM" 操作手册并发布... 然后你会得到另一个异常:

At line:159 char:8 + $Uri = Connect-AzureVM -AzureConnectionName $AzureConnectionName -serviceName $S ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Could not find a parameter named 'AzureConnectionName'. " The Exception can be removed by following the below steps:

看起来 "BackupAzureVM" 使用了此 runbook 的过时版本。

要进行更新:

  1. 编辑 BackupAzureVM 运行手册
  2. 将 $AzureConnectionName 参数替换为 $AzureAdOrgIdName 参数
  3. 从资产商店检索您的 Azure OrgID
  4. 单击“插入”>“Runbook”>“Connect-AzureVM”以获取正确的参数以提取 $URI 并更新变量(这将替换现有的 Connect-AzureVM 调用)。将包含正确的参数。

以下是按照上述步骤更新 BackupAzureVM 版本的示例:

workflow BackupAzureVM
{
Param
(
[parameter(Mandatory=$true)]
[String]
$AzureOrgIdCredentialName,

[parameter(Mandatory=$true)]
[String]
$ServiceName,

[parameter(Mandatory=$true)]
[String]
$VMName,

[parameter(Mandatory=$true)]
[String]
$StorageAccountName,

[parameter(Mandatory=$true)]
[String]
$backupContainerName

)

$Cred = Get-AutomationPSCredential -Name $AzureOrgIdCredentialName
$Uri = Connect-AzureVM ` -AzureOrgIdCredential $Cred ` -     AzureSubscriptionName "MySubscription" ` -ServiceName $ServiceName ` -VMName    $VMName

// Stop Azure VM

Stop-AzureVM -ServiceName $ServiceName -Name $VMName –StayProvisioned

// Backup Azure VM

 Backup-AzureVM -serviceName $ServiceName -VMName $VMName -backupContainerName $backupContainerName -backupStorageAccountName $StorageAccountName –includeDataDisks

// Start Azure VM

Start-AzureVM -ServiceName $ServiceName -Name $VMName

}