我正在尝试通过从库中获取名为“使用 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 }'"。因此,另一端的任何人都可以帮助我。谢谢你。
问问题
1571 次
1 回答
3
首先从库中获取“Connect-AzureVM”运行手册并发布它......然后你会得到另一个异常:
在 line:159 char:8 + $Uri = Connect-AzureVM -AzureConnectionName $AzureConnectionName -serviceName $S ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ 找不到名为“AzureConnectionName”的参数。" 可以按照以下步骤删除异常:
看起来“BackupAzureVM”使用了此运行手册的过时版本。
要进行更新:
- 编辑 BackupAzureVM Runbook
- 将 $AzureConnectionName 参数替换为 $AzureAdOrgIdName 参数
- 从资产存储中检索您的 Azure OrgID
- 单击插入 > 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 回答