1

내가 푸른 구름에서이 PowerShell 명령을 실행하면 잘 실행하고 나에게 지정된 자원 그룹의 모든 VM 목록을 제공합니다 쉘 :Get-AzureRmVM에는 이름 매개 변수가 필요합니까?

가져 오기 - AzureRmVM -ResourceGroupName "MyGroup을"-Status

자동화 계정의 런북에서 실행하면 오류가 발생합니다.

Get-AzureRmVM : 하나 이상의 누락 된 필수 매개 변수로 인해 명령을 처리 할 수 ​​없습니다 : 이름. TestAutomationAccount - 작업 - StartVM에서 : 20 문자 : 20 + + CategoryInfo : InvalidArgument : (:), ParameterBindingException [-AzureRmVM 받기] + FullyQualifiedErrorId : MissingMandatoryParameter, Microsoft.Azure.Commands.Compute.GetAzureVMCommand

리소스 그룹 내에서 VM 목록을 얻으려고하고 있는데 왜 명백한 동작 차이인지 알 수 없습니다.

답변

1

Azure Automation runbook에서 실행할 때 Get-AzureRmVM cmdlet에 대해 동일한 예외를 재현 할 수 있습니다.

이 문제에 대한 근본 원인은 단순히 때문에 푸른 자동화 환경과 푸른 클라우드 쉘 (PowerShell을) 환경에서 Get-AzureRmVM cmdlet의 버전 불일치이다.

Get-AzureRmVM cmdlet은 AzureRm.Compute PowerShell 모듈 아래에 있습니다.

다음 cmdlet을 사용하여 Azure Automation 환경에서 AzureRm.Compute 버전을 얻습니다. 아래 그림과 같이

Get-Module -ListAvailable -Name AzureRm.Compute -Refresh 

내가 얻을 버전은 푸른 자동화 환경에 대한 1.2.1입니다.

enter image description here

나는 푸른 클라우드 쉘 (PowerShell을) 세션에서 AzureRm.Compute의 버전을 얻기 위해 아래 cmdlet을 사용

. 아래 그림과 같이

Get-AzureRmCommand Get-AzureRmVM 

내가 얻을 버전은 푸른 구름 쉘 (PowerShell을) 환경 3.4.1입니다.

enter image description here

는 그러므로 나는이 두 환경에서 AzureRm.Compute 모듈 버전 불일치가 다른 동작을 설명하고 Get-AzureRmVM cmdlet에 대한 기대를 매개 변수 믿습니다.

희망이 도움이됩니다.

부록 : 당신이 애저 클라우드 셸 환경에 그대로 Get-AzureRmVM cmdlet에 대한 동일한 경험을 얻고 싶은 경우에, 당신은 당신의 푸른 자동화 계정의 모듈 섹션으로 이동 할 수 는 AzureRm.Compute 모듈을 선택 Azure Cloud Shell 환경과 동일한 버전으로 업데이트하십시오.

enter image description here

+0

큰 설명, 감사합니다! 이제 "Update Azure Modules"옵션이 회색으로 표시되는 이유를 알아 냈습니다. 어쩌면 권한 문제일까요? – Jeremy

+1

모듈 갤러리에서 가져 와서 업데이트 할 수있었습니다. 감사! – Jeremy

+0

환영합니다. 도움이되기를 기쁘게 생각합니다 :) – juvchan

관련 문제