2

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

4

1 回答 1

3

首先从库中获取“Connect-AzureVM”运行手册并发布它......然后你会得到另一个异常:

在 line:159 char:8 + $Uri = Connect-AzureVM -AzureConnectionName $AzureConnectionName -serviceName $S ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ 找不到名为“AzureConnectionName”的参数。" 可以按照以下步骤删除异常:

看起来“BackupAzureVM”使用了此运行手册的过时版本。

要进行更新:

  1. 编辑 BackupAzureVM Runbook
  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

}
于 2015-09-29T18:22:04.617 回答