使用 PowerShell 查看 Exchange Online 对象 |第 3 部分#3
我在当前文章中的主要目标是回顾我们使用 PowerShell 作为在基于 Exchange Online 的环境中实现“筛选搜索”的工具的方式。
在某些情况下,我们可以使用内置的 PowerShell cmdlet,使我们能够查询 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 邮箱,例如 - 具有存档的邮箱、具有诉讼保留的邮箱、具有就地保留的邮箱、启用了审核的邮箱;软删除 Exchange Online 邮箱、非活动 Exchange Online 邮箱等。
- 示例 5 - 创建 PowerShell“筛选搜索”,查找 Exchange Online 邮箱用户的“属性”,例如 - 来自特定部门的用户、具有特定头衔、特定州或省份的用户等。
示例 6 - 创建 PowerShell“筛选搜索”,查找 Exchange 邮箱“日期信息”。例如:
- 在特定时间(分钟、天、月和年)创建的 Exchange Online 邮箱。
- 用户(邮箱所有者)在特定时间(分钟、天、月和年)访问的 Exchange Online 邮箱。
使用 Get-Mailbox 命令显示有关 Exchange 邮箱的信息
查看所有 Exchange Online 邮箱与默认有限数量的邮箱
Exchange 包括多种类型的邮箱,例如用户邮箱、共享邮箱、房间邮箱等。通过使用 PowerShell 命令 - Get-Mailbox,我们要求显示所有类型的 Exchange 邮箱。
默认情况下,PowerShell 命令 Get-Mailbox 的结果仅显示“前 1,000 个 Exchange 邮箱”。 ”
Get-Mailbox显示有关所有不同类型的 Exchange Online 邮箱的信息 |显示的 Exchange Online 邮箱数量没有“限制”。
如果我们想要“扩展”默认的“1,000 个结果限制”或准确指示我们想要显示的 Exchange Online 邮箱数量,我们可以使用参数 ResultSize。
ResultSize 参数指定要返回的最大结果数。如果要返回与查询匹配的所有请求,请使用unlimited 作为该参数的值。
Get-Mailbox -ResultSize Unlimited如何知道在处理 Exchange Online 邮箱对象时可以使用哪个筛选器参数?
在下面的文章中,我们将回顾创建筛选搜索的不同示例,以查找 Exchange Online 邮箱的特定属性。
如果我们想要获取特定 PowerShell 对象(例如“Exchange Online 邮箱”)的所有可用属性的列表,我们可以使用 PowerShell cmdlet - Get-Member
例如,要获取我们可以“查询”的 PowerShell 命令 Get-Mailbox 的属性(成员)列表,我们可以使用 PowerShell 命令 Get-Member。
我们使用的 PowerShell 语法的示例是:
获取有关 PowerShell 对象属性的信息
PowerShell命令语法:
Get-Mailbox * | Get-MemberPowerShell 控制台输出示例:
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 参数“count”来计算使用 PowerShell 命令 Get-Mailbox 时“创建”的 Exchange Online 邮箱的数量。
计算 Exchange Online 邮箱的数量
PowerShell命令语法:
Get-Mailbox -ResultSize Unlimited).CountPowerShell的“Group-Object”选项,顾名思义,使我们能够对PowerShell命令显示的结果进行“分组”。
在以下示例中,我们要求显示有关所有现有类型公共文件夹 Exchange Online 邮箱的信息,但此外,我们要求 - 对邮箱类型的结果进行分组。
显示有关所有 Exchange Online 邮箱的信息 |按邮箱分组
PowerShell命令语法:
Get-Mailbox -ResultSize Unlimited | Group-Object -Property RecipientTypeDetailsPowerShell 控制台输出示例:
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,RecipientTypeDetailsPowerShell 控制台输出示例:
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,RecipientTypePowerShell 控制台输出示例:
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,RecipientTypePowerShell 控制台输出示例:
PS C:\> Get-MailContact | FT Name,RecipientType
Name RecipientType
---- -------------
Allie Bellew MailContact
Chris Norred MailContact
Cindy White MailContact显示有关所有 Exchange Online 邮件用户的信息
在 Exchange 混合环境中,拥有 Exchange 本地邮箱的本地 Active Directory 用户帐户将被视为 Get-Mailuser。
显示有关所有 Exchange Online 邮件用户的信息
PowerShell命令语法:
Get-Mailuser | FT Name,RecipientTypePowerShell 控制台输出示例:
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,RecipientTypePowerShell 控制台输出示例:
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 组的信息
在本节中,我们将回顾可用于显示有关 Exchange Online 组和特定组类型(例如安全组、通讯组等)的信息的 PowerShell 命令。
显示有关所有可用 Exchange Online 组类型的信息
PowerShell命令语法:
Get-Group | Sort GroupType |Select Name,DisplayName,GroupTypePowerShell 控制台输出示例:
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,RecipientTypePowerShell 控制台输出示例:
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,AccessTypePowerShell 控制台输出示例:
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,GroupTypePowerShell 控制台输出示例:
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 公用文件夹的信息
在本节中,我们将回顾可用于显示 Exchange Online 公用文件夹信息的 PowerShell 命令。
显示有关所有 Exchange Online 公用文件夹的信息
PowerShell 命令 - Get-MailPublicFolder,仅显示有关“顶级”公用文件夹层次结构的信息。
PowerShell 命令语法
Get-MailPublicFolder |FT Alias,DisplayName,RecipientType,EmailAddressesPowerShell 控制台输出示例:
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 公用文件夹 +“子公用文件夹”的信息
如果要显示包括顶级公共文件夹+“子公共文件夹”的“完整公共文件夹层次结构”,可以使用以下 PowerShell 命令。
PowerShell命令语法:
Get-PublicFolder “\” -RecursePowerShell 控制台输出示例:
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,EmailAddressesPowerShell 控制台输出示例:
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 邮箱
在本例中,我们使用 PowerShell 参数“Emailaddresses”查找 Exchange Online 邮箱,该邮箱的主电子邮件地址包含别名 - Bob。
PowerShell命令语法:
Get-Mailbox | Where {$_.primarysmtpaddress -like "bob*"} | FL DisplayName,EmailAddressesPowerShell 控制台输出示例:
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 参数“Emailaddresses”查找 Exchange Online 邮箱,该邮箱的电子邮件地址(任何代理电子邮件地址)包含别名 - Bob
PowerShell命令语法:
Get-Mailbox | Where {$_.EmailAddresses -like "*bob*"} | FL DisplayName, EmailAddressesPowerShell 控制台输出示例:
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 邮箱 - 软删除邮箱和非活动邮箱
在本节中,我们将回顾如何使用 PowerShell 命令将搜索结果限制为仅被视为软删除的 Exchange Online 邮箱或非活动 Exchange Online 邮箱的 Exchange Online 邮箱。
显示有关所有被视为“软删除邮箱”的 Exchange Online 邮箱的信息
PowerShell命令语法:
Get-Mailbox -SoftDeletedMailbox | FT Name,Alias,IsSoftDeletedByRemove,IsInactiveMailboxPowerShell 控制台输出示例:
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,AccountDisabledPowerShell 控制台输出示例:
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,IsInactiveMailboxPowerShell 控制台输出示例:
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 pschildnamePowerShell 控制台输出示例:
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 邮箱
在本部分中,我们将回顾可用于搜索特定 Exchange Online 邮箱的 PowerShell 命令,该邮箱配置为具有诉讼保留或就地保留的 Exchange Online 邮箱。
显示有关带有诉讼保留的 Exchange Online 邮箱的信息
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 邮箱的信息
PowerShell命令语法:
Get-Mailbox | Where {$_.InplaceHolds -ne $null} | FT Name,Alias,InPlaceHoldsPowerShell 控制台输出示例:
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 ,ForwardingSmtpAddressPowerShell 控制台输出示例:
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 ,ForwardingSmtpAddressPowerShell 控制台输出示例:
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 邮箱被配置为“不显示”(地址列表中隐藏的邮箱)。
为了能够获取此类 Exchange Online 邮箱的列表,我们可以使用以下 PowerShell 命令。
PowerShell命令语法:
Get-Mailbox | Where {$_.HiddenFromAddressListsEnabled -eq $True} | FT Name,Alias,HiddenFromAddressListsEnabledPowerShell 控制台输出示例:
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,ArchiveStatusPowerShell 控制台输出示例:
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,ArchiveStatusPowerShell 控制台输出示例:
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 用户对象”(Get-User) 的对象
使用 Exchange Online Web 管理界面时,用户属性显示为 Exchange Online 邮箱属性的一部分。
尽管用户属性显示为“Exchange Online 邮箱的一部分”,但为了能够筛选搜索结果,我们需要解决“Exchange Online 邮箱所有者”的含义 - 被视为 Exchange Online 邮箱所有者的用户,以及不是 Exchange Online 邮箱本身。
显示具有特定“部门”值的“Exchange Online 用户邮箱”
显示“Exchange Online 用户邮箱”列表,该列表回答以下参数:
- 邮箱用户部门是 - “销售”
PowerShell命令语法:
Get-User | Where {$_.Department -eq “Sales”} |FT DisplayName,DepartmentPowerShell 控制台输出示例:
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 DepartmentPowerShell 控制台输出示例:
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,TitlePowerShell 控制台输出示例:
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,TitlePowerShell 控制台输出示例:
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 用户邮箱”列表,该列表回答以下参数:
- 邮箱用户部门以单词开头 - “销售”
在此示例中,公司有几个以“销售”一词开头的部门,例如:销售、美国销售等。
PowerShell命令语法:
Get-User | Where {$_.Department -like “Sales*”} | FT DisplayName,DepartmentPowerShell 控制台输出示例:
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,CountryOrRegionPowerShell 控制台输出示例:
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 ” 。 ”
时间范围的“结束”是“当前日期”。 ”
在我们的示例中,当前日期是“8”月的15天。 ”
注意 - “当前日期”的值只是我们用于演示的任意值。
- 使用 le(小于或等于)运算符 + 时间范围。
当我们使用 PowerShell“le ”运算符并结合命令 -
(Get-Date).AddMonths(-2) 时,我们要求 PowerShell 向我们显示有关发生的“事件”的信息 < 以下时间范围之前:06/01。
在以下示例中,我们希望获取有关在特定时间范围内创建的 Exchange Online 邮箱的信息。
- PowerShell“对象”是“Exchange Online 邮箱”。 ”
(由 PowerShell cmdlet - Get-Mailbox 表示)。 - 我们“查询”的特定用户帐户属性是 - “WhenCreated”。 ”
- 我们使用的“时间单位”是 -“月”。 ”
为了能够获取回答我们特定查询的 Exchange Online 邮箱列表,我们使用名为“Where,”的 PowerShell cmdlet(语句)来定义条件,并筛选所需的信息。
场景 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 - 获取有关在过去 X 个时间范围内创建的 Exchange Online 邮箱的信息。
我们基于 PowerShell 运算符 -ge(大于或等于)定义的 PowerShell“条件”
在我们的示例中,我们希望获取有关从指定“时间点”及其后(大于或等于)创建的 Exchange 邮箱的信息。
显示在特定日期之后创建的 Exchange Online 邮箱
在以下示例中,我们查找在以下日期(2016 年 10 月 11 日)之后创建的 Exchange Online 邮箱
PowerShell命令语法:
Get-Mailbox | Where-Object {$_.WhenCreated -gt “11/10/2016”} | FT DisplayName,WhenCreatedPowerShell 控制台输出示例:
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显示过去 X 分钟内创建的 Exchange Online 邮箱
在以下示例中,我们查找过去 160 分钟内创建的 Exchange Online 邮箱。
PowerShell命令语法:
Get-Mailbox | Where {$_.WhenCreated -ge ((Get-Date).Addminutes(-160))} | FT DisplayName,WhenCreated显示过去 X 小时内创建的 Exchange Online 邮箱
在以下示例中,我们查找过去 40 小时内创建的 Exchange Online 邮箱。
PowerShell命令语法:
Get-Mailbox | Where {$_.WhenCreated -ge ((Get-Date).AddHours(-40))} | FT DisplayName,WhenCreated显示过去 X 天内创建的 Exchange Online 邮箱
在以下示例中,我们查找过去 20 天内创建的 Exchange Online 邮箱。
PowerShell命令语法:
Get-Mailbox | Where {$_.WhenCreated -ge ((Get-Date).Adddays(-2))} | FT DisplayName,WhenCreated显示过去 X 个月内创建的 Exchange Online 邮箱
在以下示例中,我们查找过去 2 个月内创建的 Exchange Online 邮箱。
PowerShell命令语法:
Get-Mailbox | Where {$_.WhenCreated -ge ((Get-Date).AddMonths(-2))} | FT DisplayName,WhenCreated显示在特定月份创建的 Exchange Online 邮箱。
在以下示例中,我们查找 8 月 (8) 创建的 Exchange Online 邮箱。
PowerShell命令语法:
Get-Mailbox | Where {($_.WhenCreated).Month -eq 8} | FT DisplayName,WhenCreated显示过去 X 年内创建的 Exchange Online 邮箱
在以下示例中,我们查找过去 2 年内创建的 Exchange Online 邮箱。
PowerShell命令语法:
Get-Mailbox | Where {$_.WhenCreated -ge ((Get-Date).AddYears(-2))} | FT DisplayName,WhenCreated显示在特定年份创建的 Exchange Online 邮箱
在以下示例中,我们查找 2016 年创建的 Exchange Online 邮箱。
场景 2#2 - 获取有关在特定时间范围之前创建的 Exchange Online 邮箱的信息。
在当前场景中,我们需要获取有关在特定时间范围之前创建的 Exchange Online 邮箱的信息(与之前的场景相比,我们查找在指定时间范围内创建的 Exchange Online 邮箱)时间范围)。
我们定义的时间范围是 - 从当前日期算起的两个月。
我们想要获取的信息是 - 有关在此时间范围之前创建的 Exchange Online 邮箱的信息。
例如,如果当前日期为 12/15/2016,则结果将为 - 在该日期之前创建的所有 Exchange Online 邮箱 - 10/01/2016 。
为了满足此要求,我们使用 PowerShell 运算符 -le(小于或等于)。
显示 X 天前创建的 Exchange Online 邮箱
在以下示例中,我们希望获取有关在“40 天”或更长的时间范围之前创建的 Exchange Online 邮箱的信息。
PowerShell命令语法:
Get-Mailbox | Where {$_.WhenCreated -le ((Get-Date).Adddays(-40))} | FT DisplayName,WhenCreated显示 X 天前创建的 Exchange Online 邮箱。
在以下示例中,我们希望获取有关在“40 天”或更长的时间范围之前创建的 Exchange Online 邮箱的信息。
PowerShell命令语法:
Get-Mailbox | Where {$_.WhenCreated -le ((Get-Date).Adddays(-40))} | FT DisplayName,WhenCreated显示 X 个月前创建的 Exchange Online 邮箱
在以下示例中,我们希望获取有关在“2 个月”或更长的时间范围之前创建的 Exchange Online 邮箱的信息。
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”(大于或等于)。
例如,PowerShell 命令不会说“我想查找其所有者上周访问过的 Exchange Online 邮箱”,而是会说“显示 Exchange Online 邮箱,其“LastLogonTime”大于或等于 ( ge)至“1周。 ”
注意 - 如果您需要有关可用 PowerShell 运算符的更多信息,请阅读当前文章系列中的第一篇文章。
显示用户在过去 X 分钟内访问过的 Exchange Online 邮箱(用户登录邮箱)
在以下示例中,我们查找过去 160 分钟内访问过的 Exchange Online 邮箱。
PowerShell命令语法:
Get-Mailbox | Get-MailboxStatistics| Where-Object {$_.LastLogonTime -ge ((Get-Date).Addminutes(-160))} | FT DisplayName,LastLogonTime显示用户在过去 X 小时内访问过的 Exchange Online 邮箱(用户登录邮箱)
在以下示例中,我们查找过去 40 小时内访问过的 Exchange Online 邮箱。
PowerShell命令语法:
Get-Mailbox | Get-MailboxStatistics| Where-Object {$_.LastLogonTime -ge ((Get-Date).AddHours(-40))}| FT DisplayName,LastLogonTime显示用户在过去 X 天内访问过的 Exchange Online 邮箱(用户登录邮箱)
在以下示例中,我们查找过去 40 天内访问过的 Exchange Online 邮箱。
PowerShell命令语法:
Get-Mailbox | Get-MailboxStatistics| Where-Object {$_.LastLogonTime -ge ((Get-Date).Adddays(-30))}| FT DisplayName,LastLogonTime显示用户在过去 X 个月内访问过的 Exchange Online 邮箱(用户登录邮箱)
在以下示例中,我们查找过去 2 个月访问过的 Exchange Online 邮箱。
PowerShell命令语法:
Get-Mailbox | Get-MailboxStatistics| Where-Object {$_.LastLogonTime -ge ((Get-Date).AddMonths(-2))}| FT DisplayName,LastLogonTime显示用户在特定月份访问(用户登录邮箱)的 Exchange Online 邮箱
在以下示例中,我们查找 8 月 (8) 访问过的 Exchange Online 邮箱。
PowerShell命令语法:
Get-Mailbox | Get-MailboxStatistics| Where-Object {($_.LastLogonTime).Month -eq 8}| FT DisplayName,LastLogonTime显示用户在过去 X 年中访问过的 Exchange Online 邮箱(用户登录邮箱)
在以下示例中,我们查找过去 2 年内访问过的 Exchange Online 邮箱。
PowerShell命令语法:
Get-Mailbox | Get-MailboxStatistics| Where-Object {$_.LastLogonTime -ge ((Get-Date). AddYears(-2))}| FT DisplayName,LastLogonTime显示用户在特定年份访问过的 Exchange Online 邮箱(用户登录邮箱)
在以下示例中,我们查找 2016 年访问过的 Exchange Online 邮箱。
PowerShell 命令语法
Get-Mailbox | Get-MailboxStatistics| Where-Object {($_.LastLogonTime).Year -eq 2016}| FT DisplayName,LastLogonTime -Autosize场景 2#2 - 显示有关用户在特定时间范围内“未使用”的 Exchange Online 邮箱的信息。
在这种情况下,我们希望查找有关 Exchange Online 邮箱的信息,这些信息在特定时间范围内“所有者”未“使用”(访问)。
为了能够满足此要求,我们使用 PowerShell 运算符“-le”(小于或等于)。
例如,PowerShell 命令不会说“我想查找其所有者上周未访问过的 Exchange Online 邮箱”,而是显示 Exchange Online 邮箱,即其“ LastLogonTime”小于或等于 (le) 至“1 周。 ”
注意 - 如果您需要有关可用 PowerShell 运算符的更多信息,请阅读当前文章系列中的第一篇文章。
此类信息对于查明您是否为任何未使用的许可证付费非常有用!
显示用户在过去 X 个月内未访问过的 Exchange Online 邮箱(用户未登录邮箱)
在以下示例中,我们查找过去 2 个月内未访问过的 Exchange Online 邮箱。
PowerShell命令语法:
Get-Mailbox | Get-MailboxStatistics| Where-Object {$_.LastLogonTime -le ((Get-Date).AddMonths(-2))}| FT DisplayName,LastLogonTime -Autosize显示用户在过去 X 年中访问过的 Exchange Online 邮箱(用户登录邮箱)
在以下示例中,我们查找过去 2 年内访问过的 Exchange Online 邮箱。
PowerShell命令语法:
Get-Mailbox | Get-MailboxStatistics| Where-Object {$_.LastLogonTime -ge ((Get-Date). AddYears(-2))}| FT DisplayName,LastLogonTime -Autosize







