Знайдіть користувачів AD зі специфічним атрибутом AD НЕ нульовим


12

Я шукаю скрипт / команду Powershell, яка буде перераховувати всіх користувачів AD, які мають атрибут teletexterminalidentifier не NULL, тому вони повинні мати встановлене значення.

За замовчуванням цей атрибут не встановлений, але у нас є додаток, який модифікує цей атрибут (щоб містити шістнадцяткову рядок), тому я шукаю список усіх користувачів, у яких цей атрибут встановлений на щось.

Дякую!


2
Ви ще щось пробували?
Алекс Маккензі

1
Так, але я думаю, що я нарешті зрозумів це, здебільшого, читаючи довідкові файли :) Get-ADUser -Filter 'teletexterminalidentifier -ge 0' | Export-Csv c: \ list.csv Здається, працює. Як зробити те ж саме, але одночасно експортувати значення атрибута teletexterminalidentifier?
Йоган

Відповіді:


10

Ви повинні мати можливість залучати користувачів, використовуючи:

Get-ADUser -Filter 'teletexterminalidentifier -like "*"'

Потім ви можете відфільтрувати те, що вам потрібно, відвідавши команду:

Get-ADUser -Filter 'teletexterminalidentifier -like "*"' | Select-Object name,teletexterminalidentifier | Export-Csv file.csv

Де Select-Objectви можете вибрати, з яких полів ви хочете отримати інформацію по імені.


На жаль, я отримую Get-ADUser: Запит про розбір помилок: '' teletexterminalidentifier '-like' * '' Повідомлення про помилку: 'синтаксична помилка' у позиції: '1'.
Йоган

Ви імпортували модуль?
Colyn1337

Так. Коли я змінюю команду Get-ADUser -Filter 'teletexterminalidentifier -подобний "*"' | export-csv c: \ list6.csv він працює. Просто невелика переробка синтаксису.
Йоган

4

Я думаю, що ви шукаєте командлет Where-Object. Ось псевдо-код, який допоможе вам:

Get-ADUser -Filter * | Where-Object {$_.teletexterminalidentifier -ne $null} | Export-Csv c:\list.csv

Ця команда пропонує мені ввести значення для "Фільтр" PS C: \ Users \ admin \ Desktop> Get-ADUser | Where-Object {$ _. Teletexterminalidentifier -ne $ null} | Export-Csv c: \ list4.csv cmdlet Get-ADUser у позиції командного конвеєра 1 Значення подачі для таких параметрів: (Введіть!? Для довідки.) Фільтр:
Йоган

1
@Johan Я додав параметр фільтру до прикладу.
Colyn1337

1

Якщо ви хочете відфільтрувати користувачів на основі цього властивості, вам слід додати -propertiesкомутатор до Get-ADuserCmdlet. Дійсно, без цього перемикача він завантажує лише основні властивості (члени) для об’єктів користувача.

Таким чином, ось повна команда для досягнення того, що ви хочете:

Get-ADUser -filter * -Properties * | ? {$_.teletexterminalidentifier -ne $null} | Select-Object CN,SamAccountName,Teletexterminalidentifier

Це дасть такий результат: введіть тут опис зображення

Тоді ви зможете експортувати результат у потрібний формат.

Сподіваюся, це допомагає!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.