ใช้ PowerShell เพื่อดูวัตถุ Exchange Online | ตอนที่ 3#3
เป้าหมายหลักของฉันในบทความปัจจุบันคือการทบทวนวิธีที่เราใช้ PowerShell เป็นเครื่องมือสำหรับการนำ "การค้นหาที่กรอง" ไปใช้ในสภาพแวดล้อมที่ใช้ Exchange Online
ในบางสถานการณ์ เราสามารถใช้ PowerShell cmdlets ที่สร้างขึ้นซึ่งช่วยให้เราสามารถสอบถาม Exchange Online เกี่ยวกับผู้รับประเภทใดประเภทหนึ่งได้
ตัวเลือกหลักที่เราตรวจสอบในบทความนี้สำหรับการนำคำค้นหาที่กรองไปใช้คือคำสั่ง PowerShell
ใช้ PowerShell เพื่อดูวัตถุ Office 365 และ Exchange Online | บทความชุด
ชุดบทความประกอบด้วยบทความต่อไปนี้:
- การใช้ PowerShell “คำสั่ง Where” เพื่อสร้างการค้นหาแบบกรอง | วัตถุ Office 365 และ Exchange Online
- ใช้ PowerShell เพื่อดูวัตถุ Office 365
- ใช้ 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 ประกอบด้วยสอง "คุณสมบัติ" ที่มีค่าเป็น - "วันที่\เวลา ”
- ค่าแรกคือ "วันที่\เวลา" ที่สร้างกล่องจดหมาย Exchange Online ค่านี้กำหนดเป็น “WhenCreated. ”
- ค่าที่สองคือ “วันที่\เวลา” ซึ่งผู้ใช้กล่องจดหมาย Exchange (เจ้าของกล่องจดหมาย) เข้าถึง (เข้าสู่ระบบ) กล่องจดหมาย Exchange Online ของเขา ค่านี้กำหนดเป็น “LastLogonTime. ”
ในส่วนต่อไปนี้ ฉันต้องการเริ่มต้นด้วยคำอธิบายวิธีที่เราใช้ PowerShell ในการใช้งานแบบสอบถามที่เกี่ยวข้องกับค่า “วันที่\เวลา ” จากนั้นให้ตัวอย่างที่เฉพาะเจาะจงมากขึ้นของไวยากรณ์คำสั่ง PowerShell ที่เราใช้เพื่อรับข้อมูล เกี่ยวกับ “กรอบเวลา” ที่แตกต่างกัน เช่น - นาที ชั่วโมง เดือน ปี และอื่นๆ
ก่อนที่เราจะเริ่มต้นด้วยข้อมูลเกี่ยวกับไวยากรณ์คำสั่ง PowerShell เฉพาะ เรามาใช้เวลาสักครู่เกี่ยวกับแนวคิดของการใช้ PowerShell สำหรับแบบสอบถาม "เหตุการณ์" ที่เกิดขึ้นในช่วงเวลาที่กำหนด
ในการสร้าง PowerShell “แบบสอบถามตามเวลา” เราจะต้องกำหนดพารามิเตอร์ต่อไปนี้:
- วัตถุ
วัตถุเฉพาะที่เราขอเพื่อรับข้อมูลเกี่ยวกับเขา วัตถุอาจเป็น “บัญชีผู้ใช้” “กล่องจดหมาย Exchange” และอื่นๆ - คุณสมบัติเฉพาะของออบเจ็กต์
ตัวอย่างเช่น ในสภาพแวดล้อม Office 365 เราสามารถขอข้อมูลเกี่ยวกับเวลาที่ระบุซึ่งมีการสร้างกล่องจดหมาย Exchange Online ได้
ใน Office 365 คุณสมบัติที่เรา “อยู่” คือ - เมื่อสร้างแล้ว - หน่วยเวลา
PowerShell นำเสนอ "หน่วยเวลา" ที่หลากหลายที่เราสามารถใช้ได้ เช่น - มิลลิวินาที วินาที นาที ชั่วโมง วัน ปี และอื่นๆ - ตัวดำเนินการ PowerShell
นี่คือตัวดำเนินการ PowerShell เฉพาะที่เราใช้
การใช้ตัวดำเนินการ PowerShell กับ "ช่วงเวลา"
ในตัวอย่างของเรา ฉันจะสาธิตสถานการณ์ต่างๆ โดยใช้ตัวดำเนินการ PowerShell สองตัวต่อไปนี้:
- ge (มากกว่าหรือเท่ากับ)
การใช้ตัวดำเนินการ “ge ” จะช่วยให้เราได้รับข้อมูลเกี่ยวกับ “เหตุการณ์ ” ที่ “เกิดขึ้น” จากจุดเวลาที่เฉพาะเจาะจงเป็นต้นไป - le (น้อยกว่าหรือเท่ากับ)
การใช้ตัวดำเนินการ “le ” จะช่วยให้เรารับข้อมูลเกี่ยวกับ “เหตุการณ์ ” ที่เกิดขึ้นก่อนจุดเวลาใดจุดหนึ่งโดยเฉพาะ
เพื่อให้สามารถรวบรวมแนวคิดนี้ได้ ลองใช้ตัวอย่างต่อไปนี้:
“จุดเริ่มต้น” คือคำสั่ง PowerShell - Get-Date ซึ่ง “ดึงข้อมูล” วันที่ปัจจุบัน (วัน เดือน ปี และอื่นๆ)
ในตัวอย่างเฉพาะของเรา เราต้องการกำหนด "ช่วงเวลา" สองเดือน ก่อนวันที่ปัจจุบัน
เพื่อกำหนดช่วงเวลานี้ เราใช้คำสั่ง PowerShell ต่อไปนี้:
(รับ-วันที่).AddMonths(-2)
เราใช้วันที่ปัจจุบันและลบออกจากวันที่ปัจจุบัน “2 เดือน ”
ในตัวอย่างของเรา “เวลาปัจจุบัน ” คือ เดือน 8 (สิงหาคม) และวันคือ “15 ”
ผลลัพธ์จากคำสั่ง PowerShell - (Get-Date).AddMonths(-2) จะรับรู้เป็นช่วงเวลาซึ่งครอบคลุมในเดือนถัดไป - เดือน 6 และเดือน 7 จนถึงเดือนปัจจุบัน (เดือน 8)
หากเราต้องการให้แม่นยำยิ่งขึ้น คำสั่งจะกำหนดช่วงเวลาซึ่งเริ่มต้นในวันที่ 06/01 และ
สิ้นสุดในวันที่ 08/15
- การใช้ตัวดำเนินการ ge (มากกว่าหรือเท่ากับ) + ช่วงเวลา
เมื่อเราใช้ตัวดำเนินการ PowerShell ““ge ” ร่วมกับคำสั่ง -
(Get-Date).AddMonths(-2) เราขอจาก PowerShell เพื่อแสดงข้อมูลเกี่ยวกับเหตุการณ์ที่เกิดขึ้นใน ช่วงเวลาต่อไปนี้: 06/01 ถึง 08/15
“จุดช่วงเวลา” ที่กำหนดไว้ในลักษณะดังต่อไปนี้:
“จุดเริ่มต้น ” ของช่วงเวลาคำนวณโดยนำวันที่ปัจจุบันมาลบสองเดือนจากวันที่ปัจจุบัน
ในตัวอย่างของเรา จุดเริ่มต้นคือวันแรกของเดือน “6 . ”
“สิ้นสุด” ของช่วงเวลาคือ “วันที่ปัจจุบัน ”
ในตัวอย่างของเรา วันที่ปัจจุบันคือวันที่ 15 ของเดือน “8 ”
หมายเหตุ - ค่าของ “วันที่ปัจจุบัน” เป็นเพียงค่าที่กำหนดเองที่เราใช้ในการสาธิต
- การใช้ตัวดำเนินการ le (น้อยกว่าหรือเท่ากับ) + ช่วงเวลา
เมื่อเราใช้ตัวดำเนินการ PowerShell “le ” ร่วมกับคำสั่ง -
(Get-Date).AddMonths(-2) เราขอจาก PowerShell เพื่อแสดงข้อมูลเกี่ยวกับ “เหตุการณ์ ” ที่เกิดขึ้น ก่อน ช่วงเวลาต่อไปนี้: 06/01
ในตัวอย่างต่อไปนี้ เราต้องการรับข้อมูลเกี่ยวกับกล่องจดหมาย Exchange Online ที่สร้างขึ้นในช่วงเวลาที่ระบุ
- “วัตถุ” ของ PowerShell คือ “กล่องจดหมาย Exchange Online ”
(แสดงโดย PowerShell cmdlets - Get-Mailbox) - คุณสมบัติบัญชีผู้ใช้เฉพาะที่เรา “สอบถาม” คือ - “WhenCreated. ”
- “หน่วยเวลา” ที่เราใช้คือ - “เดือน ”
เพื่อให้สามารถรับรายการกล่องจดหมาย 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,WhenCreated2#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







