Score:0

ค้นหาบัญชีทั้งหมดที่ไม่มีโดเมนใน proxyAddresses (หรือ Where-Object FilterScript บนอาร์เรย์ที่ไม่มีรายการโดยใช้สัญลักษณ์แทน)

ธง in

ฉันกำลังพยายามรับรายชื่อบัญชี Active Directory ที่ไม่มีที่อยู่กับชื่อโดเมนที่กำหนดใน proxyAddresses ฉันรู้ว่าจะหาคนที่ใช่ ฉันทำได้:

Get-AdUser -Filter 'proxyAddresses -like ''smtp:*@domain.com'''

อย่างไรก็ตาม การย้อนกลับใช้ไม่ได้ เพราะหากมีรายการอื่นแม้แต่รายการเดียวใน proxyAddresses (และบัญชีของเราทั้งหมดมี เช่น ที่อยู่ X500 และที่อยู่ onmicrosoft) ก็จะจับคู่สิ่งนั้นและยังคงส่งคืนวัตถุ ฉันรู้ด้วยว่าฉันสามารถทำสิ่งต่อไปนี้ได้

รับ AdUser -Filter * -Properties proxyAddresses |
  ForEach-Object - เริ่มต้น { $filteredList = @() } - กระบวนการ {
    $notfound = $จริง
    $_.proxyที่อยู่ | สำหรับแต่ละวัตถุ - กระบวนการ {
      ถ้า ($_ -like 'smtp:*@domain.com') {
        $notfound = $เท็จ
      }
    }
    ถ้า ($notfound) { $filteredList += $_ }
  }

มีวิธีที่ฉันสามารถทำได้ใน Where-Object FilterScript แทนหรือไม่ เช่น กรองฝั่งเซิร์ฟเวอร์มากกว่าฝั่งไคลเอ็นต์ ฉันได้ลองสิ่งนี้เพื่อดูว่าฉันสามารถย้อนกลับค่าจริง / เท็จจาก "-like" ได้หรือไม่ แต่ดูเหมือนจะไม่ได้ผล ฉันยังมีบัญชีทั้งหมดอยู่:

รับ AdUser -Filter * -Properties proxyAddresses | Where-Object -FilterScript { if ($_.proxyAddresses -like 'smtp:*@domain.com') { $false } อื่น { $true } }

ความคิดใด ๆ ?

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา