Witam,
dotyczy skryptu w PowerShellu. Poszukuję rozwiązania następującego problemu: Jest grupa w AD mająca dostęp do jakiegoś zasobu ( nazwa grupy: Są też inne grupy (nazwa grupy: KOTŁOWNIA, STOLARNIA, KUCHNIA). Pobieram wszystkich użytkowników z grupy SPAWACZE:
$U = Get-ADGroupMember -Recursive "CN=SPAWACZE........."| Where-Object { $_.objectClass -match "user"} |Select-Object SamAccountName
oraz wszystkich użytkowników z grup KOTŁOWNIA, STOLARNIA, KUCHNIA - część użytkowników tych grup należy też do SPAWACZE:
$W1 = Get-ADGroup -Filter 'name -like "KOTLOWNIA*"' | Get-ADGroupMember -Recursive | Select-Object SamAccountName
$W2 = Get-ADGroup -Filter 'name -like "STOLARNIA*"' | Get-ADGroupMember -Recursive | Select-Object SamAccountName
$W3 = Get-ADGroup -Filter 'name -like "KUCHNIA*"' | Get-ADGroupMember -Recursive | Select-Object SamAccountName
$WYKLUCZENIA = $W1 + $W2 + $W3
Jak wybrać użytkowników należących do $U ale nie będących członkami $WYKLUCZENIA?
To mi nie działa:
foreach ($i in $U)
{
Write-Host "Sprawdzam uzytkownika " $i.SamAccountName
if ( $WYKLUCZENIA -contains $i.SamAccountName )
{
Write-Host -ForegroundColor RED "TU i TU" $i.SamAccountName
} else {
Write-Host -ForegroundColor GREEN "Tylko SPAWACZ" $i.SamAccountName
}
}