Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] get-aduser -filter с массивом?

Ответить
Настройки темы
PowerShell - [решено] get-aduser -filter с массивом?

Старожил


Сообщения: 498
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Доброго времени суток. Есть список txt с samaccountname, но мне нужно выбрать всех пользователей, которых НЕТ в этом списке. Обычно для выбора пользователей из списка использовал:
Код: Выделить весь код
get-content путь_к_файлу_txt | foreach-object {get-aduser -i $_}
. Чтобы выбрать всех, кого в этом списке нет удобнее всего использовать фильтр -f {samaccountname -ne $_ или $x}, но фильтр не работает таким образом, кто-нибудь подскажет решение?
Спасибо заранее.

Отправлено: 11:29, 05-11-2014

 

Старожил


Сообщения: 498
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Код: Выделить весь код
Compare-Object (Get-Content C:\Users\nokogerra\Desktop\us.txt | foreach {$_.Trim()}) (Get-ADUser
 -fi * | foreach {$_.samaccountname}) | where {$_.sideindicator -eq "<="} | foreach {try {get-aduser $_.inputobject} catch {}}
вывело список пользователей тех пользователей, которые помечены "<=".

Отправлено: 13:59, 05-11-2014 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Странное поведение, а код:
Код: Выделить весь код
$users = Get-Content C:\Users\nokogerra\Desktop\us.txt
Get-ADUser -Filter * | Where {$users -notcontains $_.SamAccountName} | Select Name,SamAccountName
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:10, 05-11-2014 | #12


Старожил


Сообщения: 498
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


вывело всех пользователей, samaccountname которых нет в текстовом файле. хм, т.е. это еще одно решение моей первоначальной задачи, но не совсем понятное, разве contains и notcontains так работают? они вроде должны возвращать булевое значение. И должно оцениваться, входит ли $_.samaccountname в $users, а не наоборот, разве нет?

Отправлено: 14:24, 05-11-2014 | #13


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


они вроде должны возвращать булевое значение - Так и возвращается булевое значение, если пользователь есть в AD, но нет в файле, то выводим объект на консоль.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:35, 05-11-2014 | #14


Старожил


Сообщения: 498
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Сначала я не понял логики, но потом все же дошло: проверка "пообъектно", где объект - это атрибут samaccountname, т.е. если совпало, значит FALSE, не совпало - TRUE (при частичном совпадении тоже) и при TRUE, пользователь будет выведен.
Спасибо большое за помощь, Вы предложили 2 рабочих варианта, не вижу особого смысла ковыряться в лишних "<=".

Отправлено: 14:54, 05-11-2014 | #15



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] get-aduser -filter с массивом?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - get-aduser ..| select enabled? nokogerra Скриптовые языки администрирования Windows 8 17-09-2014 14:51
PowerShell - [решено] Get-AdUser и несколько доменов pogo Скриптовые языки администрирования Windows 4 10-12-2013 11:48
2008 R2 - [решено] posh: new-aduser ps1 convert-to-html nokogerra Windows Server 2008/2008 R2 3 07-10-2013 07:36
2008 R2 - [решено] posh: set-aduser -name? nokogerra Windows Server 2008/2008 R2 6 01-10-2013 09:56
[решено] Проблема с массивом Angel_19 AutoIt 3 11-07-2012 11:34




 
Переход