例外:"Cannot find the 'Connect-AzureVM' command"



我正在尝试通过从图库中获取名为"使用Microsoft Azure自动化备份Azure VM"的Azure Runbook来"备份Azure VM"。但是在测试时,它会抛出一个异常,如下所示"例外:在行:75 char:8 + $Uri = Connect-AzureVM -AzureConnectionName -AzureConnectionName -serviceName $S…+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 找不到"Connect-AzureVM"命令。如果此命令被定义为工作流,请确保在调用它的工作流之前定义它。如果它是一个直接在Windows PowerShell中运行的命令(或者在这个系统上不可用),把它放在InlineScript中:'InlineScript {Connect-AzureVM}'"。所以另一端的人帮帮我。谢谢你。

首先从图库中获取"Connect-AzureVM" runbook并发布它…然后你会得到另一个异常:

At line:159 char:8 + $Uri = Connect-AzureVM -AzureConnectionName $AzureConnectionName -serviceName $S…+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 找不到一个参数命名为"AzureConnectionName"。"可以按照以下步骤删除Exception:

看起来"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
}

最新更新