Tìm người dùng AD với thuộc tính AD cụ thể KHÔNG null


12

Tôi đang tìm kiếm một lệnh script / Powershell sẽ liệt kê tất cả người dùng AD có giá trị không phải NULL trong thuộc tính teletexterminalidentifier, vì vậy họ phải có một giá trị được đặt.

Theo mặc định, thuộc tính này không được đặt nhưng chúng tôi có một ứng dụng sửa đổi thuộc tính này (để chứa chuỗi thập lục phân), vì vậy tôi đang tìm danh sách tất cả người dùng có thuộc tính này được đặt thành thứ gì đó.

Cảm ơn!


2
Bạn đã thử gì chưa?
Alex McKenzie

1
Vâng, nhưng tôi nghĩ rằng cuối cùng tôi đã tìm ra nó, chủ yếu bằng cách đọc các tệp trợ giúp :) Get-ADUser -Filter 'teletexterminalidentifier -ge 0' | Xuất-Csv c: \ list.csv Có vẻ hoạt động. Làm thế nào để tôi làm điều tương tự, nhưng xuất giá trị của thuộc tính teletexterminalidentifier cùng một lúc?
Johan

Câu trả lời:


10

Bạn sẽ có thể có được người dùng bằng cách sử dụng:

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

Sau đó, bạn có thể lọc những gì bạn cần bằng cách đặt lệnh:

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

Nơi Select-Objectcho phép bạn chọn những lĩnh vực bạn muốn nhận thông tin từ tên.


Thật không may, tôi nhận được Get-ADUser: Lỗi phân tích cú pháp truy vấn: '' teletexterminalidentifier '-like' * '' Thông báo lỗi: 'lỗi cú pháp' ở vị trí: '1'.
Johan

Bạn đã nhập mô-đun?
Colyn1337

Đúng. Khi tôi thay đổi lệnh thành Get-ADUser -Filter 'teletexterminalidentifier-like "*"' | export-csv c: \ list6.csv nó hoạt động. Chỉ cần làm lại một chút cú pháp.
Johan

4

Tôi nghĩ thứ bạn đang tìm kiếm là lệnh ghép ngắn Where-Object. Đây là một số mã giả để giúp bạn:

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

Lệnh đó đang nhắc tôi cung cấp các giá trị cho "Bộ lọc" PS C: \ Users \ admin \ Desktop> Get-ADUser | Trường hợp-Đối tượng {$ _. Teletexterminalidentifier -ne $ null} | Xuất-Csv c: \ list4.csv cmdlet Get-ADUser tại vị trí đường ống lệnh 1 Cung cấp các giá trị cho các tham số sau: (Loại !? Để được trợ giúp.) Bộ lọc:
Johan

1
@Johan Tôi đã thêm tham số bộ lọc vào ví dụ.
Colyn1337

1

Nếu bạn muốn lọc người dùng dựa trên thuộc tính này, bạn phải thêm công -propertiestắc vào Get-ADuserCmdlet. Thật vậy, không có công tắc này, nó chỉ tải các thuộc tính cơ bản (thành viên) cho các đối tượng người dùng.

Vì vậy, đây là lệnh đầy đủ để đạt được những gì bạn muốn:

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

Nó sẽ tạo ra loại kết quả này: nhập mô tả hình ảnh ở đây

Sau đó, bạn sẽ có thể xuất kết quả sang định dạng mong muốn.

Hi vọng điêu nay co ich !

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.