У меня есть небольшой блок с частью моего скрипта PowerShell.
У меня есть массив, который содержит адреса электронной почты пользователей и их состояние соответствия.Один и тот же пользователь может иметь несколько записей в массиве, как в нескольких политиках.
Например:
Username: User1, State: OK
Username: User1, State: Not OK
Username: User1, State: OK
Username: User 2, State: OK
Username: User 2, State: OK
Что мне нужно сделать, это объединить все записи для каждого пользователя и затем вывести их общее состояние на экран.Если все состояния OK
, сообщите OK
, но если Not OK
находится в каком-либо из их состояний, сообщите Not OK
.Например:
User 1 - Not OK
User 2 - OK
Любое руководство приветствуется.Ниже мой код:
foreach ($Listing in $FullProtectionStatus) {
if ($listing.state -eq "compliant") {
Write-Host $Listing.userPrincipalName "compliant"
}
if ($Listing.state -eq "non compliant") {
Write-Host $Listing.userPrincipalName "not compliant" -ForegroundColor Red
}
}