1

私はシェルAzureのクラウドから、このPowerShellコマンドを実行した場合、それは罰金実行し、私の指定したリソースグループ内のすべての仮想マシンのリストを与える:Get-AzureRmVMには名前パラメータが必要ですか?

のGet-AzureRmVM -ResourceGroupName「MYGROUP」-Status

オートメーションアカウントからランブックで実行するとエラーが発生します。

Get-AzureRmVM:1つまたは複数の紛失した の必須パラメータのためにコマンドを処理できません:名前。 TestAutomationAccount-ジョブ・StartVM時:20文字:20 + + CategoryInfo:InvalidArgument:(:)、ParameterBindingException [-AzureRmVMを取得] + FullyQualifiedErrorId:MissingMandatoryParameter、Microsoft.Azure.Commands.Compute.GetAzureVMCommand

私はリソースグループ内のVMのリストを取得しようとしていますが、明らかに動作の違いが分かりません。

答えて

1

Azure Automationランブックで実行しているときに、Get-AzureRmVMコマンドレットに対して同じ例外を再現できます。

この問題への根本的原因は、Get-AzureRmVM Azureのオートメーション環境でのコマンドレットとAzureのクラウドシェル(PowerShellの)環境のバージョンの不一致に単純です。

Get-AzureRmVMコマンドレットは、AzureRm.ComputeのPowerShellモジュールの下にあります。

以下のコマンドレットを使用して、Azure Automation環境でAzureRm.Computeのバージョンを取得します。以下に示すように

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

私が手バージョンはAzureのオートメーション環境の1.2.1です。

enter image description here

私はAzureのクラウドシェル(PowerShellの)セッションでAzureRm.Computeのバージョンを取得するには、以下のコマンドレットを使用します。以下に示すように

Get-AzureRmCommand Get-AzureRmVM 

私が手バージョンはAzureのクラウドシェル(PowerShellの)環境のための3.4.1です。

enter image description here

したがってIは、これらの2つの環境でAzureRm.Computeモジュールのバージョンの不一致がGet-AzureRmVMレットの異なる動作やパラメータ期待を説明信じます。

これが役に立ちます。

補遺: あなたはそれがAzureのクラウドシェル環境であるようGet-AzureRmVMコマンドレットの同じ経験を取得したい場合、あなたはAzureのオートメーションアカウントでModulesセクションに行くことができ、AzureRm.Computeモジュールを選択Azure Cloud Shell環境と同じバージョンにアップデートしてください。

enter image description here

+0

ありがとうございました!私の "Update Azure Modules"オプションがグレー表示されている理由を理解しましょう。多分許可の問題? – Jeremy

+1

モジュールギャラリーからインポートして更新できました。ありがとう! – Jeremy

+0

あなたが大歓迎です、それは助けて嬉しい:) – juvchan

関連する問題