缺少 Azure New-AzureRmResource "Account Type",但如果我添加它 "Parameter not found"
Azure New-AzureRmResource "Account Type" missing, but if I add it "Parameter not found"
我正在尝试使用 New-AzureRmResource 创建一个新的存储帐户。但是我 运行 陷入了令我困惑的事情。我的命令在这里:
New-AzureRmResource -Location "East US" -ResourceGroupName "myResGrp" -ResourceName "storagename" -ResourceType "microsoft.storage/storageaccounts" -Kind "Storage"
但这会转储错误
New-AzureRmResource : AccountTypeMissing : The accountType field is
missing from the request.
所以我将其添加到("AccountType" 和 "accountType" 都试过了):
New-AzureRmResource -Location "East US" -ResourceGroupName "myResGrp" -ResourceName "storagename" -ResourceType "microsoft.storage/storageaccounts" -Kind "Storage" -AccountType "Standard_RAGRS"
然后我得到错误:
New-AzureRmResource : A parameter cannot be found that matches
parameter name 'AccountType'.
我如何传递这个?我想我在这里遗漏了一些简单的东西。谢谢。
回答感谢楼下帮助
$props = New-Object PSObject
$props | add-member AccountType "Standard_RAGRS"
$props | add-member Kind "Storage"
New-AzureRmResource -Location "East US" -ResourceGroupName
"myResGrp" -ResourceName "storagename" -ResourceType
"microsoft.storage/storageaccounts" -Properties $props -ApiVersion
"2015-06-15"
您应该将 accountType 放入参数 "Properties" 的散列 table 中(如果您使用的是 1.5.0,则为 "PropertyObject"),并且您应该指定 API 版本也是。这是一个例子。
$properties = @{"AccountType"="Standard_RAGRS"}
New-AzureRmResource -Location "East US" `
-ResourceGroupName "myResGrp" `
-ResourceName "storagename" `
-ResourceType "Microsoft.Storage/storageAccounts" `
-Properties $properties `
-ApiVersion "2015-06-15"
您需要指定API版本,因为在最新的Azure PowerShell中,默认情况下,他们使用2016-03-30作为存储帐户,已经将AccountType更改为SKU,但是命令New-AzureRmResource
暂不支持SKU
如果您有 AzureRM.Resources 2.0 版,它应该支持完成此工作所需的最新属性。在 api 的 2016-01-01 版本之前,SKU 被称为 accountType,这是您遇到的问题。
https://msdn.microsoft.com/en-us/library/azure/mt712701.aspx
检查您使用的模块版本 运行:
Get-Module AzureRM.Resources
我建议使用 Update-Module 更新您的 AzureRM 模块(假设安装了 WMF5 并且您首先使用 get-module/install-module 安装了 AzureRM.Resources 模块)。
如果您无法升级您的 AzureRM.Resources 模块;您始终可以使用 -Properties @{ "AccountType"="Standard_RAGRS"} 指定缺少的属性。您还可以尝试使用 New-AzureRmStorageAccount ,它可能具有您要查找的属性(因为该 cmdlet 在 AzureRM.Storage 下,并且可能具有不同的版本/子集)。
希望对您有所帮助!:)
我正在尝试使用 New-AzureRmResource 创建一个新的存储帐户。但是我 运行 陷入了令我困惑的事情。我的命令在这里:
New-AzureRmResource -Location "East US" -ResourceGroupName "myResGrp" -ResourceName "storagename" -ResourceType "microsoft.storage/storageaccounts" -Kind "Storage"
但这会转储错误
New-AzureRmResource : AccountTypeMissing : The accountType field is missing from the request.
所以我将其添加到("AccountType" 和 "accountType" 都试过了):
New-AzureRmResource -Location "East US" -ResourceGroupName "myResGrp" -ResourceName "storagename" -ResourceType "microsoft.storage/storageaccounts" -Kind "Storage" -AccountType "Standard_RAGRS"
然后我得到错误:
New-AzureRmResource : A parameter cannot be found that matches parameter name 'AccountType'.
我如何传递这个?我想我在这里遗漏了一些简单的东西。谢谢。
回答感谢楼下帮助
$props = New-Object PSObject
$props | add-member AccountType "Standard_RAGRS"
$props | add-member Kind "Storage"
New-AzureRmResource -Location "East US" -ResourceGroupName "myResGrp" -ResourceName "storagename" -ResourceType "microsoft.storage/storageaccounts" -Properties $props -ApiVersion "2015-06-15"
您应该将 accountType 放入参数 "Properties" 的散列 table 中(如果您使用的是 1.5.0,则为 "PropertyObject"),并且您应该指定 API 版本也是。这是一个例子。
$properties = @{"AccountType"="Standard_RAGRS"}
New-AzureRmResource -Location "East US" `
-ResourceGroupName "myResGrp" `
-ResourceName "storagename" `
-ResourceType "Microsoft.Storage/storageAccounts" `
-Properties $properties `
-ApiVersion "2015-06-15"
您需要指定API版本,因为在最新的Azure PowerShell中,默认情况下,他们使用2016-03-30作为存储帐户,已经将AccountType更改为SKU,但是命令New-AzureRmResource
暂不支持SKU
如果您有 AzureRM.Resources 2.0 版,它应该支持完成此工作所需的最新属性。在 api 的 2016-01-01 版本之前,SKU 被称为 accountType,这是您遇到的问题。
https://msdn.microsoft.com/en-us/library/azure/mt712701.aspx
检查您使用的模块版本 运行:
Get-Module AzureRM.Resources
我建议使用 Update-Module 更新您的 AzureRM 模块(假设安装了 WMF5 并且您首先使用 get-module/install-module 安装了 AzureRM.Resources 模块)。
如果您无法升级您的 AzureRM.Resources 模块;您始终可以使用 -Properties @{ "AccountType"="Standard_RAGRS"} 指定缺少的属性。您还可以尝试使用 New-AzureRmStorageAccount ,它可能具有您要查找的属性(因为该 cmdlet 在 AzureRM.Storage 下,并且可能具有不同的版本/子集)。
希望对您有所帮助!:)