首页 > 解决方案 > 将 Azure Powershell 中的虚拟机名称拆分为多个部分

问题描述

在 Azure 中创建新 vm 时,我想将其 vmname 拆分为块,以便将它们分配给变量。稍后,我想使用它们将标签分配给 vm。命名约定如下所示:

11111233444

我想要实现的是划分 vmname 并分配为这样的变量:

$vmnane = 11111233444
split-string $wmname -some kind of string division definition command
$2 = 2
$3 = 33
$4 = 444
$r = Get-AzureRmResource -ResourceName $vmname -ResourceGroupName examplegroup
Set-AzureRmResource -Tag @{ firsttag="$2"; secondtag="$3" etc...} -ResourceId $r.ResourceId -Force

我应该如何解决这个问题?我很难在网上找到解决方案。

标签: azurepowershellsplittagsvirtual-machine

解决方案


这应该有效:

$vmname = 11111233444

$vmname -match '^(.{5})(.{1})(.{2})(.{3})'

$a = $Matches[1]
$b = $Matches[2]
$c = $Matches[3]
$d = $Matches[4]

正则表达式匹配 vm 名称的前五个、下一个、后两个和最后三个字符,并将它们分配给变量 $a、$b、$c、$d(您不应以数字)。


推荐阅读