1

非常に単純なコマンドレットを実行しようとしていますが、機能しません

$resources = Get-AzureRMResourceGroup | % { Get-AzureRMResource -ResourceGroupName $_.ResourceGroupName}

$resources

スローされるエラーメッセージは次のとおりです


Get-AzureRmResource :指定された名前付きパラメーターを使用してパラメーター セットを解決できません。行:1 文字:45
+ ... グループ | % { Get-AzureRMResource -ResourceGroupName $_.ResourceGroupNa ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-AzureRmResource]、ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.Azure.Commands.R
esourceManager.Cmdlets.Implementation.GetAzureResourceCmdlet

4

1 に答える 1

1

-ResourceGroupNameパラメータ セットの一部です。つまり、使用する場合は、そのセットに属する他の必須パラメータとともに含める必要があります。

ここのドキュメントは、そのパラメータが使用されている 2 つのパラメータ セットを示しています。

#Parameter Set: Get resource by name and group
Get-AzureRmResource [-ApiVersion <System.String> ] [-ExpandProperties] [-ExtensionResourceName <System.String> ] [-ExtensionResourceType <System.String> ] [-IsCollection] [-ODataQuery <System.String> ] [-Pre] [-ResourceGroupName <System.String> ] [-ResourceName <System.String> ] [ <CommonParameters>]

#Parameter Set: Get resource by name, group and type
Get-AzureRmResource -ResourceGroupName <System.String> -ResourceName <System.String> -ResourceType <System.String> [-ApiVersion <System.String> ] [-ExpandProperties] [-ExtensionResourceName <System.String> ] [-ExtensionResourceType <System.String> ] [-ODataQuery <System.String> ] [-Pre] [ <CommonParameters>]

スクリプトで使用されるパラメーターに基づいて、使用するセットを決定できません。

コマンドにさらにパラメーターを追加して、使用するセットを絞り込みます。

例 1: リソースを取得する

このコマンドは、ResourceGroup11 の下にある ContosoWebsite という名前の microsoft.web/sites タイプのリソースを取得します。

Windows PowerShell

PS C:\> Get-AzureRmResource -ResourceType "microsoft.web/sites" -ResourceGroupName "ResourceGroup11" -ResourceName "ContosoWebsite"

また

スコープがより狭いパラメータを取るセットを使用する

例えば:

Get-AzureRmResourceGroupこのようなオブジェクトを返します

PS C:\> Get-AzureRmResourceGroup

ResourceGroupName : xxxxxxxxxxxxxxxxx
Location          : xxxxxxxxxxxx
ProvisioningState : Succeeded
Tags              : 
ResourceId        : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/xxxxxxxxxxxxxxxxxxx

ResourceId次のコマンドレットに渡してみてください。

#Parameter Set: Get a single resource by its Id.
Get-AzureRmResource -ResourceId <String> [-ApiVersion <System.String> ] [-ExpandProperties] [-ODataQuery <System.String> ] [-Pre] [ <CommonParameters>]

コマンドは次のようになります。

$resources = Get-AzureRMResourceGroup | % { Get-AzureRMResource -ResourceId $_.ResourceId}

$resources
于 2016-11-06T17:07:56.063 に答える