在powershell中创建多个值哈希表

问题描述

我想要一个哈希表,其中的值是如下所示的数组。但没有运气。我想得到如下输出

这是我的脚本:

$SKUToGroup= @{} # creates hash table
$SKUToGroup.O365_E3_Users = @() #adds an array
$SKUToGroup.O365_E3_Users += "6fd2c87f-b296-42f0-b197-1e91e994b900"
$SKUToGroup.O365_E3_Users += "0c266dff-15dd-4b49-8397-2bb16070ed52"
$SKUToGroup.O365_E1_Users += "18181a46-0d4e-45cd-891e-60aabd171b4e"
$SKUToGroup.O365_E1_Users += "0c266dff-15dd-4b49-8397-2bb16070ed52"

输出

Name                           Value
----                           -----
O365_E1_Users                  18181a46-0d4e-45cd-891e-60aabd171b4e0c266dff-15dd-4b49-8397-2bb16070ed52
O365_E3_Users                  {6fd2c87f-b296-42f0-b197-1e91e994b900,0c266dff-15dd-4b49-8397-2bb16070ed52}

我想要的输出

Name                                                                            Value
----                                                                            -----
{18181a46-0d4e-45cd-891e-60aabd171b4e,0c266dff-15dd-4b49-8397-2bb16070ed52}     O365_E1_Users
{6fd2c87f-b296-42f0-b197-1e91e994b900,0c266dff-15dd-4b49-8397-2bb16070ed52}    O365_E3_Users

解决方法

作为@Olaf told如果我做对了,那就没有多大意义

$SKUToGroup= @{} # creates hash table
$SKUToGroup.O365_E3_Users = @() #adds an array
$SKUToGroup.O365_E3_Users += "6fd2c87f-b296-42f0-b197-1e91e994b900"
$SKUToGroup.O365_E3_Users += "0c266dff-15dd-4b49-8397-2bb16070ed52"
$SKUToGroup.O365_E1_Users = @()
$SKUToGroup.O365_E1_Users += "18181a46-0d4e-45cd-891e-60aabd171b4e"
$SKUToGroup.O365_E1_Users += "0c266dff-15dd-4b49-8397-2bb16070ed52"

$SKUToGroupRev = @{}
foreach ($itemKey in $SKUToGroup.Keys) {
    $SKUToGroupRev.$($SKUToGroup.$itemKey) = $itemKey
}
$SKUToGroupRev

输出.\SO\66929336.ps1 | Format-List

Name  : {18181a46-0d4e-45cd-891e-60aabd171b4e,0c266dff-15dd-4b49-8397-2bb16070ed52}
Value : O365_E1_Users

Name  : {6fd2c87f-b296-42f0-b197-1e91e994b900,0c266dff-15dd-4b49-8397-2bb16070ed52}
Value : O365_E3_Users