虚拟机名称、RG、当前 SKU、操作系统
VM1、RG1、DS2_v2、Windows
VM2、RG2、DS3_V3、Linux
VM3、RG3、F4S、Windows
VM4、RG4、DS2_v2、Linux
旧SKU、新SKU
DS2_v2、D2as_v4
F2s、F2sv2
DS3_V3、D2as_v4
使用 Powershell 我想要如下所示的输出,
虚拟机名称、RG、当前 SKU、新 SKU、操作系统,
VM1、RG1、DS2_v2、D2as_v4、Windows
VM2、RG2、DS3_V3、D2as_v4、Linux
VM3、RG3、F4S、F2sv2、Windows
VM4、RG4、DS2_v2、D2as_v4、Linux
请快速获得帮助。
使用
Group-Object
创建包含 SKU 映射的哈希表:
$skuTable = $b |Group-Object OldSKU -AsHashTable
然后使用
Select-Object
附加具有映射值的新 newSKU
属性:
$c = $a |Select-Object VmName,RG,CurrentSKU,@{Name='NewSKU';E={$skuTable[$_.CurrentSKU].newSKU}},OS
$c
现在包含一个新的对象列表,如您所描述的那样:
PS ~> $c |Format-Table
VmName RG CurrentSKU NewSKU OS
------ -- ---------- ------ --
VM1 RG1 DS2_v2 D2as_v4 Windows
VM2 RG2 DS3_V3 D2as_v4 Linux
VM3 RG3 F4S Windows
VM4 RG4 DS2_v2 D2as_v4 Linux