ค้นหาผู้ใช้โฆษณาที่มีแอตทริบิวต์โฆษณาเฉพาะไม่เป็นโมฆะ


12

ฉันกำลังค้นหาคำสั่งสคริปต์ / Powershell ที่จะแสดงรายการผู้ใช้ AD ทั้งหมดที่มีค่าไม่ใช่ NULL ในแอตทริบิวต์ teletexterminalidentifier ดังนั้นพวกเขาจึงต้องมีชุดค่า

โดยค่าเริ่มต้นคุณลักษณะนี้ไม่ได้ตั้งค่า แต่เรามีแอพที่ปรับเปลี่ยนแอตทริบิวต์นี้ (เพื่อให้มีสตริงเลขฐานสิบหก) ดังนั้นฉันกำลังมองหารายชื่อของผู้ใช้ทั้งหมดที่มีการตั้งค่าคุณลักษณะนี้เป็นบางสิ่ง

ขอบคุณ!


2
คุณเคยลองอะไรบ้างไหม?
Alex McKenzie

1
ใช่ แต่ฉันคิดว่าในที่สุดฉันก็ค้นพบมันส่วนใหญ่โดยการอ่านไฟล์ช่วยเหลือ :) Get-ADUser - กรอง 'teletexterminalidentifier -ge 0' | Export-Csv c: \ list.csv ดูเหมือนว่าจะทำงาน ฉันจะทำสิ่งเดียวกันได้อย่างไร แต่ส่งออกมูลค่าของแอตทริบิวต์ teletexterminalidentifier ในเวลาเดียวกัน
Johan

คำตอบ:


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'
Johan

คุณนำเข้าโมดูลหรือไม่
Colyn1337

ใช่. เมื่อฉันเปลี่ยนคำสั่งเป็น Get-ADUser -Filter 'teletexterminalidentifier-like "*"' | export-csv c: \ list6.csv ใช้งานได้ เพียงแค่ใช้งานไวยากรณ์อีกเล็กน้อย
Johan

4

ฉันคิดว่าสิ่งที่คุณกำลังมองหาคือ Where-Object cmdlet นี่คือโค้ดหลอกบางอย่างที่จะช่วยคุณ:

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

คำสั่งนั้นแจ้งให้ฉันระบุค่าสำหรับ "ตัวกรอง" PS C: \ Users \ admin \ Desktop> Get-ADUser | โดยที่-Object {$ _. teletexterminalidentifier -ne $ null} | Export-Csv c: \ list4.csv cmdlet Get-ADUser ที่ตำแหน่งไปป์ไลน์ของคำสั่ง 1 จัดหาค่าสำหรับพารามิเตอร์ต่อไปนี้: (พิมพ์!? สำหรับความช่วยเหลือ) ตัวกรอง:
Johan

1
@Johan ฉันเพิ่มพารามิเตอร์ตัวกรองลงในตัวอย่าง
Colyn1337

1

ถ้าคุณต้องการกรองผู้ใช้ตามคุณสมบัตินี้คุณต้องเพิ่ม-propertiesสวิตช์ไปยังGet-ADuserCmdlet อันที่จริงหากไม่มีสวิตช์นี้จะโหลดเฉพาะคุณสมบัติพื้นฐาน (สมาชิก) สำหรับวัตถุผู้ใช้

ดังนั้นนี่คือคำสั่งทั้งหมดเพื่อให้บรรลุสิ่งที่คุณต้องการ:

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

มันจะสร้างผลลัพธ์แบบนี้: ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นคุณจะสามารถส่งออกผลลัพธ์เป็นรูปแบบที่ต้องการ

หวังว่านี่จะช่วยได้!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.