2016-11-30 4 views
0

На портале Windows Azure из моих учетных записей автоматизации (учетные записи автоматизации> myAutomation> Runbooks> MyRunbook> Редактировать рабочий процесс PowerShell Runbook> Test), I ' m пытается проверить скрипт powershell с библиотекой ресурсов Azure Resource Manager для целей миграции. Я написал небольшой фрагмент сценария powershell и протестировал его в тестовой панели. Я столкнулся сообщение об ошибке:Командлет powershell для менеджера Azure Resource Manager не распознается на тестовой панели в лазурном режиме (учетные записи автоматизации)

Термин «Нью-AzureRmHDInsightHiveJobDefinition» не распознается как имя из командлета, функции, файла сценария или исполняемой программой. Проверьте правильность написания имени или, если включен путь, проверьте правильность пути и повторите попытку.

Я хочу протестировать его непосредственно с Windows Azure Portal, потому что мне нужно использовать некоторый результат функции, такой как «Get-AutomationPSCredential».

образец PowerShell скрипт

workflow Runbook_Test 
{ 
    param(   
     [parameter(Mandatory=$True)] 
     [string] $HDInsightAdminCredendialsName 
    ) 

    $hdInsightCredentials = Get-AutomationPSCredential -Name $HDInsightAdminCredendialsName 
    InlineScript { 
     $creds = $using:hdInsightCredentials 
     $clusterName = 'clusterName'    

     $query = 'A QUERY INSIDE' 

     $jobDef = New-AzureRmHDInsightHiveJobDefinition -Query $query; 
     $hiveJob = Start-AzureRmHDInsightJob -JobDefinition $jobDef -ClusterName $clusterName -HttpCredential $creds 
     Wait-AzureRmHDInsightJob -JobId $hiveJob.JobId -ClusterName $clusterName -HttpCredential $creds 
    }  
} 

У меня такая же проблема с командлетом "Start-AzureRmHDInsightJob" и "Wait-AzureRmHDInsightJob". Это как лазурный портал, не распознающий библиотеку ARM.

Наверняка мне что-то не хватает, но что? :) Спасибо за вашу помощь.

ответ

1

Вам необходимо импортировать эти модули в свою учетную запись Azure Automation. В этом случае вам нужен модуль AzureRM​.HDInsight. Проконсультируйтесь с этой ссылкой о том, как импортировать модули: https://docs.microsoft.com/en-us/azure/automation/automation-runbook-gallery#modules-in-powershell-gallery

Дело в том, что ваша учетная запись получает только некоторые модули Azure Powershell по умолчанию, а остальные вам нужно установить вручную.

+0

Большое спасибо. Я добавил исправления модулей, и он работает! –

1

Проблема в том, что я понимаю, из-за областей рабочего процесса.

Я бы рекомендовал вам использовать функцию вместо рабочего процесса и попробовать ее один раз. Чтобы вы могли отделить проблему, это проблема библиотеки или область действия.

Если проблема связана с областью действия и вы хотите использовать рабочий процесс, то мы используем параметры передачи внутри каждой области рабочего процесса. Чтобы библиотека ARM могла понять командлеты «Start-AzureRmHDInsightJob» и «Wait-AzureRmHDInsightJob» внутри области.

Для вашего ответа командлеты Azure работают правильно в моем случае, используя функции и глобальные переменные.