首页 文章

异常:“找不到'Connect-AzureVM'命令”

提问于
浏览
2

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

1 回答

  • 3

    首先从库中获取“Connect-AzureVM”Runbook并将其发布...然后您将获得另一个例外:

    在行:159 char:8 $ Uri = Connect-AzureVM -AzureConnectionName $ AzureConnectionName -serviceName $ S ... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~找不到名为'AzureConnectionName'的参数 . “可以通过以下步骤删除异常:

    看起来“BackupAzureVM”使用了此Runbook的过时版本 .

    To make the updates:

    • 编辑BackupAzureVM Runbook

    • 用$ AzureAdOrgIdName参数替换$ AzureConnectionName参数

    • 从资产商店中检索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
    
    }
    

相关问题