为什么 New-AzureRmVM 会给出实体名称错误?
Why does New-AzureRmVM give entity name error?
当我 运行 来自 PowerShell ISE 的这段代码时
New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VM
我收到这个错误
New-AzureRmVM : The entity name is invalid according to its validation rule: ^[^_\W][\w-._]{0,79}(?<![-.])$.
StatusCode: 400
ReasonPhrase: Bad Request
OperationID : 'my-operation-id'
At line:1 char:1
+ New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VM
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [New-AzureRmVM], ComputeCloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.NewAzureVMCommand
$ResourceGroupName 包含我的资源组名称,在此示例中为 "foobar.com"。
$Location 包含 "East US 2".
$VM 在下面包含我的 VM 配置
ResourceGroupName :
Id :
Name : foobar
Type :
Location :
Tags : null
AvailabilitySetReference : null
DiagnosticsProfile : {
"bootDiagnostics": {
"enabled": true,
"storageUri": "https://foobar.blob.core.windows.net/"
}
}
Extensions : null
HardwareProfile : {
"vmSize": "Basic_A0"
}
InstanceView : null
NetworkProfile : {
"networkInterfaces": [
{
"properties.primary": null,
"id": "/subscriptions/my-sub-id/resourceGroups/foobar.com/providers/Microsoft.Network/n
etworkInterfaces/foobar"
}
]
}
OSProfile : {
"computerName": "foobar",
"adminUsername": "admin",
"adminPassword": "password",
"customData": null,
"windowsConfiguration": {
"provisionVMAgent": true,
"enableAutomaticUpdates": true,
"timeZone": "UTC-05:00",
"additionalUnattendContent": null,
"winRM": null
},
"linuxConfiguration": null,
"secrets": null
}
Plan : null
ProvisioningState :
StorageProfile : {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "Windows-Server-Technical-Preview",
"version": "latest"
},
"osDisk": {
"osType": null,
"encryptionSettings": null,
"name": "OS Disk",
"vhd": {
"uri": "https://foobar.blob.core.windows.net/vhds/foobar-os.vhd"
},
"image": null,
"caching": null,
"createOption": "fromImage",
"diskSizeGB": null
},
"dataDisks": [
{
"lun": 0,
"name": "Data Disk",
"vhd": {
"uri": "https://foobar.blob.core.windows.net/vhds/foobar-data.vhd"
},
"image": null,
"caching": null,
"createOption": "empty",
"diskSizeGB": 20
}
]
}
DataDiskNames : {Data Disk}
NetworkInterfaceIDs : {/subscriptions/my-sub-id/resourceGroups/foobar.com/providers/Microsoft.Network/networkInterf
aces/foobar}
谁能告诉我它指的实体名称是什么?它是 VM 的名称、其中一个存储位置的名称等吗?
据我所知,一切都与正则表达式相匹配,所以我不明白为什么会出现此错误。谷歌搜索命令名称只会带来一些命中,并且 none 根本没有提及任何关于实体名称的内容。
没关系,我通过反复试验弄明白了。数据和 OS 磁盘的名称显然不能有空格。如果能更好地记录 Azure PS 模块,将会有所帮助。
当我 运行 来自 PowerShell ISE 的这段代码时
New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VM
我收到这个错误
New-AzureRmVM : The entity name is invalid according to its validation rule: ^[^_\W][\w-._]{0,79}(?<![-.])$.
StatusCode: 400
ReasonPhrase: Bad Request
OperationID : 'my-operation-id'
At line:1 char:1
+ New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VM
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [New-AzureRmVM], ComputeCloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.NewAzureVMCommand
$ResourceGroupName 包含我的资源组名称,在此示例中为 "foobar.com"。
$Location 包含 "East US 2".
$VM 在下面包含我的 VM 配置
ResourceGroupName :
Id :
Name : foobar
Type :
Location :
Tags : null
AvailabilitySetReference : null
DiagnosticsProfile : {
"bootDiagnostics": {
"enabled": true,
"storageUri": "https://foobar.blob.core.windows.net/"
}
}
Extensions : null
HardwareProfile : {
"vmSize": "Basic_A0"
}
InstanceView : null
NetworkProfile : {
"networkInterfaces": [
{
"properties.primary": null,
"id": "/subscriptions/my-sub-id/resourceGroups/foobar.com/providers/Microsoft.Network/n
etworkInterfaces/foobar"
}
]
}
OSProfile : {
"computerName": "foobar",
"adminUsername": "admin",
"adminPassword": "password",
"customData": null,
"windowsConfiguration": {
"provisionVMAgent": true,
"enableAutomaticUpdates": true,
"timeZone": "UTC-05:00",
"additionalUnattendContent": null,
"winRM": null
},
"linuxConfiguration": null,
"secrets": null
}
Plan : null
ProvisioningState :
StorageProfile : {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "Windows-Server-Technical-Preview",
"version": "latest"
},
"osDisk": {
"osType": null,
"encryptionSettings": null,
"name": "OS Disk",
"vhd": {
"uri": "https://foobar.blob.core.windows.net/vhds/foobar-os.vhd"
},
"image": null,
"caching": null,
"createOption": "fromImage",
"diskSizeGB": null
},
"dataDisks": [
{
"lun": 0,
"name": "Data Disk",
"vhd": {
"uri": "https://foobar.blob.core.windows.net/vhds/foobar-data.vhd"
},
"image": null,
"caching": null,
"createOption": "empty",
"diskSizeGB": 20
}
]
}
DataDiskNames : {Data Disk}
NetworkInterfaceIDs : {/subscriptions/my-sub-id/resourceGroups/foobar.com/providers/Microsoft.Network/networkInterf
aces/foobar}
谁能告诉我它指的实体名称是什么?它是 VM 的名称、其中一个存储位置的名称等吗? 据我所知,一切都与正则表达式相匹配,所以我不明白为什么会出现此错误。谷歌搜索命令名称只会带来一些命中,并且 none 根本没有提及任何关于实体名称的内容。
没关系,我通过反复试验弄明白了。数据和 OS 磁盘的名称显然不能有空格。如果能更好地记录 Azure PS 模块,将会有所帮助。