ค้นหาเว็บไซต์

ใช้ PowerShell เพื่อดูวัตถุ Exchange Online | ตอนที่ 3#3


เป้าหมายหลักของฉันในบทความปัจจุบันคือการทบทวนวิธีที่เราใช้ PowerShell เป็นเครื่องมือสำหรับการนำ "การค้นหาที่กรอง" ไปใช้ในสภาพแวดล้อมที่ใช้ Exchange Online

ในบางสถานการณ์ เราสามารถใช้ PowerShell cmdlets ที่สร้างขึ้นซึ่งช่วยให้เราสามารถสอบถาม Exchange Online เกี่ยวกับผู้รับประเภทใดประเภทหนึ่งได้

ตัวเลือกหลักที่เราตรวจสอบในบทความนี้สำหรับการนำคำค้นหาที่กรองไปใช้คือคำสั่ง PowerShell

ใช้ PowerShell เพื่อดูวัตถุ Office 365 และ Exchange Online | บทความชุด

ชุดบทความประกอบด้วยบทความต่อไปนี้:

  1. การใช้ PowerShell “คำสั่ง Where” เพื่อสร้างการค้นหาแบบกรอง | วัตถุ Office 365 และ Exchange Online
  2. ใช้ PowerShell เพื่อดูวัตถุ Office 365
  3. ใช้ PowerShell เพื่อดูวัตถุ Exchange Online (บทความนี้)

คำว่า “วัตถุ Exchange Online เฉพาะ” สามารถแปลเป็นสถานการณ์ได้หลายประเภท

ตัวอย่างเช่น

  • ตัวอย่างที่ 1 - การสร้าง PowerShell “การค้นหาที่ถูกกรอง” โดยมองหาประเภทผู้รับออนไลน์ที่เฉพาะเจาะจง เช่น - รายชื่อติดต่อเมล กลุ่ม Exchange โฟลเดอร์สาธารณะ ผู้ใช้กล่องจดหมาย และอื่นๆ
  • ตัวอย่างที่ 2 - การสร้าง PowerShell “การค้นหาที่ถูกกรอง” โดยมองหากล่องจดหมาย Exchange Online ที่ที่อยู่อีเมลของพวกเขามีชื่อโดเมนเฉพาะหรือนามแฝงเฉพาะ
  • ตัวอย่างที่ 3 - การสร้าง PowerShell “การค้นหาที่ถูกกรอง” โดยมองหาประเภทกล่องจดหมาย Exchange Online ที่เฉพาะเจาะจง เช่น - กล่องจดหมายของผู้ใช้ กล่องจดหมายที่แชร์ กล่องจดหมายของห้อง และอื่นๆ
  • ตัวอย่างที่ 4 - การสร้าง PowerShell “การค้นหาที่ถูกกรอง” โดยมองหากล่องจดหมาย Exchange Online เฉพาะ เช่น - กล่องจดหมายที่มีไฟล์เก็บถาวร กล่องจดหมายที่มีการระงับคดี (Litigation Hold) กล่องจดหมายที่มีการระงับในสถานที่ (In-Place Hold) กล่องจดหมายที่เปิดใช้งานการตรวจสอบ กล่องจดหมาย Exchange Online ที่ถูกลบแบบซอฟต์ กล่องจดหมาย Exchange Online ที่ไม่ได้ใช้งาน และอื่นๆ
  • ตัวอย่างที่ 5 - การสร้าง PowerShell “การค้นหาที่ถูกกรอง” โดยมองหา “คุณสมบัติ” ของผู้ใช้กล่องจดหมาย Exchange Online เช่น - ผู้ใช้จากแผนกเฉพาะ ผู้ใช้ที่มีชื่อเฉพาะ รัฐหรือจังหวัดเฉพาะ เป็นต้น
  • ตัวอย่างที่ 6 - การสร้าง PowerShell “การค้นหาที่ถูกกรอง” โดยมองหากล่องจดหมาย Exchange “ข้อมูลวันที่” ตัวอย่างเช่น:

    • กล่องจดหมาย Exchange Online ที่ถูกสร้างขึ้นในเวลาที่กำหนด (นาที วัน เดือน และปี)
    • กล่องจดหมาย Exchange Online ที่ผู้ใช้ (เจ้าของกล่องจดหมาย) เข้าถึงในเวลาที่กำหนด (นาที วัน เดือน และปี)

แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange โดยใช้คำสั่ง Get-Mailbox

ดูกล่องจดหมาย Exchange Online ทั้งหมดเทียบกับจำนวนจำกัดเริ่มต้น

Exchange มีกล่องจดหมายหลายประเภท เช่น กล่องจดหมายของผู้ใช้ กล่องจดหมายที่ใช้ร่วมกัน กล่องจดหมายของห้อง และอื่นๆ โดยใช้คำสั่ง PowerShell - Get-Mailbox เราขอให้แสดงกล่องจดหมาย Exchange ทุกประเภท

ตามค่าเริ่มต้น ผลลัพธ์จากคำสั่ง PowerShell Get-Mailbox จะแสดงเฉพาะกล่องจดหมาย Exchange “1,000 ตัวแรกเท่านั้น ”

Get-Mailbox

แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ชนิดต่างๆ ทั้งหมด | ไม่มี "ขีดจำกัด" ของหมายเลขกล่องจดหมาย Exchange Online ที่จะแสดง

ในกรณีที่เราต้องการ "ขยาย" ค่าเริ่มต้น "จำกัดผลลัพธ์ 1,000 รายการ" หรือเพื่อระบุหมายเลขกล่องจดหมาย Exchange Online ที่เราต้องการแสดงอย่างแม่นยำ เราสามารถใช้พารามิเตอร์ ResultSize

พารามิเตอร์ ResultSize ระบุจำนวนผลลัพธ์สูงสุดที่จะแสดง หากคุณต้องการส่งคืนคำขอทั้งหมดที่ตรงกับแบบสอบถาม ให้ใช้ไม่จำกัดสำหรับค่าของพารามิเตอร์นี้

Get-Mailbox -ResultSize Unlimited

จะทราบได้อย่างไรว่าฉันสามารถใช้พารามิเตอร์ตัวกรองใดเมื่อฉันระบุวัตถุกล่องจดหมาย Exchange Online

ในบทความต่อไปนี้ เราจะตรวจทานตัวอย่างต่างๆ ที่เราสร้างการค้นหาแบบกรอง โดยค้นหาคุณสมบัติเฉพาะของกล่องจดหมาย Exchange Online

ในกรณีที่เราต้องการรับรายการคุณสมบัติที่มีอยู่ทั้งหมดของออบเจ็กต์ PowerShell เฉพาะ เช่น “กล่องจดหมาย Exchange Online” เราสามารถใช้ PowerShell cmdlets - Get-Member

ตัวอย่างเช่น หากต้องการรับรายการคุณสมบัติ (สมาชิก) ของคำสั่ง PowerShell - Get-Mailbox ที่เราสามารถ "สอบถาม" ได้ เราสามารถใช้คำสั่ง PowerShell Get-Member

ตัวอย่างของไวยากรณ์ PowerShell ที่เราใช้คือ:

รับข้อมูลเกี่ยวกับคุณสมบัติของวัตถุ PowerShell

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox * | Get-Member

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox * | Get-Member
TypeName: Deserialized.Microsoft.Exchange.Data.Directory.Management.Mailbox

Name                                   MemberType   Definition 
----                                   ----------   ---------- 
GetType                                Method       type GetType() 
ToString                               Method       string ToString(), string ToString(string format, System.IFormatProvider formatProvider), string IFormattable.ToString(string format, System.IFormatPr...
PSComputerName                         NoteProperty string PSComputerName=outlook.office365.com 
PSShowComputerName                     NoteProperty bool PSShowComputerName=False 
RunspaceId                             NoteProperty guid RunspaceId=35665d8e-40d6-4fb7-9f09-cc13bd844e99 
AcceptMessagesOnlyFrom                 Property     Deserialized.Microsoft.Exchange.Data.Directory.ADMultiValuedProperty`1[[Microsoft.Exchange.Data.Directory.ADObjectId, Microsoft.Exchange.Data.Director...
AcceptMessagesOnlyFromDLMembers        Property     Deserialized.Microsoft.Exchange.Data.Directory.ADMultiValuedProperty`1[[Microsoft.Exchange.Data.Directory.ADObjectId, Microsoft.Exchange.Data.Director...
AcceptMessagesOnlyFromSendersOrMembers Property     Deserialized.Microsoft.Exchange.Data.Directory.ADMultiValuedProperty`1[[Microsoft.Exchange.Data.Directory.ADObjectId, Microsoft.Exchange.Data.Director...
AccountDisabled                        Property     System.Boolean {get;set;} 
AddressBookPolicy                      Property     {get;set;}

พารามิเตอร์ PowerShell ที่มีประโยชน์สองตัวที่เราสามารถใช้ | นับ + กลุ่ม-วัตถุ

ในส่วนต่อไปนี้ ฉันต้องการตรวจสอบตัวเลือก PowerShell ที่มีประโยชน์สองตัวเลือกโดยย่อ ซึ่งสามารถนำไปใช้กับ "ผลลัพธ์" ที่เราได้รับจากเอาต์พุตคำสั่ง PowerShell

นับจำนวนกล่องจดหมาย Exchange Online

ตัวเลือก “นับ” ของ PowerShell ช่วยให้เราสามารถ “นับ” ผลลัพธ์ที่แสดงโดยคำสั่ง PowerShell

ในตัวอย่างต่อไปนี้ เราใช้พารามิเตอร์ PowerShell “นับ” เพื่อนับจำนวนกล่องจดหมาย Exchange Online ที่ “สร้าง” เมื่อเราใช้คำสั่ง PowerShell - Get-Mailbox

นับจำนวนกล่องจดหมาย Exchange Online

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited).Count

ตัวเลือก PowerShell “Group-Object” เปิดใช้งานเราตามชื่อที่แนะนำ ส่วน “Group” ผลลัพธ์ที่แสดงโดยคำสั่ง PowerShell

ในตัวอย่างต่อไปนี้ เราขอให้แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Public Folder Exchange Online ชนิดที่มีอยู่ทั้งหมด แต่เราขอให้ - จัดกลุ่มผลลัพธ์ของประเภทกล่องจดหมาย

แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ทั้งหมด | จัดกลุ่มตามกล่องจดหมาย

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Group-Object -Property RecipientTypeDetails

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\script> Get-Mailbox -ResultSize Unlimited | Group-Object -Property RecipientTypeDetails |ft

Count  Name               Group
-----  ----               -----
45     UserMailbox        {Adele, Alice Good, Alicia Keys...}
1      DiscoveryMailbox   {Discovery Search Mailbox}
9      SharedMailbox      {DMARC and Spoof E-mail, E-mail attachments Mailbox, Help desk support tickets, Shared-MB01...}
4      RoomMailbox        {Room03, room04, Room-MB01, Room-MB02}

แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange ประเภทใดประเภทหนึ่ง

Exchange Online มี "กล่องจดหมาย" หลายประเภท เช่น กล่องจดหมายของผู้ใช้ กล่องจดหมายของห้อง กล่องจดหมายที่ใช้ร่วมกัน และอื่นๆ อีกมากมาย

ในส่วนต่อไปนี้ เราจะดูตัวอย่างการใช้คำสั่ง PowerShell ซึ่งจะกรองผลการค้นหา ” โดยแสดงเฉพาะกล่องจดหมาย Exchange Online ประเภทใดประเภทหนึ่งเท่านั้น

กรองผลการค้นหา | แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online เท่านั้นซึ่งถือเป็น "กล่องจดหมายของผู้ใช้"

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.RecipientTypeDetails -eq “UserMailbox”} |FT Alias,RecipientTypeDetails

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox | Where {$_.RecipientTypeDetails -eq “UserMailbox”} |FT DisplayName,RecipientTypeDetails

DisplayName        RecipientTypeDetails
-----------        --------------------
Adele              UserMailbox 
Alicia Keys        UserMailbox 
Angelina Jolie     UserMailbox 
Aretha Franklin    UserMailbox 
Beatles the        UserMailbox 
Beyonce            UserMailbox 
Billy              UserMailbox 
Bob marley         UserMailbox

กรองผลการค้นหา | แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online เท่านั้นซึ่งถือเป็น "กล่องจดหมายของห้อง"

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.RecipientTypeDetails -eq “RoomMailbox”} | FT Alias,RecipientTypeDetails

กรองผลการค้นหา | แสดงข้อมูลเฉพาะเกี่ยวกับกล่องจดหมาย Exchange Online ที่ถือว่าเป็น "กล่องจดหมายที่แชร์"

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.RecipientTypeDetails -eq “SharedMailbox”} | FT Alias,RecipientTypeDetails

กรองผลการค้นหา | แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online เท่านั้นซึ่งถือเป็น "กล่องจดหมายของอุปกรณ์"

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.RecipientTypeDetails -eq “EquipmentMailbox”} | FT Alias,RecipientTypeDetails

หมายเหตุ - หากคุณต้องการดู “รายการทั้งหมด” ของกล่องจดหมาย Exchange Online ชนิดต่างๆ คุณสามารถใช้บทความต่อไปนี้ - การแจงนับ RecipientTypeDetails

แสดงข้อมูลเกี่ยวกับผู้รับ Exchange ประเภทใดประเภทหนึ่ง

Exchange Online มี "ผู้รับ" หลายประเภท ”

ในส่วนต่อไปนี้ เราจะตรวจสอบคำสั่ง PowerShell ซึ่งจะช่วยให้เรา "กรองผลการค้นหา" โดยการค้นหาผู้รับ Exchange Online ที่เฉพาะเจาะจง

แสดงข้อมูลเกี่ยวกับผู้รับ Exchange Online ทั้งหมด

ไวยากรณ์คำสั่ง PowerShell:

Get-Recipient | Sort RecipientType | Select DisplayName,RecipientType

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Recipient | Sort RecipientType | Select DisplayName,RecipientType 

DisplayName                  RecipientType 
-----------                  ------------- 
test-01                      DynamicDistributionGroup 
test-02                      DynamicDistributionGroup 
Test004                      MailUniversalDistributionGroup
Billy group                  MailUniversalDistributionGroup
Marketing                    MailUniversalDistributionGroup
ex2010                       MailUser 
test002                      PublicFolder 
test300                      PublicFolder 
Christina Aguilera           UserMailbox 
Chris Brown                  UserMailbox

แสดงข้อมูลเกี่ยวกับผู้ติดต่อ Exchange Online ทั้งหมด

ไวยากรณ์คำสั่ง PowerShell:

Get-Contact | FT Name,RecipientType

แสดงข้อมูลเกี่ยวกับรายชื่ออีเมล Exchange Online ทั้งหมด

ไวยากรณ์คำสั่ง PowerShell:

Get-MailContact | FT Name,RecipientType

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-MailContact | FT Name,RecipientType

Name                  RecipientType
----                  -------------
Allie Bellew          MailContact 
Chris Norred          MailContact 
Cindy White           MailContact

แสดงข้อมูลเกี่ยวกับผู้ใช้เมล Exchange Online ทั้งหมด

ในสภาพแวดล้อม Exchange Hybrid บัญชีผู้ใช้ On-Premise Active Directory ที่มีกล่องจดหมาย Exchange on-Premises จะถือเป็น Get-Mailuser

แสดงข้อมูลเกี่ยวกับผู้ใช้เมล Exchange Online ทั้งหมด

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailuser | FT Name,RecipientType

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailuser | FT Name,RecipientType

Name            RecipientType
----            -------------
ed200           MailUser 
ex2007          MailUser 
ex2010          MailUser 
ex2013          MailUser

แสดงข้อมูลเกี่ยวกับผู้ใช้ Exchange Online ทั้งหมด

ไวยากรณ์คำสั่ง PowerShell:

Get-User | Sort RecipientType | Select DisplayName,RecipientType

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-User | Sort RecipientType | Select DisplayName,RecipientType 

DisplayName                RecipientType
-----------                -------------
ex2007                     MailUser 
ex2013                     MailUser 
Selena Gomez               User 
John Armstrong             User 
Nicki Minaj                UserMailbox 
Justin Bieber              UserMailbox

แสดงข้อมูลเกี่ยวกับกลุ่ม Exchange Online

ในส่วนนี้ เราจะตรวจสอบคำสั่ง PowerShell ที่เราสามารถใช้ได้ - การแสดงข้อมูลเกี่ยวกับ Exchange Online Group และประเภทกลุ่มเฉพาะ เช่น - กลุ่มความปลอดภัย กลุ่มการแจกจ่าย และอื่นๆ

แสดงข้อมูลเกี่ยวกับประเภทกลุ่ม Exchange Online ที่มีอยู่ทั้งหมด

ไวยากรณ์คำสั่ง PowerShell:

Get-Group | Sort GroupType |Select Name,DisplayName,GroupType

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Group | Sort GroupType |Select Name,DisplayName,GroupType

Name                               DisplayName              GroupType 
----                               -----------              --------- 
inbal01                            inbal01                  Universal 
SharedMailboxes-group              SharedMailboxes-group    Universal 
office365_3fdb9f3bff               office365                Universal 
Support                            Support                  Universal, SecurityEnabled
info                               info                     Universal, SecurityEnabled
ATP-users                          ATP-users                Universal, SecurityEnabled
test03                             test03                   Universal, SecurityEnabled
Mobile Users                       Mobile Users             Universal, SecurityEnabled

แสดงข้อมูลเกี่ยวกับกลุ่ม Exchange Online ทั้งหมดที่ถือเป็น - กลุ่มการแจกจ่าย

ไวยากรณ์คำสั่ง PowerShell:

Get-DynamicDistributionGroup |FT Name,DisplayName,RecipientType

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-DynamicDistributionGroup |FT Name,DisplayName,RecipientType

Name             DisplayName   RecipientType 
----             -----------   ------------- 
sm-dy            sm-dy         DynamicDistributionGroup
test-01          test-01       DynamicDistributionGroup
test-07          test-07       DynamicDistributionGroup

แสดงข้อมูลเกี่ยวกับกลุ่ม Exchange Online ทั้งหมดที่ถือเป็น - กลุ่มแบบรวม

ไวยากรณ์คำสั่ง PowerShell:

Get-UnifiedGroup | FT Name,DisplayName,RecipientType,AccessType

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-UnifiedGroup | FT Name,DisplayName,RecipientType,AccessType

Name                               DisplayName            RecipientType                   AccessType
----                               -----------            -------------                   ----------
BOB-OFFICE365_5d7917ddd4           BOB-OFFICE365          MailUniversalDistributionGroup  Public 
Eyal-001-uni_7eca52b0ac            Eyal-001-uni           MailUniversalDistributionGroup  Private 
Eyal-002-uni-PUBLIC_3bf86941dd     Eyal-002-uni-PUBLIC    MailUniversalDistributionGroup  Public 
office365_3fdb9f3bff               office365              MailUniversalDistributionGroup  Public

แสดงข้อมูลเกี่ยวกับกลุ่ม Exchange Online ทั้งหมดที่ถือเป็น “กลุ่มความปลอดภัย”

ไวยากรณ์คำสั่ง PowerShell:

Get-Group | Where {$_.GroupType -like "*security*"} | FT Name,DisplayName,GroupType

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Group | Where {$_.GroupType -like "*security*"} | FT Name,DisplayName, GroupType

Name                                   DisplayName GroupType 
----                                   ----------- --------- 
Organization Management                Universal, SecurityEnabled
Recipient Management                   Universal, SecurityEnabled
View-Only Organization Management      Universal, SecurityEnabled
UM Management                          Universal, SecurityEnabled

แสดงข้อมูลเกี่ยวกับโฟลเดอร์สาธารณะของ Exchange Online

ในส่วนนี้ เราจะตรวจสอบคำสั่ง PowerShell ที่เราสามารถใช้เพื่อแสดงข้อมูล Exchange Online Public Folders

แสดงข้อมูลเกี่ยวกับโฟลเดอร์สาธารณะของ Exchange Online ทั้งหมด

คำสั่ง PowerShell - Get-MailPublicFolder แสดงเฉพาะข้อมูลเกี่ยวกับลำดับชั้นของโฟลเดอร์สาธารณะ "ระดับบนสุด"

ไวยากรณ์คำสั่ง PowerShell

Get-MailPublicFolder |FT Alias,DisplayName,RecipientType,EmailAddresses

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-MailPublicFolder |FT Alias,DisplayName,RecipientType

Alias       DisplayName      RecipientType
-----       -----------      -------------
root1       root             PublicFolder 
test002     test002          PublicFolder 
Jobs        Jobs             PublicFolder 
test300     test300          PublicFolder 
test400     test400          PublicFolder

แสดงข้อมูลเกี่ยวกับ Exchange Online Public Folders + “child Public Folders”

หากคุณต้องการแสดง “ลำดับชั้นโฟลเดอร์สาธารณะแบบเต็ม” ซึ่งรวมถึงโฟลเดอร์สาธารณะระดับบนสุด + “โฟลเดอร์สาธารณะย่อย” คุณสามารถใช้คำสั่ง PowerShell ต่อไปนี้ได้

ไวยากรณ์คำสั่ง PowerShell:

Get-PublicFolder “\” -Recurse

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-PublicFolder “\” -Recurse

Name                  Parent Path 
----                  ----------- 
IPM_SUBTREE 
Jobs                  \ 
Test200               \ 
test300               \ 
test400               \ 
layer-01-Test-400     \test400 
layer-02-test400      \test400\layer-01-Test-400
test500               \

แสดงกล่องจดหมาย Exchange Online ที่มีที่อยู่อีเมลพร้อมส่วนต่อท้ายชื่อโดเมนเฉพาะหรือนามแฝง

ค้นหาและแสดงกล่องจดหมาย Exchange Online ด้วยที่อยู่อีเมลที่มีชื่อโดเมนเฉพาะ

แสดงกล่องจดหมาย Exchange Online ทั้งหมดที่มีอีเมลพร้อมส่วนต่อท้ายชื่อโดเมนเฉพาะ

ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online พร้อมด้วยที่อยู่อีเมลที่มีชื่อโดเมน - o365info.com

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.EmailAddresses -like "*@o365info.com"} | FL DisplayName,EmailAddresses

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox | Where {$_.EmailAddresses -like "*@o365info.com"} | FL DisplayName,EmailAddresses

DisplayName    : Adele
EmailAddresses : {SPO:SPO_d5a46ab4-0922-4d9c-b2f3-3ddbff048a32@SPO_e95bcc9e-2927-483d-ad36-7311a7152bdd, smtp:Adele@o365info.com, SMTP:Adele@o365info2.onmicrosoft.com, SIP:Adele@o365info.com}

DisplayName    : Alicia Keys
EmailAddresses : {SIP:Alicia@o365info.com, smtp:Alicia@o365info2.onmicrosoft.com, SMTP:Alicia@o365info.com}

DisplayName    : Angelina Jolie
EmailAddresses : {SPO:SPO_5b27dc17-68b0-442e-804b-aee5b4df9847@SPO_e95bcc9e-2927-483d-ad36-7311a7152bdd, SIP:Angelina@o365info.com, SMTP:Angelina@o365info.com, smtp:Angelina@o365info2.onmicrosoft.com}

DisplayName    : Aretha Franklin
EmailAddresses : {SIP:Aretha@o365info.com, SMTP:Aretha@o365info.com, smtp:Aretha@o365info2.onmicrosoft.com}

ค้นหาและแสดงกล่องจดหมาย Exchange Online พร้อมด้วยที่อยู่อีเมลที่มีนามแฝงเฉพาะ

กล่องจดหมาย Exchange Online ต้องมีที่อยู่อีเมลเดียวที่กำหนดเป็นที่อยู่อีเมลหลัก การซื้อสามารถมีที่อยู่อีเมลเพิ่มเติมซึ่งกำหนดเป็น - ที่อยู่อีเมลพร็อกซี

เมื่อเราค้นหานามแฝงเฉพาะ (“ส่วนด้านซ้าย” ของที่อยู่อีเมล) เราสามารถกำหนดได้ว่าเราต้องการค้นหานามแฝงนี้เฉพาะในกรณีที่นามแฝงปรากฏบนที่อยู่อีเมลหลักหรือค้นหานามแฝงที่ ปรากฏในที่อยู่อีเมลของกล่องจดหมาย Exchange Online ทั้งหมด

แสดงกล่องจดหมาย Exchange Online ทั้งหมดที่ที่อยู่อีเมลหลักมีนามแฝงเฉพาะ

ในกรณีนี้ เราใช้พารามิเตอร์ PowerShell “ที่อยู่อีเมล ” เพื่อค้นหากล่องจดหมาย Exchange Online ซึ่งมีที่อยู่อีเมลหลักที่มีชื่อนามแฝง - Bob

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.primarysmtpaddress -like "bob*"} | FL DisplayName,EmailAddresses

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox | Where {$_.primarysmtpaddress -like "bob*"} | FL DisplayName,EmailAddresses

DisplayName    : Bob marley
EmailAddresses : {smtp:mrkt1@o365info.com, smtp:Albert@o365info.com, smtp:bobm@o365info.com, SIP:bob@o365info.com...}

แสดงกล่องจดหมาย Exchange Online ทั้งหมดซึ่งมีที่อยู่อีเมลที่มีนามแฝงเฉพาะ

ในกรณีนี้ เราใช้พารามิเตอร์ PowerShell “ที่อยู่อีเมล ” เพื่อค้นหากล่องจดหมาย Exchange Online ซึ่งมีที่อยู่อีเมล (ที่อยู่อีเมลพร็อกซีใดๆ) ที่มีชื่อนามแฝง - Bob

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.EmailAddresses -like "*bob*"} | FL DisplayName, EmailAddresses

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox | Where {$_.EmailAddresses -like "*bob*"} | FL DisplayName, EmailAddresses

DisplayName    : Bob marley
EmailAddresses : {smtp:mrkt1@o365info.com, smtp:Albert@o365info.com, smtp:bobm@o365info.com, SIP:bob@o365info.com...}

แสดงกล่องจดหมาย Exchange Online - กล่องจดหมาย Soft Deleted และกล่องจดหมายที่ไม่ได้ใช้งาน

ในส่วนนี้ เราจะตรวจสอบวิธีการใช้คำสั่ง PowerShell ที่จะจำกัดผลลัพธ์การค้นหาเฉพาะกล่องจดหมาย Exchange Online ที่ถือว่าเป็น - กล่องจดหมาย Exchange Online ที่ถูกลบแบบ Soft หรือกล่องจดหมาย Exchange Online ที่ไม่ได้ใช้งาน

แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ทั้งหมดที่ถือว่าเป็น - “กล่องจดหมายที่ถูกลบแบบนุ่มนวล”

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -SoftDeletedMailbox | FT Name,Alias,IsSoftDeletedByRemove,IsInactiveMailbox

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox -SoftDeletedMailbox | FT Name,Alias,IsSoftDeletedByRemove,IsInactiveMailbox

Name                        Alias      IsSoftDeletedByRemove IsInactiveMailbox
----                        -----      --------------------- -----------------
room001                     room001                     True             False
Katy Perry                  Katy                        True             False
michael jackson             michael                     True             False
James Brown_eb17e65f06      James                       True             False
Test100                     Test100                     True              True
test501                     test501                     True             False
test500                     test500                     True             False

แสดง Exchange Online ที่บัญชีผู้ใช้ (เจ้าของ) ถูกปิดใช้งาน

ไวยากรณ์คำสั่ง PowerShell:

Get-mailbox | Where {$_.AccountDisabled -eq $True} | FT Alias, UserPrincipalName,AccountDisabled

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-mailbox | Where {$_.AccountDisabled -eq $True} | FT Alias, UserPrincipalName,AccountDisabled 

Alias                                                           UserPrincipalName         AccountDisabled
-----                                                           -----------------         ---------------
Angelina                                                        Angelina@o365info.com     True
DiscoverySearchMailbox{D919BA05-46A6-415f-80AD-7E09334BB852}    DiscoverySearchMailbox{D919BA05-46A6-415f-80AD-7E09334BB852}@o365info.com True
DMARC-Spoof DMARC-Spoof@o365info.com                                                      True
hd                                                              hd@o365info.com True
Shared-MB01                                                     Shared-MB01@o365info.com  True
Shared-MB02                                                     Shared-MB02@o365info.com  True
Shared-MB03                                                     Shared-MB03@o365info.com  True

แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ทั้งหมดที่ถือว่าเป็น - “กล่องจดหมายที่ไม่ได้ใช้งาน”

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -InactiveMailboxOnly |FT Name,Alias,IsSoftDeletedByRemove,IsInactiveMailbox

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox -InactiveMailboxOnly |FT Name,Alias ,IsSoftDeletedByRemove,IsInactiveMailbox

Name         Alias     IsSoftDeletedByRemove IsInactiveMailbox
----         -----     --------------------- -----------------
Test100      Test100                    True              True

แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่กำหนดค่าด้วยโซนเวลาเฉพาะหรือรหัสภาษาเฉพาะ”

แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online | เขตเวลาเฉพาะ

ในตัวอย่างต่อไปนี้ เราขอให้กรองผลลัพธ์การค้นหาของกล่องจดหมาย Exchange Online ที่ตอบเงื่อนไขต่อไปนี้

แสดงกล่องจดหมาย Exchange พร้อมโซนเวลาที่ระบุ

ในตัวอย่างต่อไปนี้ เราต้องการรับข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ว่าโซนเวลาคือ=“เวลามาตรฐานแปซิฟิก ”

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Get-MailboxRegionalConfiguration | Where {$_.TimeZone -like "*Pacific Standard Time*"}

ตัวอย่างเอาต์พุตคอนโซล PowerShell

PS C:\> Get-Mailbox | Get-MailboxRegionalConfiguration | Where {$_.TimeZone -like "*Pacific Standard Time*"}

Identity       Language      DateFormat   TimeFormat     TimeZone 
--------       --------      ----------   ----------     -------- 
Demi           en-US         M/d/yyyy     h:mm tt        Pacific Standard Time 
Grace jones    en-US         M/d/yyyy     h:mm tt        Pacific Standard Time 
Rihanna        en-US         M/d/yyyy     h:mm tt        Pacific Standard Time

หมายเหตุ: เมื่อโปรแกรมรับส่งอีเมล OWA เลือกเขตเวลานี้ เขตเวลาจะปรากฏเป็น - (GMT-08:00) เวลาแปซิฟิก (สหรัฐอเมริกาและแคนาดา)

รับรายการค่าโซนเวลาที่มีอยู่

เคล็ดลับ - คุณสามารถ "ดึงข้อมูล" เกี่ยวกับค่าของโซนเวลาได้โดยใช้คำสั่ง PowerShell ต่อไปนี้:

Get-ChildItem "HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Time zones" | FL pschildname

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-ChildItem "HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Time zones" | FL pschildname

PSChildName : Afghanistan Standard Time

PSChildName : Alaskan Standard Time

PSChildName : Aleutian Standard Time

PSChildName : Altai Standard Time

PSChildName : Arab Standard Time

PSChildName : West Pacific Standard Time

PSChildName : Yakutsk Standard Time

คุณสามารถอ่านข้อมูลเพิ่มเติมเกี่ยวกับเรื่องของ - ค่าที่มีอยู่ของ "โซนเวลา" ในบทความต่อไปนี้: ค่าดัชนีโซนเวลาของ Microsoft

แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online | ภาษาเฉพาะ

ในตัวอย่างต่อไปนี้ เราขอให้กรองผลลัพธ์การค้นหาของกล่องจดหมาย Exchange Online ที่ตอบเงื่อนไขต่อไปนี้

แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ด้วยภาษาเฉพาะ

ในตัวอย่างต่อไปนี้ เราต้องการแสดงกล่องจดหมาย Exchange โดยการตั้งค่าภาษา=“en-GB ”

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Get-MailboxRegionalConfiguration | Where {$_.Language -like "*en-GB*"}

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox | Get-MailboxRegionalConfiguration | Where {$_.Language -like "*en-GB*"}

Identity             Language       DateFormat TimeFormat TimeZone 
--------             --------       ---------- ---------- -------- 
Angelina             en-GB          dd/MM/yyyy HH:mm      Israel Standard Time 
Ayelet_9acbcfb3dc    en-GB          dd/MM/yyyy HH:mm      Israel Standard Time 
George Michael       en-GB          dd/MM/yyyy HH:mm      Israel Standard Time 
onprem120            en-GB          dd/MM/yyyy HH:mm      Samoa Standard Time

แสดงกล่องจดหมาย Exchange Online พร้อมการระงับการดำเนินคดีหรือการระงับแบบแทนที่

ในส่วนนี้ เราจะตรวจสอบคำสั่ง PowerShell ที่เราสามารถใช้ค้นหากล่องจดหมาย Exchange Online เฉพาะ ซึ่งกำหนดค่าเป็นกล่องจดหมาย Exchange Online ด้วย Litigation Hold หรือ In-Place Hold

แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online พร้อม Litigation Hold

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.LitigationHoldEnabled -match "True"} | FT Alias , lit*

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox | Where {$_.LitigationHoldEnabled -match "True"} | FT Alias , lit*

Alias     LitigationHoldEnabled LitigationHoldDate       LitigationHoldOwner   LitigationHoldDuration
-----     --------------------- ------------------       -------------------   ----------------------
Adele     True                  11/23/2016 2:52:34 PM    George@o365info.com   6000.00:00:00 
bob       True                  12/11/2016 1:20:09 PM    George@o365info.com   6000.00:00:00 
Depeche   True                  2/3/2016 2:29:08 PM      Bradp@o365pilot.com   970.00:00:00

แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online พร้อม In-place Hold

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.InplaceHolds -ne $null} | FT Name,Alias,InPlaceHolds

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox | Where {$_.InplaceHolds -ne $null} | FT Name,Alias,InPlaceHolds

Name         Alias     InPlaceHolds 
----         -----     ------------ 
Angelina     Angelina  {0e9a2a3160464d49a656127020a7c11a} 
Eyal200      Eyal200   {UniHd0bcaafd-c284-4bae-b46f-ef049559d45a}

แสดงกล่องจดหมาย Exchange Online พร้อมเปิดใช้งานการตรวจสอบ

แสดงกล่องจดหมาย Exchange Online พร้อมเปิดใช้งานการตรวจสอบ

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.AuditEnabled -eq “$True”} | FL Name,Alias,Audit*

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox | Where {$_.AuditEnabled -eq “$True”} | Fl Name,Alias,Audit*

Name             : Adele
Alias            : Adele
AuditEnabled     : True
AuditLogAgeLimit : 90.00:00:00
AuditAdmin       : {Update, Copy, Move, MoveToDeletedItems...}
AuditDelegate    : {Update, Move, MoveToDeletedItems, SoftDelete...}
AuditOwner       : {Update, Move, MoveToDeletedItems, SoftDelete...}

Name             : bob
Alias            : bob
AuditEnabled     : True
AuditLogAgeLimit : 90.00:00:00
AuditAdmin       : {Update, Copy, Move, MoveToDeletedItems...}
AuditDelegate    : {Update, Move, MoveToDeletedItems, SoftDelete...}
AuditOwner       : {Update, Move, MoveToDeletedItems, SoftDelete...}

แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ซึ่งได้รับการกำหนดค่าให้ส่งต่ออีเมลไปยังที่อยู่อีเมลอื่นโดยอัตโนมัติ

“ตัวเลือกการส่งต่อ” สามารถกำหนดค่าให้ส่งต่ออีเมลแต่ละฉบับไปยังผู้รับรายอื่นโดยอัตโนมัติในตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้:

ตัวเลือกที่ 1 - การส่งต่อข้อความอีเมลไปยังผู้รับภายใน

การกำหนดค่าที่ข้อความอีเมลจะถูกส่งต่อไปยัง “ผู้รับ Office 365” รายอื่นโดยอัตโนมัติ (จากผู้เช่า Office 365 รายเดียวกัน)

ตัวเลือกนี้กำหนดโดยพารามิเตอร์ PowerShell - ForwardingAddress

ตัวเลือก 2 - การส่งต่อข้อความอีเมลไปยังผู้รับภายนอก

การกำหนดค่าที่ข้อความอีเมลจะถูกส่งต่อไปยังผู้รับอื่นโดยอัตโนมัติซึ่งถือเป็น "ผู้รับภายนอก" ซึ่งหมายถึงผู้รับที่มีที่อยู่อีเมลภายนอก

ตัวเลือกนี้กำหนดโดยพารามิเตอร์ PowerShell - ForwardingSmtpAddress

แสดงกล่องจดหมาย Exchange Online พร้อมเปิดใช้งานการส่งต่ออีเมลสำหรับที่อยู่อีเมลภายใน

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.ForwardingAddress -ne $null}| Select DisplayName,Alias,ForwardingAddress ,ForwardingSmtpAddress

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox | Where {$_.ForwardingAddress -ne $null}| Select DisplayName,Alias,ForwardingAddress ,ForwardingSmtpAddress

DisplayName              Alias         ForwardingAddress           ForwardingSmtpAddress 
-----------              -----         -----------------           --------------------- 
Angelina Jolie           Angelina      Eyal                        smtp:bradp@o365info.com
DMARC and Spoof E-mail   DMARC-Spoof   DMARC Report- dmarcian.com

แสดงกล่องจดหมาย Exchange Online พร้อมเปิดใช้งานการส่งต่ออีเมลสำหรับที่อยู่อีเมลภายนอก

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.ForwardingSmtpAddress -ne $null} | Select DisplayName,Alias,ForwardingAddress ,ForwardingSmtpAddress

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox | Where {$_.ForwardingSmtpAddress -ne $null} | Select DisplayName,Alias,ForwardingAddress ,ForwardingSmtpAddress

DisplayName       Alias      ForwardingAddress ForwardingSmtpAddress 
-----------       -----      ----------------- --------------------- 
Angelina Jolie    Angelina   Eyal              smtp:bradp@o365info.com 
Bob marley        bob                          smtp:edron789@gmail.com

แสดงกล่องจดหมาย Exchange Online ซึ่งไม่ปรากฏใน GAL

ตามค่าเริ่มต้น แต่ละกล่องจดหมาย Exchange Online จะปรากฏใน GAL (รายการที่อยู่สากล)

ในบางกรณี กล่องจดหมาย Exchange Online เฉพาะได้รับการกำหนดค่าให้ "ไม่ปรากฏ" (กล่องจดหมายที่ซ่อนจากรายการที่อยู่) ใน GAL

เพื่อให้สามารถรับรายการกล่องจดหมาย Exchange Online ดังกล่าวได้ เราสามารถใช้คำสั่ง PowerShell ต่อไปนี้

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.HiddenFromAddressListsEnabled -eq $True} | FT Name,Alias,HiddenFromAddressListsEnabled

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox | Where {$_.HiddenFromAddressListsEnabled -eq $True} | FT Name,Alias,HiddenFromAddressListsEnabled

Name                                                         Alias                                                        HiddenFromAddressListsEnabled
----                                                         ----- -----------------------------
DiscoverySearchMailbox{D919BA05-46A6-415f-80AD-7E09334BB852} DiscoverySearchMailbox{D919BA05-46A6-415f-80AD-7E09334BB852} True
Elvis                                                        Elvis                                                        True

แสดงกล่องจดหมาย Exchange Online พร้อมกล่องจดหมายเก็บถาวร

แสดงกล่องจดหมาย Exchange Online ที่มีการเก็บถาวร

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.ArchiveStatus -eq 'Active'} | FT Alias,RecipientTypeDetails,ArchiveStatus

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox | Where {$_.ArchiveStatus -eq 'Active'} | FT Alias,RecipientTypeDetails,ArchiveStatus

Alias   RecipientTypeDetails ArchiveStatus
-----   -------------------- -------------
Alicia  UserMailbox          Active 
bradp   UserMailbox          Active 
mord    UserMailbox          Active

แสดงรายการกล่องจดหมาย Exchange Online ที่ไม่มีการเก็บถาวร

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.ArchiveStatus -ne 'Active'} | FT Alias,RecipientTypeDetails,ArchiveStatus

หรือ

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox | Where {$_.ArchiveStatus -eq 'none'} | FT Alias,RecipientTypeDetails,ArchiveStatus

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-Mailbox | Where {$_.ArchiveStatus -ne 'Active'} | FT Alias,RecipientTypeDetails,ArchiveStatus

Alias      RecipientTypeDetails ArchiveStatus
-----      -------------------- -------------
Adele      UserMailbox          None 
admin      UserMailbox          None 
Angelina   UserMailbox          None 
Aretha     UserMailbox          None 
Beatles    UserMailbox          None

แสดงกล่องจดหมาย Exchange Online | กรองผลลัพธ์ตามคุณสมบัติเฉพาะหรือคุณสมบัติรวมกันของผู้ใช้ (เจ้าของกล่องจดหมาย)

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

“วัตถุ” ของ PowerShell ที่เราอ้างถึงคือ - ไม่ใช่กล่องจดหมาย Exchange Online แต่เป็นวัตถุที่อธิบายว่าเป็น “วัตถุผู้ใช้ Exchange ” (รับผู้ใช้) แทน

เมื่อใช้อินเทอร์เฟซการจัดการเว็บ Exchange Online คุณสมบัติผู้ใช้จะแสดงเป็นส่วนหนึ่งของคุณสมบัติกล่องจดหมาย Exchange Online

แม้ว่าคุณสมบัติผู้ใช้จะแสดงเป็น “ส่วนหนึ่งของกล่องจดหมาย Exchange Online” เพื่อให้สามารถกรองผลการค้นหาได้ เราจำเป็นต้องระบุ “เจ้าของกล่องจดหมาย Exchange Online” ซึ่งหมายถึงผู้ใช้ที่พิจารณาว่าเป็นเจ้าของกล่องจดหมาย Exchange Online และ ไม่ใช่กล่องจดหมาย Exchange Online เอง

แสดง "กล่องจดหมายของผู้ใช้ Exchange Online" ด้วยค่า "แผนก" เฉพาะ

แสดงรายการ "กล่องจดหมายของผู้ใช้ Exchange Online" ซึ่งตอบพารามิเตอร์ต่อไปนี้:

  • แผนกผู้ใช้กล่องจดหมายคือ - “การขาย ”

ไวยากรณ์คำสั่ง PowerShell:

Get-User | Where {$_.Department -eq “Sales”} |FT DisplayName,Department

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-User | Where {$_.Department -eq “Sales”} |FT DisplayName,Department

DisplayName           Department
-----------           ----------
Brad Pitt             Sales 
Christina Aguilera    Sales

แสดง "กล่องจดหมายของผู้ใช้ Exchange Online" พร้อมค่า "แผนก" เฉพาะ | แผนก X หรือแผนก Y

แสดงรายการ "กล่องจดหมายของผู้ใช้ Exchange Online" ซึ่งตอบพารามิเตอร์ต่อไปนี้:

  • แผนกผู้ใช้กล่องจดหมายคือ - “การขาย ” หรือแผนกผู้ใช้กล่องจดหมายคือ - “การตลาด ”

ไวยากรณ์คำสั่ง PowerShell:

Get-User | Where {($_.Department -eq “Sales”) -or ($_.Department -eq “Marketing”)} | Select DisplayName,Department | Sort Department

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-User | Where {($_.Department -eq “Sales”) -or ($_.Department -eq “Marketing”)} | Select DisplayName,Department | Sort Department

DisplayName           Department
-----------           ----------
Beatles the           Marketing 
Beyonce               Marketing 
Craig David           Marketing 
Brad Pitt             Sales 
Christina Aguilera    Sales

แสดง "กล่องจดหมายของผู้ใช้ Exchange Online" ด้วยค่า "แผนก" เฉพาะและค่า "ชื่อ" เฉพาะ

แสดงรายการ "กล่องจดหมายของผู้ใช้ Exchange Online" ซึ่งตอบพารามิเตอร์ต่อไปนี้:

  • ชื่อผู้ใช้กล่องจดหมายคือ - “ผู้จัดการ ”
  • แผนกกล่องจดหมายของผู้ใช้คือ - “การขาย ”

ไวยากรณ์คำสั่ง PowerShell:

Get-User | Where {($_.Department -eq “Sales”) -and ($_.Title -eq “Manager”)} | FT DisplayName,Department,Title

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-User | Where {($_.Department -eq “Sales”) -and ($_.Title -eq “Manager”)} | FT DisplayName,Department,Title

DisplayName    Department  Title 
-----------    ----------  ----- 
Brad Pitt      Sales       Manager

แสดง "กล่องจดหมายของผู้ใช้ Exchange Online" พร้อมค่า "แผนก" เฉพาะ | แผนก X หรือแผนก Y + ค่าหัวเรื่องเฉพาะ

แสดงรายการ "กล่องจดหมายของผู้ใช้ Exchange Online" ซึ่งตอบพารามิเตอร์ต่อไปนี้:

  • ชื่อผู้ใช้กล่องจดหมายคือ - “ผู้จัดการ ”
  • แผนกกล่องจดหมายของผู้ใช้คือ - “การขาย ” หรือแผนกกล่องจดหมายของผู้ใช้คือ - “การตลาด ”

ไวยากรณ์คำสั่ง PowerShell:

Get-User | Where {($_.Department -eq “Sales”) -or ($_.Department -eq “Marketing”) -and ($_.Title -eq “Manager”)} | FT DisplayName,Department,Title

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-User | Where {($_.Department -eq “Sales”) -and ($_.Title -eq “Manager”)} | FT DisplayName,Department,Title

DisplayName    Department  Title 
-----------    ----------  ----- 
Brad Pitt      Sales       Manager

แสดง "กล่องจดหมายของผู้ใช้ Exchange Online" พร้อมค่า "แผนก" เฉพาะ | ชื่อแผนกเริ่มต้นด้วยสตริงเฉพาะ

แสดงรายการ "กล่องจดหมายของผู้ใช้ Exchange Online" ซึ่งตอบพารามิเตอร์ต่อไปนี้:

  • แผนกผู้ใช้กล่องจดหมายเริ่มต้นด้วยคำว่า - “การขาย ”

ในตัวอย่างนี้ บริษัทมีแผนก 2-3 แผนกที่ขึ้นต้นด้วยคำว่า “sales ” เช่น: Sales, Sales USA เป็นต้น

ไวยากรณ์คำสั่ง PowerShell:

Get-User | Where {$_.Department -like “Sales*”} | FT DisplayName,Department

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-User | Where {$_.Department -like “Sales*”} | FT DisplayName,Department

DisplayName           Department
-----------           ----------
Aretha Franklin       Sales UK 
Brad Pitt             Sales 
Christina Aguilera    Sales 
Elvis Preslay         Sales USA

แสดง "กล่องจดหมายของผู้ใช้ Exchange Online" ว่าประเทศหรือภูมิภาคของพวกเขา "ไม่เท่ากัน" กับค่าประเทศหรือภูมิภาคที่ระบุ

ข้อกำหนดนี้ฟังดูน่าสับสนเล็กน้อย

ตัวอย่างของข้อกำหนดดังกล่าวอาจเป็นบริษัทที่มีไซต์หลายแห่งทั่วโลก
บริษัทจำเป็นต้องได้รับรายชื่อผู้ใช้ Exchange Online ที่อยู่ในสาขาของบริษัททั่วโลก นอกเหนือจากสาขาของบริษัทใน สหรัฐอเมริกา (ไม่ใช่ในสหรัฐอเมริกา)

แสดงรายการ "กล่องจดหมายของผู้ใช้ Exchange Online" ซึ่งตอบพารามิเตอร์ต่อไปนี้:

  • รัฐหรือจังหวัดของกล่องจดหมายของผู้ใช้คือ ไม่ใช่ สหรัฐอเมริกา

ไวยากรณ์คำสั่ง PowerShell:

Get-User | Where {$_.CountryOrRegion -ne “USA”} | FT DisplayName,CountryOrRegion

ตัวอย่างเอาต์พุตคอนโซล PowerShell:

PS C:\> Get-User | Where {$_.CountryOrRegion -ne “USA”} | FT DisplayName,CountryOrRegion

DisplayName        CountryOrRegion
-----------        ---------------
Aretha Franklin    Israel 
Beatles the        United Kingdom 
Billy              United Kingdom 
Bob marley         Israel 
Brad Pitt          Australia

แสดงกล่องจดหมาย Exchange Online | กรองผลลัพธ์ตาม “ข้อมูลวันที่ ”

ในส่วนต่อไปนี้ เราจะตรวจสอบวิธีสร้างแบบสอบถาม PowerShell ที่เกี่ยวข้องกับค่าของ “วันที่\เวลา ” ของวัตถุเฉพาะ

ในกรณีของเรา เราสนใจที่จะรับข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่มีคุณสมบัติเฉพาะซึ่งมีค่าเฉพาะเป็น "วันที่\เวลา ”

ฉันรู้ว่าคำจำกัดความนี้ดูไม่ชัดเจน ดังนั้นเราจะยกตัวอย่างที่เป็นรูปธรรมเพิ่มเติมตามลำดับข้างต้น

วัตถุกล่องจดหมาย Exchange Online ประกอบด้วยสอง "คุณสมบัติ" ที่มีค่าเป็น - "วันที่\เวลา ”

  1. ค่าแรกคือ "วันที่\เวลา" ที่สร้างกล่องจดหมาย Exchange Online ค่านี้กำหนดเป็น “WhenCreated. ”
  2. ค่าที่สองคือ “วันที่\เวลา” ซึ่งผู้ใช้กล่องจดหมาย Exchange (เจ้าของกล่องจดหมาย) เข้าถึง (เข้าสู่ระบบ) กล่องจดหมาย Exchange Online ของเขา ค่านี้กำหนดเป็น “LastLogonTime. ”

ในส่วนต่อไปนี้ ฉันต้องการเริ่มต้นด้วยคำอธิบายวิธีที่เราใช้ PowerShell ในการใช้งานแบบสอบถามที่เกี่ยวข้องกับค่า “วันที่\เวลา ” จากนั้นให้ตัวอย่างที่เฉพาะเจาะจงมากขึ้นของไวยากรณ์คำสั่ง PowerShell ที่เราใช้เพื่อรับข้อมูล เกี่ยวกับ “กรอบเวลา” ที่แตกต่างกัน เช่น - นาที ชั่วโมง เดือน ปี และอื่นๆ

ก่อนที่เราจะเริ่มต้นด้วยข้อมูลเกี่ยวกับไวยากรณ์คำสั่ง PowerShell เฉพาะ เรามาใช้เวลาสักครู่เกี่ยวกับแนวคิดของการใช้ PowerShell สำหรับแบบสอบถาม "เหตุการณ์" ที่เกิดขึ้นในช่วงเวลาที่กำหนด

ในการสร้าง PowerShell “แบบสอบถามตามเวลา” เราจะต้องกำหนดพารามิเตอร์ต่อไปนี้:

    1. วัตถุ
      วัตถุเฉพาะที่เราขอเพื่อรับข้อมูลเกี่ยวกับเขา วัตถุอาจเป็น “บัญชีผู้ใช้” “กล่องจดหมาย Exchange” และอื่นๆ
    2. คุณสมบัติเฉพาะของออบเจ็กต์
      ตัวอย่างเช่น ในสภาพแวดล้อม Office 365 เราสามารถขอข้อมูลเกี่ยวกับเวลาที่ระบุซึ่งมีการสร้างกล่องจดหมาย Exchange Online ได้
      ใน Office 365 คุณสมบัติที่เรา “อยู่” คือ - เมื่อสร้างแล้ว
    3. หน่วยเวลา
      PowerShell นำเสนอ "หน่วยเวลา" ที่หลากหลายที่เราสามารถใช้ได้ เช่น - มิลลิวินาที วินาที นาที ชั่วโมง วัน ปี และอื่นๆ
    4. ตัวดำเนินการ PowerShell
      นี่คือตัวดำเนินการ PowerShell เฉพาะที่เราใช้

    การใช้ตัวดำเนินการ PowerShell กับ "ช่วงเวลา"

    ในตัวอย่างของเรา ฉันจะสาธิตสถานการณ์ต่างๆ โดยใช้ตัวดำเนินการ PowerShell สองตัวต่อไปนี้:

    1. ge (มากกว่าหรือเท่ากับ)
      การใช้ตัวดำเนินการ “ge ” จะช่วยให้เราได้รับข้อมูลเกี่ยวกับ “เหตุการณ์ ” ที่ “เกิดขึ้น” จากจุดเวลาที่เฉพาะเจาะจงเป็นต้นไป
    2. le (น้อยกว่าหรือเท่ากับ)
      การใช้ตัวดำเนินการ “le ” จะช่วยให้เรารับข้อมูลเกี่ยวกับ “เหตุการณ์ ” ที่เกิดขึ้นก่อนจุดเวลาใดจุดหนึ่งโดยเฉพาะ

    เพื่อให้สามารถรวบรวมแนวคิดนี้ได้ ลองใช้ตัวอย่างต่อไปนี้:

    “จุดเริ่มต้น” คือคำสั่ง PowerShell - Get-Date ซึ่ง “ดึงข้อมูล” วันที่ปัจจุบัน (วัน เดือน ปี และอื่นๆ)

    ในตัวอย่างเฉพาะของเรา เราต้องการกำหนด "ช่วงเวลา" สองเดือน ก่อนวันที่ปัจจุบัน

    เพื่อกำหนดช่วงเวลานี้ เราใช้คำสั่ง PowerShell ต่อไปนี้:

    (รับ-วันที่).AddMonths(-2)

    เราใช้วันที่ปัจจุบันและลบออกจากวันที่ปัจจุบัน “2 เดือน ”

    ในตัวอย่างของเรา “เวลาปัจจุบัน ” คือ เดือน 8 (สิงหาคม) และวันคือ “15 ”

    ผลลัพธ์จากคำสั่ง PowerShell - (Get-Date).AddMonths(-2) จะรับรู้เป็นช่วงเวลาซึ่งครอบคลุมในเดือนถัดไป - เดือน 6 และเดือน 7 จนถึงเดือนปัจจุบัน (เดือน 8)

    หากเราต้องการให้แม่นยำยิ่งขึ้น คำสั่งจะกำหนดช่วงเวลาซึ่งเริ่มต้นในวันที่ 06/01 และ
    สิ้นสุดในวันที่ 08/15

    1. การใช้ตัวดำเนินการ ge (มากกว่าหรือเท่ากับ) + ช่วงเวลา

    เมื่อเราใช้ตัวดำเนินการ PowerShell ““ge ” ร่วมกับคำสั่ง -
    (Get-Date).AddMonths(-2) เราขอจาก PowerShell เพื่อแสดงข้อมูลเกี่ยวกับเหตุการณ์ที่เกิดขึ้นใน ช่วงเวลาต่อไปนี้: 06/01 ถึง 08/15

    “จุดช่วงเวลา” ที่กำหนดไว้ในลักษณะดังต่อไปนี้:

    “จุดเริ่มต้น ” ของช่วงเวลาคำนวณโดยนำวันที่ปัจจุบันมาลบสองเดือนจากวันที่ปัจจุบัน
    ในตัวอย่างของเรา จุดเริ่มต้นคือวันแรกของเดือน “6 . ”

    “สิ้นสุด” ของช่วงเวลาคือ “วันที่ปัจจุบัน ”
    ในตัวอย่างของเรา วันที่ปัจจุบันคือวันที่ 15 ของเดือน “8 ”

    หมายเหตุ - ค่าของ “วันที่ปัจจุบัน” เป็นเพียงค่าที่กำหนดเองที่เราใช้ในการสาธิต

    1. การใช้ตัวดำเนินการ le (น้อยกว่าหรือเท่ากับ) + ช่วงเวลา

    เมื่อเราใช้ตัวดำเนินการ PowerShell “le ” ร่วมกับคำสั่ง -
    (Get-Date).AddMonths(-2) เราขอจาก PowerShell เพื่อแสดงข้อมูลเกี่ยวกับ “เหตุการณ์ ” ที่เกิดขึ้น ก่อน ช่วงเวลาต่อไปนี้: 06/01

    ในตัวอย่างต่อไปนี้ เราต้องการรับข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่สร้างขึ้นในช่วงเวลาที่ระบุ

    1. “วัตถุ” ของ PowerShell คือ “กล่องจดหมาย Exchange Online ”
      (แสดงโดย PowerShell cmdlets - Get-Mailbox)
    2. คุณสมบัติบัญชีผู้ใช้เฉพาะที่เรา “สอบถาม” คือ - “WhenCreated. ”
    3. “หน่วยเวลา” ที่เราใช้คือ - “เดือน ”

    เพื่อให้สามารถรับรายการกล่องจดหมาย Exchange Online ที่ตอบคำถามเฉพาะของเรา เราใช้ PowerShell cmdlets (คำสั่ง) ชื่อ - “ที่ไหน” เพื่อกำหนดเงื่อนไข และกรองข้อมูลที่จำเป็น

    สถานการณ์ที่ 1 - ข้อมูลเกี่ยวกับกล่องจดหมาย Exchange ที่สร้างขึ้นในช่วงสองเดือนที่ผ่านมา

    ในสถานการณ์สมมตินี้ เราขอข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่ถูกสร้างขึ้นในช่วงสองเดือนที่ผ่านมา

    เพื่อกำหนด "ช่วงเวลา" ที่เริ่มต้นเมื่อสองเดือนที่แล้วและจนถึงวันที่ปัจจุบัน เราใช้ตัวดำเนินการ PowerShell ge (มากกว่าหรือเท่ากับ)

    สถานการณ์ที่ 2 - ข้อมูลเกี่ยวกับกล่องจดหมาย Exchange ที่สร้างขึ้นก่อนสองเดือนที่ผ่านมา

    ในสถานการณ์สมมตินี้ เราขอข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่ถูกสร้างขึ้นก่อนสองเดือนที่ผ่านมา

    ในการกำหนด "ช่วงเวลา" ที่เริ่มต้นเมื่อสองเดือนที่แล้วจากวันที่ปัจจุบันและสุดท้าย "ตลอดไป" เราใช้ตัวดำเนินการ PowerShell - le (น้อยกว่าหรือเท่ากับ)

    1#2 - รับข้อมูลเกี่ยวกับ “วันที่\เวลา ” ซึ่งสร้างกล่องจดหมาย Exchange Online

    ในส่วนต่อไปนี้ ฉันให้ตัวอย่างต่างๆ ของไวยากรณ์คำสั่ง PowerShell ที่จะช่วยให้เรากรองข้อมูลเกี่ยวกับ - รับข้อมูลเกี่ยวกับ “วันที่\เวลา ” ซึ่งกล่องจดหมาย Exchange Online ถูกสร้างขึ้นในช่วงเวลาที่กำหนด

    • ในส่วนแรกเราจะค้นหาข้อมูลเกี่ยวกับบัญชีผู้ใช้ Office 365 ที่สร้างขึ้นจากวันที่กำหนดในอดีตจนถึงปัจจุบัน
    • ในส่วนที่สอง เราจะค้นหาข้อมูลเกี่ยวกับบัญชีผู้ใช้ Office 365 ที่สร้างขึ้นก่อนช่วงวันที่ที่ระบุ

    สถานการณ์ที่ 1#2 - รับข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่สร้างขึ้นในช่วงเวลา X ล่าสุด

    “เงื่อนไข” ของ PowerShell ที่เรากำหนด โดยยึดตามตัวดำเนินการ PowerShell -ge (มากกว่าหรือเท่ากับ)

    ในตัวอย่างของเรา เราต้องการรับข้อมูลเกี่ยวกับกล่องจดหมาย Exchange ที่สร้างขึ้นจาก "ช่วงเวลา" ที่ระบุและหลังจากนั้น (มากกว่าหรือเท่ากับ)

    แสดงกล่องจดหมาย Exchange Online ที่สร้างขึ้นหลังจากวันที่ระบุ

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่สร้างขึ้นหลังจากวันต่อไปนี้ - 11/10/2016

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Where-Object {$_.WhenCreated -gt “11/10/2016”} | FT DisplayName,WhenCreated

    ตัวอย่างเอาต์พุตคอนโซล PowerShell:

    PS C:\> Get-Mailbox | Where-Object {$_.WhenCreated -gt “11/10/2016”} | FT DisplayName,WhenCreated
    
    DisplayName      WhenCreated 
    -----------      ----------- 
    Aretha Franklin  12/18/2016 9:01:58 AM 
    Bob marley       11/17/2016 7:41:32 PM 
    Demi Lovato      12/13/2016 1:23:08 PM 
    Rihanna          12/13/2016 1:22:21 PM 
    Shared-MB06      11/28/2016 3:31:46 PM 
    Shared-MB07      11/28/2016 3:32:30 PM

    แสดงกล่องจดหมาย Exchange Online ที่สร้างขึ้นในช่วง X นาทีที่ผ่านมา

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่สร้างขึ้นในช่วง 160 นาทีที่ผ่านมา

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Where {$_.WhenCreated -ge ((Get-Date).Addminutes(-160))} | FT DisplayName,WhenCreated

    แสดงกล่องจดหมาย Exchange Online ที่สร้างขึ้นในช่วง X ชั่วโมงที่ผ่านมา

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่สร้างขึ้นใน 40 ชั่วโมงที่ผ่านมา

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Where {$_.WhenCreated -ge ((Get-Date).AddHours(-40))} | FT DisplayName,WhenCreated

    แสดงกล่องจดหมาย Exchange Online ที่สร้างขึ้นในช่วง X วันที่ผ่านมา

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่สร้างขึ้นในช่วง 20 วันที่ผ่านมา

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Where {$_.WhenCreated -ge ((Get-Date).Adddays(-2))} | FT DisplayName,WhenCreated

    แสดงกล่องจดหมาย Exchange Online ที่สร้างขึ้นในช่วง X เดือนที่ผ่านมา

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่สร้างขึ้นในช่วง 2 เดือนที่ผ่านมา

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Where {$_.WhenCreated -ge ((Get-Date).AddMonths(-2))} | FT DisplayName,WhenCreated

    แสดงกล่องจดหมาย Exchange Online ที่สร้างขึ้นในเดือนที่ระบุ

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่สร้างขึ้นในเดือนสิงหาคม (8)

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Where {($_.WhenCreated).Month -eq 8} | FT DisplayName,WhenCreated

    แสดงกล่องจดหมาย Exchange Online ที่สร้างขึ้นในช่วง X ปีที่ผ่านมา

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่สร้างขึ้นในช่วง 2 ปีที่ผ่านมา

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Where {$_.WhenCreated -ge ((Get-Date).AddYears(-2))} | FT DisplayName,WhenCreated

    แสดงกล่องจดหมาย Exchange Online ที่สร้างขึ้นในปีที่ระบุ

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่สร้างขึ้นในระหว่างปี 2016

    สถานการณ์ที่ 2#2 - รับข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่สร้างขึ้นก่อนช่วงเวลาที่กำหนด

    ในสถานการณ์ปัจจุบัน เราจำเป็นต้องได้รับข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่ถูกสร้างขึ้น ก่อนช่วงเวลาที่ระบุ (เทียบกับสถานการณ์ก่อนหน้านี้ที่เราค้นหากล่องจดหมาย Exchange Online ที่สร้างขึ้นเหนือช่วงเวลาที่ระบุ ช่วงเวลา)

    ช่วงเวลาที่เรากำหนดคือ - สองเดือนนับจากวันที่ปัจจุบัน
    ข้อมูลที่เราต้องการได้รับคือ - ข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่สร้างขึ้นก่อนช่วงเวลานี้

    ตัวอย่างเช่น ในกรณีที่วันที่ปัจจุบันคือ 12/15/2016 ผลลัพธ์จะเป็น - กล่องจดหมาย Exchange Online ทั้งหมดที่สร้างขึ้นก่อนวันที่ - 10/01/2016 .

    เพื่อให้เป็นไปตามข้อกำหนดนี้ เราใช้ตัวดำเนินการ PowerShell -le (น้อยกว่าหรือเท่ากับ)

    แสดงกล่องจดหมาย Exchange Online ที่สร้างขึ้นก่อน X วันที่ผ่านมา

    ในตัวอย่างต่อไปนี้ เราต้องการรับข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่สร้างขึ้นก่อนช่วงเวลา “40 วัน ” หรือมากกว่านั้น

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Where {$_.WhenCreated -le ((Get-Date).Adddays(-40))} | FT DisplayName,WhenCreated

    แสดงกล่องจดหมาย Exchange Online ที่สร้างขึ้นก่อน X วันที่ผ่านมา

    ในตัวอย่างต่อไปนี้ เราต้องการรับข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่สร้างขึ้นก่อนช่วงเวลา “40 วัน ” หรือมากกว่านั้น

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Where {$_.WhenCreated -le ((Get-Date).Adddays(-40))} | FT DisplayName,WhenCreated

    แสดงกล่องจดหมาย Exchange Online ที่สร้างขึ้นก่อน X เดือนที่แล้ว

    ในตัวอย่างต่อไปนี้ เราต้องการรับข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่สร้างขึ้นก่อนช่วงเวลา “2 เดือน ” หรือมากกว่านั้น

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Where {$_.WhenCreated -le ((Get-Date).AddMonths(-2))} | FT DisplayName,WhenCreated

    2#2 - รับข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online - วันที่เข้าสู่ระบบล่าสุด

    ในส่วนต่อไปนี้ เราจะตรวจสอบวิธีสร้างแบบสอบถาม PowerShell ซึ่งจะแสดง "ผลการค้นหาที่กรอง" เกี่ยวกับ - วันที่เข้าสู่ระบบครั้งล่าสุดซึ่งผู้ใช้ Exchange เข้าถึงหรือไม่เข้าถึงกล่องจดหมาย Exchange Online ของเขา

    สถานการณ์ที่ 1#2 - แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่ผู้ใช้ "ใช้" ในเวลาที่กำหนด

    ในสถานการณ์สมมตินี้ เราต้องการค้นหาข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่ "ใช้" (เข้าถึง) โดย "เจ้าของ" ในช่วงเวลาที่กำหนด

    เพื่อให้สามารถตอบสนองข้อกำหนดนี้ได้ เราใช้ตัวดำเนินการ PowerShell “-ge ” (มากกว่าหรือเท่ากับ)

    ตัวอย่างเช่น แทนที่จะพูดว่า “ฉันต้องการค้นหากล่องจดหมาย Exchange Online ที่เจ้าของเข้าถึงในสัปดาห์ที่ผ่านมา” คำสั่ง PowerShell จะบอกว่า - แสดงกล่องจดหมาย Exchange Online ว่า “LastLogonTime” มากกว่าหรือเท่ากับ ( ge) ถึง “1 สัปดาห์ ”

    หมายเหตุ - หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับตัวดำเนินการ PowerShell ที่มีอยู่ โปรดอ่านบทความแรกในชุดบทความปัจจุบัน

    แสดงกล่องจดหมาย Exchange Online ซึ่งผู้ใช้เข้าถึง (ผู้ใช้เข้าสู่ระบบกล่องจดหมาย) ในช่วง X นาทีที่ผ่านมา

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่มีการเข้าถึงในช่วง 160 นาทีที่ผ่านมา

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Get-MailboxStatistics| Where-Object {$_.LastLogonTime -ge ((Get-Date).Addminutes(-160))} | FT DisplayName,LastLogonTime

    แสดงกล่องจดหมาย Exchange Online ซึ่งผู้ใช้เข้าถึง (ผู้ใช้เข้าสู่ระบบกล่องจดหมาย) ในช่วง X ชั่วโมงที่ผ่านมา

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่มีการเข้าถึงใน 40 ชั่วโมงที่ผ่านมา

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Get-MailboxStatistics| Where-Object {$_.LastLogonTime -ge ((Get-Date).AddHours(-40))}| FT DisplayName,LastLogonTime

    แสดงกล่องจดหมาย Exchange Online ซึ่งผู้ใช้เข้าถึง (ผู้ใช้เข้าสู่ระบบกล่องจดหมาย) ในช่วง X วันที่ผ่านมา

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่มีการเข้าถึงในช่วง 40 วันที่ผ่านมา

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Get-MailboxStatistics| Where-Object {$_.LastLogonTime -ge ((Get-Date).Adddays(-30))}| FT DisplayName,LastLogonTime

    แสดงกล่องจดหมาย Exchange Online ซึ่งผู้ใช้เข้าถึง (ผู้ใช้เข้าสู่ระบบกล่องจดหมาย) ในช่วง X เดือนที่ผ่านมา

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่มีการเข้าถึงในช่วง 2 เดือนที่ผ่านมา

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Get-MailboxStatistics| Where-Object {$_.LastLogonTime -ge ((Get-Date).AddMonths(-2))}| FT DisplayName,LastLogonTime

    แสดงกล่องจดหมาย Exchange Online ซึ่งผู้ใช้เข้าถึง (ผู้ใช้เข้าสู่ระบบกล่องจดหมาย) ในเดือนที่ระบุ

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่เข้าถึงได้ในเดือนสิงหาคม (8)

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Get-MailboxStatistics| Where-Object {($_.LastLogonTime).Month -eq 8}| FT DisplayName,LastLogonTime

    แสดงกล่องจดหมาย Exchange Online ซึ่งผู้ใช้เข้าถึง (ผู้ใช้เข้าสู่ระบบกล่องจดหมาย) ในช่วง X ปีที่ผ่านมา

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่มีการเข้าถึงในช่วง 2 ปีที่ผ่านมา

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Get-MailboxStatistics| Where-Object {$_.LastLogonTime -ge ((Get-Date). AddYears(-2))}| FT DisplayName,LastLogonTime

    แสดงกล่องจดหมาย Exchange Online ซึ่งผู้ใช้เข้าถึง (ผู้ใช้เข้าสู่ระบบกล่องจดหมาย) ในปีที่ระบุ

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่เข้าถึงได้ในปี ปี 2016

    ไวยากรณ์คำสั่ง PowerShell

    Get-Mailbox | Get-MailboxStatistics| Where-Object {($_.LastLogonTime).Year -eq 2016}| FT DisplayName,LastLogonTime -Autosize

    สถานการณ์ที่ 2#2 - แสดงข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่ผู้ใช้ "ไม่ได้ใช้" ในช่วงเวลาที่กำหนด

    ในสถานการณ์สมมตินี้ เราต้องการค้นหาข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่ ไม่ได้ "ใช้" (เข้าถึง) โดย "เจ้าของ" ในช่วงเวลาที่กำหนด

    เพื่อให้สามารถตอบสนองข้อกำหนดนี้ได้ เราใช้ตัวดำเนินการ PowerShell “-le ” (น้อยกว่าหรือเท่ากับ)

    ตัวอย่างเช่น แทนที่จะพูดว่า “ฉันต้องการค้นหากล่องจดหมาย Exchange Online ที่ เจ้าของไม่สามารถเข้าถึงได้ ในสัปดาห์ที่ผ่านมา ” คำสั่ง PowerShell จะบอกว่า - แสดงกล่องจดหมาย Exchange Online ว่า “ LastLogonTime ” น้อยกว่าหรือเท่ากับ (le) ถึง “1 สัปดาห์ ”

    หมายเหตุ - หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับตัวดำเนินการ PowerShell ที่มีอยู่ โปรดอ่านบทความแรกในชุดบทความปัจจุบัน

    ข้อมูลประเภทนี้มีประโยชน์ในการตรวจสอบว่าคุณต้องชำระค่าลิขสิทธิ์ที่ไม่ได้ใช้งานหรือไม่!

    แสดงกล่องจดหมาย Exchange Online ซึ่งผู้ใช้ไม่ได้เข้าถึง (ผู้ใช้ไม่ได้เข้าสู่ระบบกล่องจดหมาย) ในช่วง X เดือนที่ผ่านมา

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่ไม่เข้าถึงในช่วง 2 เดือนที่ผ่านมา

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Get-MailboxStatistics| Where-Object {$_.LastLogonTime -le ((Get-Date).AddMonths(-2))}| FT DisplayName,LastLogonTime -Autosize

    แสดงกล่องจดหมาย Exchange Online ซึ่งผู้ใช้เข้าถึง (ผู้ใช้เข้าสู่ระบบกล่องจดหมาย) ในช่วง X ปีที่ผ่านมา

    ในตัวอย่างต่อไปนี้ เราค้นหากล่องจดหมาย Exchange Online ที่มีการเข้าถึงในช่วง 2 ปีที่ผ่านมา

    ไวยากรณ์คำสั่ง PowerShell:

    Get-Mailbox | Get-MailboxStatistics| Where-Object {$_.LastLogonTime -ge ((Get-Date). AddYears(-2))}| FT DisplayName,LastLogonTime -Autosize

      บทความที่เกี่ยวข้อง