我有以下CSV
USER/PRIMARY_GROUP/OTHER_GROUPS X/adm/staff Y/staff/staff,users
我需要以下结果:
USER/PRIMARY_GROUP/OTHER_GROUPS X/adm/staff Y/staff/users
因此,如果该组已存在于PRIMARY_GROUP列中,则必须将其从OTHER_GROUPS列中删除。为了做到这一点,我有:
$Match = Import-Csv $UserReport4 -Delimiter ';'
foreach ($Line in $Match) {
if ($Line.Primary_Group -match $Line.Secondary_Group) {
Remove-Item $Line
}
}
我得到的唯一输出是:
Remove-Item无法将参数绑定到参数' path'因为它是一个空字符串
答案 0 :(得分:3)
使用计算属性分割组列表,从结果列表中删除主要组,然后将其连接回逗号分隔的字符串:
Import-Csv $UserReport4 -Delimiter ';' |
Select-Object USER, PRIMARY_GROUP, @{n='OTHER_GROUPS';e={
(($_.OTHER_GROUPS -split ',') -ne $_.PRIMARY_GROUP) -join ','
}}