当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 查看 Exchange Online 对象 |第 3 部分#3

作者:精品下载站 日期:2024-12-14 09:04:49 浏览:16 分类:玩电脑

使用 PowerShell 查看 Exchange Online 对象 |第 3 部分#3


我在当前文章中的主要目标是回顾我们使用 PowerShell 作为在基于 Exchange Online 的环境中实现“筛选搜索”的工具的方式。

在某些情况下,我们可以使用内置的 PowerShell cmdlet,使我们能够查询 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 邮箱,例如 - 具有存档的邮箱、具有诉讼保留的邮箱、具有就地保留的邮箱、启用了审核的邮箱;软删除 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-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 参数“count”来计算使用 PowerShell 命令 Get-Mailbox 时“创建”的 Exchange Online 邮箱的数量。

计算 Exchange Online 邮箱的数量

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited).Count

PowerShell的“Group-Object”选项,顾名思义,使我们能够对PowerShell命令显示的结果进行“分组”。

在以下示例中,我们要求显示有关所有现有类型公共文件夹 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 混合环境中,拥有 Exchange 本地邮箱的本地 Active Directory 用户帐户将被视为 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 组的信息

在本节中,我们将回顾可用于显示有关 Exchange Online 组和特定组类型(例如安全组、通讯组等)的信息的 PowerShell 命令。

显示有关所有可用 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 公用文件夹的信息

在本节中,我们将回顾可用于显示 Exchange Online 公用文件夹信息的 PowerShell 命令。

显示有关所有 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 公用文件夹 +“子公用文件夹”的信息

如果要显示包括顶级公共文件夹+“子公共文件夹”的“完整公共文件夹层次结构”,可以使用以下 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:[email protected], SMTP:[email protected], SIP:[email protected]}

DisplayName    : Alicia Keys
EmailAddresses : {SIP:[email protected], smtp:[email protected], SMTP:[email protected]}

DisplayName    : Angelina Jolie
EmailAddresses : {SPO:SPO_5b27dc17-68b0-442e-804b-aee5b4df9847@SPO_e95bcc9e-2927-483d-ad36-7311a7152bdd, SIP:[email protected], SMTP:[email protected], smtp:[email protected]}

DisplayName    : Aretha Franklin
EmailAddresses : {SIP:[email protected], SMTP:[email protected], smtp:[email protected]}

查找并显示 Exchange Online 邮箱,以及包含特定别名的电子邮件地址

交换在线邮箱必须有一个定义为主要电子邮件地址的电子邮件地址,购买可以有一个定义为代理电子邮件地址的附加电子邮件地址。

当我们查找特定的别名(电子邮件地址的“左侧部分”)时,我们可以定义是否仅当该别名出现在主电子邮件地址上时才查找该别名,或者查找符合以下条件的别名:出现在所有 Exchange Online 邮箱中的电子邮件地址。

显示其主电子邮件地址包含特定别名的所有 Exchange Online 邮箱

在本例中,我们使用 PowerShell 参数“Emailaddresses”查找 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:[email protected], smtp:[email protected], smtp:[email protected], SIP:[email protected]...}

显示所有 Exchange Online 邮箱,其电子邮件地址包含特定别名

在本例中,我们使用 PowerShell 参数“Emailaddresses”查找 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:[email protected], smtp:[email protected], smtp:[email protected], SIP:[email protected]...}

显示 Exchange Online 邮箱 - 软删除邮箱和非活动邮箱

在本节中,我们将回顾如何使用 PowerShell 命令将搜索结果限制为仅被视为软删除的 Exchange Online 邮箱或非活动 Exchange Online 邮箱的 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                                                        [email protected]     True
DiscoverySearchMailbox{D919BA05-46A6-415f-80AD-7E09334BB852}    DiscoverySearchMailbox{D919BA05-46A6-415f-80AD-7E09334BB852}@o365info.com True
DMARC-Spoof [email protected]                                                      True
hd                                                              [email protected] True
Shared-MB01                                                     [email protected]  True
Shared-MB02                                                     [email protected]  True
Shared-MB03                                                     [email protected]  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 邮箱

在本部分中,我们将回顾可用于搜索特定 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    [email protected]   6000.00:00:00 
bob       True                  12/11/2016 1:20:09 PM    [email protected]   6000.00:00:00 
Depeche   True                  2/3/2016 2:29:08 PM      [email protected]   970.00:00:00

显示有关具有就地保留功能的 Exchange Online 邮箱的信息

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:[email protected]
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:[email protected] 
Bob marley        bob                          smtp:[email protected]

显示 Exchange Online 邮箱,该邮箱不会出现在 GAL 中

默认情况下,每个 Exchange Online 邮箱都会显示在 GAL(全局地址列表)中。

在某些情况下,特定的 Exchange Online 邮箱被配置为“不显示”(地址列表中隐藏的邮箱)。

为了能够获取此类 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 用户对象”(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,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 用户邮箱”列表,该列表回答以下参数:

  • 邮箱用户部门以单词开头 - “销售”

在此示例中,公司有几个以“销售”一词开头的部门,例如:销售、美国销售等。

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 查看 Exchange Online 对象 |第 3 部分#3

在我们开始了解有关特定 PowerShell 命令语法的信息之前,让我们花一些时间来了解一下以下概念:使用 PowerShell 查询在特定时间范围内发生的“事件”。

要创建 PowerShell“基于时间的查询”,我们需要定义以下参数:

    1. 对象
      我们要求获取有关他的信息的特定对象。对象可以是“用户帐户”、“Exchange 邮箱”等。
    2. 对象的特定属性
      例如,在 Office 365 环境中,我们可以要求获取有关创建 Exchange Online 邮箱的特定时间的信息。
      在 Office 365 中,我们“处理”的属性是 - 创建时
    3. 时间单位
      PowerShell 为我们提供了多种可以使用的“时间单位”,例如毫秒、秒、分钟、小时、天、年等。
    4. PowerShell 运算符
      这是我们使用的特定 PowerShell 运算符。

    [玩转系统] 使用 PowerShell 查看 Exchange Online 对象 |第 3 部分#3

    将 PowerShell 运算符与“时间范围”结合使用

    在我们的示例中,我将使用以下两个 PowerShell 运算符演示各种场景:

    1. ge(大于或等于)。
      使用“ge”运算符将帮助我们获取有关从特定时间点及以后“发生”的“事件”的信息。
    2. le(小于或等于)。
      使用“le”运算符将帮助我们获取有关特定时间点之前发生的“事件”的信息。

    [玩转系统] 使用 PowerShell 查看 Exchange Online 对象 |第 3 部分#3

    为了能够体现这个概念,让我们使用以下示例:

    “起点”是 PowerShell 命令 - Get-Date,它“获取”当前日期(日、月、年等)。

    在我们的具体示例中,我们想要定义当前日期之前两个月的“时间范围”。

    为了定义这个时间范围,我们使用以下 PowerShell 命令:

    (获取日期).AddMonths(-2)

    我们取当前日期,并从当前日期中减去“2 个月”。 ”

    在我们的示例中,“当前时间”是8 月(八月),日期是“15”。 ”

    PowerShell 命令的结果 - (Get-Date).AddMonths(-2) 将实现为一个时间范围,涵盖接下来的月份 - 月份 6 和月份 7 直到当月(8 月)。

    如果我们想要更准确,该命令将定义一个时间范围,从 06/01 开始,
    08/15 结束。

    [玩转系统] 使用 PowerShell 查看 Exchange Online 对象 |第 3 部分#3

    1. 使用 ge(大于或等于)运算符 + 时间范围。

    当我们使用 PowerShell“ge ”运算符并结合命令 -
    (Get-Date).AddMonths(-2) 时,我们要求 PowerShell 向我们显示有关事件的信息,该事件发生在以下时间范围:06/0108/15

    “时间范围点”定义如下:

    时间范围的“起点”是通过当前日期减去两个月来计算的。
    在我们的示例中,起点是该月的第一天“6 ” 。 ”

    时间范围的“结束”是“当前日期”。 ”
    在我们的示例中,当前日期是“8”月的15天。 ”

    注意 - “当前日期”的值只是我们用于演示的任意值。

    [玩转系统] 使用 PowerShell 查看 Exchange Online 对象 |第 3 部分#3

    1. 使用 le(小于或等于)运算符 + 时间范围。

    当我们使用 PowerShell“le ”运算符并结合命令 -
    (Get-Date).AddMonths(-2) 时,我们要求 PowerShell 向我们显示有关发生的“事件”的信息 以下时间范围之前:06/01

    [玩转系统] 使用 PowerShell 查看 Exchange Online 对象 |第 3 部分#3

    在以下示例中,我们希望获取有关在特定时间范围内创建的 Exchange Online 邮箱的信息。

    1. PowerShell“对象”是“Exchange Online 邮箱”。 ”
      (由 PowerShell cmdlet - Get-Mailbox 表示)。
    2. 我们“查询”的特定用户帐户属性是 - “WhenCreated”。 ”
    3. 我们使用的“时间单位”是 -“月”。 ”

    为了能够获取回答我们特定查询的 Exchange Online 邮箱列表,我们使用名为“Where,”的 PowerShell cmdlet(语句)来定义条件,并筛选所需的信息。

    [玩转系统] 使用 PowerShell 查看 Exchange Online 对象 |第 3 部分#3

    场景 1 - 有关过去两个月创建的 Exchange 邮箱的信息。

    在这种情况下,我们要求获取有关过去两个月创建的 Exchange Online 邮箱的信息。

    为了定义从两个月前开始一直到当前日期的“时间范围”,我们使用 PowerShell 运算符 ge(大于或等于)。

    [玩转系统] 使用 PowerShell 查看 Exchange Online 对象 |第 3 部分#3

    场景 2 - 有关过去两个月之前创建的 Exchange 邮箱的信息。

    在这种情况下,我们要求获取有关过去两个月之前创建的 Exchange Online 邮箱的信息。

    为了定义从两个月前开始、从当前日期开始并“永远”持续的“时间范围”,我们使用 PowerShell 运算符 - le(小于或等于)。

    [玩转系统] 使用 PowerShell 查看 Exchange Online 对象 |第 3 部分#3

    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,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

    显示过去 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,WhenCreated

    2#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

      您需要 登录账户 后才能发表评论

      取消回复欢迎 发表评论:

      关灯