Znajdź użytkowników AD o określonym atrybucie AD NIE NULL

12

Szukam polecenia skryptu / Powershell, które wyświetli listę wszystkich użytkowników AD, którzy mają wartość inną niż NULL w atrybucie teletexterminalidentifier, więc muszą mieć ustawioną wartość.

Domyślnie ten atrybut nie jest ustawiony, ale mamy aplikację, która modyfikuje ten atrybut (aby zawierała ciąg szesnastkowy), więc szukam listy wszystkich użytkowników, dla których ten atrybut jest ustawiony na coś.

Dzięki!

Johan
źródło
2
Próbowałeś już czegoś?
Alex McKenzie
1
Tak, ale myślę, że w końcu to zrozumiałem, głównie czytając pliki pomocy :) Get-ADUser -Filter 'teletexterminalidentifier -ge 0' | Export-Csv c: \ list.csv Wydaje się, że działa. Jak to zrobić, ale jednocześnie eksportować wartość atrybutu teletexterminalidentifier?
Johan

Odpowiedzi:

10

Pozyskanie użytkowników powinno być możliwe przy użyciu:

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

Następnie możesz przefiltrować to, czego potrzebujesz, przesyłając polecenie:

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

Gdzie Select-Objectpozwala wybrać pola, z których chcesz uzyskać informacje według nazwy.

Alex McKenzie
źródło
Niestety otrzymuję Get-ADUser: Błąd podczas analizy zapytania: „'teletexterminalidentifier” podobny do „*” „Komunikat o błędzie:„ błąd składni ”w pozycji:„ 1 ”.
Johan
Czy zaimportowałeś moduł?
Colyn1337
Tak. Kiedy zmieniam polecenie na Get-ADUser -Filter 'teletexterminalidentifier-like "*"' | export-csv c: \ list6.csv to działa. Wystarczy nieznaczne przerobienie składni.
Johan
4

Myślę, że to, czego szukasz, to polecenie cmdlet Where-Object. Oto pseudo kod, który może ci pomóc:

Get-ADUser -Filter * | Where-Object {$_.teletexterminalidentifier -ne $null} | Export-Csv c:\list.csv
Colyn1337
źródło
To polecenie zachęca mnie do podania wartości dla „Filtruj” PS C: \ Users \ admin \ Desktop> Get-ADUser | Where-Object {$ _. Teletexterminalidentifier -ne $ null} | Polecenie cmdlet Export-Csv c: \ list4.csv Get-ADUser w pozycji potoku poleceń 1 Podaj wartości następujących parametrów: (Wpisz!? W celu uzyskania pomocy). Filtr:
Johan
1
@Johan Dodałem parametr filtra do przykładu.
Colyn1337
1

Jeśli chcesz filtrować użytkowników na podstawie tej właściwości, musisz dodać -propertiesprzełącznik do polecenia Get-ADusercmdlet. Rzeczywiście, bez tego przełącznika, ładuje tylko podstawowe właściwości (elementy) dla obiektów użytkownika.

Oto pełna komenda, aby osiągnąć to, czego chcesz:

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

Spowoduje to taki wynik: wprowadź opis zdjęcia tutaj

Następnie będziesz mógł wyeksportować wynik do żądanego formatu.

Mam nadzieję że to pomoże !

Ob1lan
źródło