Удалить дублированную информацию - PullRequest
0 голосов
/ 11 июня 2018

У меня есть следующий 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', потому что он пустойстрока

1 Ответ

0 голосов
/ 11 июня 2018

Используйте вычисляемое свойство, в котором вы разделяете список групп, удаляете основную группу из результирующего списка и присоединяете ее обратно к строке через запятую:

Import-Csv $UserReport4 -Delimiter ';' |
    Select-Object USER, PRIMARY_GROUP, @{n='OTHER_GROUPS';e={
        (($_.OTHER_GROUPS -split ',') -ne $_.PRIMARY_GROUP) -join ','
    }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...