Temukan pengguna AD dengan atribut AD spesifik BUKAN nol

12

Saya mencari perintah skrip / Powershell yang akan mencantumkan semua pengguna AD yang memiliki nilai bukan NULL dalam atribut teletexterminalidentifier, sehingga mereka harus memiliki nilai yang ditetapkan.

Secara default, atribut ini tidak disetel tetapi kami memiliki aplikasi yang mengubah atribut ini (mengandung string heksadesimal), jadi saya mencari daftar semua pengguna yang atributnya disetel ke sesuatu.

Terima kasih!

Johan
sumber
2
Sudahkah Anda mencoba sesuatu?
Alex McKenzie
1
Ya, tapi saya pikir saya akhirnya menemukan jawabannya, kebanyakan dengan membaca file bantuan :) Get-ADUser -Filter 'teletexterminalidentifier -ge 0' | Ekspor-Csv c: \ list.csv Tampaknya berfungsi. Bagaimana saya melakukan hal yang sama, tetapi mengekspor nilai atribut teletexterminalidentifier secara bersamaan?
Johan

Jawaban:

10

Anda harus bisa mendapatkan pengguna dengan menggunakan:

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

Anda kemudian dapat menyaring apa yang Anda butuhkan dengan mem-pipkan perintah:

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

Di mana Select-ObjectAnda dapat memilih bidang apa yang ingin Anda dapatkan informasinya berdasarkan nama.

Alex McKenzie
sumber
Sayangnya saya mendapatkan Get-ADUser: Error parsing query: '' teletexterminalidentifier '-like' * '' Pesan Kesalahan: 'kesalahan sintaks' di posisi: '1'.
Johan
Apakah Anda mengimpor modul?
Colyn1337
Iya. Ketika saya mengubah perintah untuk Get-ADUser -Filter 'teletexterminalidentifier -like "*"' | export-csv c: \ list6.csv berfungsi. Hanya sedikit sintaks yang bekerja kembali.
Johan
4

Saya pikir apa yang Anda cari adalah cmdlet Where-Object. Berikut beberapa kode semu untuk membantu Anda:

Get-ADUser -Filter * | Where-Object {$_.teletexterminalidentifier -ne $null} | Export-Csv c:\list.csv
Colyn1337
sumber
Perintah itu mendorong saya untuk memberikan nilai untuk "Filter" PS C: \ Users \ admin \ Desktop> Get-ADUser | Where-Object {$ _. Teletexterminalidentifier -ne $ null} | Ekspor-Csv c: \ list4.csv cmdlet Dapatkan-ADUser di posisi pipa perintah 1 Nilai pasokan untuk parameter berikut: (Ketik!? Untuk Bantuan.) Filter:
Johan
1
@ Johan Saya menambahkan param filter ke contoh.
Colyn1337
1

Jika Anda ingin memfilter pengguna berdasarkan properti ini, Anda harus menambahkan -propertiessakelar ke Get-ADuserCmdlet. Memang, tanpa switch ini, ia hanya memuat properti dasar (anggota) untuk objek pengguna.

Jadi, inilah perintah lengkap untuk mencapai apa yang Anda inginkan:

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

Ini akan menghasilkan hasil seperti ini: masukkan deskripsi gambar di sini

Kemudian Anda akan dapat mengekspor hasilnya ke format yang diinginkan.

Semoga ini membantu !

Ob1lan
sumber