为什么 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 模块,将会有所帮助。