我正在尝试通过从库中获取名为“使用Microsoft Azure Automation备份Azure VM”的Azure Runbook来“BackUp Azure VM”。但是在测试它时会抛出异常,如下所示 “例外: 在行:75 char:8 + $ Uri = Connect-AzureVM -AzureConnectionName $ AzureConnectionName -serviceName $ S ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~找不到'Connect-AzureVM'命令。如果将此命令定义为工作流,请确保在调用它的工作流之前定义它。如果它是一个旨在直接在Windows PowerShell中运行的命令(或在此系统上不可用),请将其放在InlineScript中:'InlineScript {Connect-AzureVM}'。所以来自另一端的任何人都可以帮助我。谢谢你。
答案 0 :(得分:3)
首先从库中获取“Connect-AzureVM”Runbook并发布它... 然后你会得到另一个例外:
在第159行:char:8 + $ Uri = Connect-AzureVM -AzureConnectionName $ AzureConnectionName -serviceName $ S ... + ~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~找不到名为'AzureConnectionName'的参数。 “ 可以通过以下步骤删除异常:
看起来“BackupAzureVM”使用了此Runbook的过时版本。
进行更新:
以下是按照上述步骤更新版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
}