作者:jelly62_736 | 来源:互联网 | 2022-12-09 15:01
我有两个哈希表,我需要比较它们.让我解释一下我的问题:
[hashtable]$User = @{
"Jack" = "AdminLA, AdminUSA";
"John" = "AdminAustralia";
"Sarah" = "AdminIceland";
"Arnold" = "AdminUSA";
"Maurice" = "AdminAustralia, AdminCanada";
}
[hashtable]$Profil = @{
"AdminLA" = "P1";
"AdminIceland" = "P2";
"AdminUSA" = "P3";
"AdminCanada" = "P4";
"AdminAustralia" = "P5" ;
"AdminCroatia" = "P6";
}
我希望得到这样的结果:
Key Value
--- -----
Jack P1, P3
John P5
Sarah P2
Arnold P3
Maurice P5, P4
实际上,我只有一个值(我没有成功拥有多个值.例如,Jack必须有P1和P3而我只有P1).
我该如何解决?
我已经尝试过了:
$User.GetEnumerator() | select Key, @{n='Value'; e={$Profil[$_.Value]}}
和
$User.GetEnumerator() | %{[PSCustomObject]@{aKey=$_.Key;bValue=$Profil[$_.Value]}}
任何的想法?
1> robdy..:
使用此表达式
$User.GetEnumerator() | select Key, @{n='Value'; e={($_.Value -split ", " | % {$Profil[$_]}) -join ", "}}
这基本上创建了一个输入值数组,从$Profil
每个元素获取值,然后根据这些值创建一个字符串.