#powershell
#powershell
Вопрос:
У меня есть два массива $list_CloudUsers и $list_Active. Оба имеют столбец с именем Alias . Я хочу отфильтровать $list_CloudUsers, чтобы в списке не было ни одного из псевдонимов, содержащихся в $list_Active .
Я смог сделать это с помощью:
$list_arc = Import-CSV $Arc_LastAccess
$list_Active = $list_arc | Where { [int]$_.InactivityDays -le 30}
$NewList = @()
ForEach ($User_Cloud in $list_CloudUsers)
{
$Alias = $User_Cloud.Alias
if ($list_Active -match $alias) {continue}
$NewList = $User_Cloud
}
Но с этим это не работает. Любые идеи, как я могу заставить WHERE работать правильно.
$list_arc = Import-CSV $Arc_LastAccess
$list_Active = $list_arc | Where { [int]$_.InactivityDays -le 30}
$NewList1 = $list_CloudUsers | Where {$list_Active -NotMatch $_.alias}
Ответ №1:
Попробуйте
$NewList1 = $list_CloudUsers | Where-Object {$list_Active.Alias -notcontains $_.Alias}
Комментарии:
1. Да, это было так. Спасибо @Theo за вашу помощь