regex - 为什么 New-AzureRmVM 给出实体名称错误?

标签 regex azure azure-powershell

当我从 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 包含下面我的虚拟机配置

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}

谁能告诉我它所指的实体名称是什么?是虚拟机的名称、存储位置之一的名称等吗? 据我所知,一切都与正则表达式匹配,所以我不明白为什么会收到此错误。谷歌搜索命令名称只显示了一些结果,根本没有提及任何有关实体名称的内容。

最佳答案

没关系,我是通过反复试验才弄清楚的。数据和操作系统磁盘的名称中显然不能有空格。如果 Azure PS 模块有更好的文档记录,将会有所帮助。

关于regex - 为什么 New-AzureRmVM 给出实体名称错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35234497/

相关文章:

python - 使用 Python 从文本中提取 IBAN

python - Azure Face API 给出 ​​APIErrorException : (InvalidRequest) Invalid request has been sent

c# - transient 故障处理的正确实现 (Azure)

windows - 如何读取 .txt 文件中的文本及其在 powershell 中的每个值?

azure - Set-AzureRmDiagnosticSetting : Exception type: CloudException, 消息:不支持指标类别 'AllMetrics'

regex - 超过复杂正则子表达式递归限制 (32766)

java - 正则表达式从 html 标签(嵌套)获取文本 - Java

javascript - 括号内的算术运算 javascript

sql-server - 如何使用 Azure key 保管库将 SQL Server 的连接字符串作为 secret 存储在 Azure 数据工厂中

azure - 在 Debian 上安装 AzureAD 模块