将Azure Powershell中的虚拟机名称拆分

时间:2018-09-27 13:13:17

标签: azure powershell split tags virtual-machine

在Azure中创建新的虚拟机时,我想将其虚拟机名称拆分为多个块,以便将它们分配给变量。以后,我想用它们将标签分配到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

我该如何主张?我很难在网上找到解决方案。

1 个答案:

答案 0 :(得分:1)

这应该有效:

$vmname = 11111233444

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

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

regEx与vm名称的前五个,下一个,后两个和最后三个字符匹配,并将它们分配给变量$ a,$ b,$ c,$ d(您不应启动变量用数字命名)。