Отказ от ответственности: я не очень хорошо разбираюсь в PowerShell, это в основном убитый код.Я извиняюсь, если это сделано плохо или это глупый вопрос.
Я пытаюсь отфильтровать пользователей ACTIVE в моей компании по их компании (ET) и по тому, находятся ли они в определенной группе.
Таким образом, фильтр для пользователей ACTIVE в компании «ET» работает правильно, вывод этого скрипта дает мне каждый активный пользователь с этим параметром;он не фильтрует его далее только на пользователей в определенной группе.
$users = Get-ADUser -filter {(Enabled -eq $True) -and (Company -eq "ET")}
-SearchBase 'DC=CSOKI,DC=Local' |select -exp samaccountname
$group = "O365-E3-Full"
$members = Get-ADGroupMember -Identity $group -Recursive | Select -
ExpandProperty samaccountname
ForEach ($user in $users) {
If ($members -contains $user) {
Write-output $(name) | out-file ".\TEST.txt"
} Else {
Write-Host "$user does not exist in the group"
}}
Ожидается: вывод ACTIVE пользователей в компании ET, которые находятся в группе O365-E3-FULL, и пользователей write-host, которые не являются (ненужный, я просто хочу фильтр).
Факт: запись-хост каждого пользователя ACTIVE в компании ET и игнорирование группового фильтра.