在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
我该如何主张?我很难在网上找到解决方案。
答案 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(您不应启动变量用数字命名)。