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

[玩转系统] 使用 PowerShell 管理 Microsoft 365 混乱

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

使用 PowerShell 管理 Microsoft 365 混乱


Microsoft 365 邮箱中的杂乱功能可让用户专注于重要邮件。低优先级电子邮件不会被删除,而是从收件箱邮件文件夹中删除到杂乱文件夹中。您始终可以为所有用户禁用杂乱功能,并从 Outlook 中删除杂乱文件夹。在本文中,您将学习使用 PowerShell 管理 Microsoft 365 杂乱功能。

Microsoft 365 杂乱功能

杂乱是 Outlook 中的一项功能,可将不太重要的电子邮件移出收件箱,让您专注于对您来说最重要的电子邮件。我们将向您展示如何使用 PowerShell 启用和禁用所有邮箱的混乱。

一旦用户关闭 Outlook 中的杂乱功能,他们就可以使用新的重点收件箱功能。这是一种新的电子邮件排序,您的收件箱将分为两个选项卡。您始终可以使用 PowerShell 管理 Microsoft 365 中的重点收件箱。

连接到 Exchange Online PowerShell

为了能够运行本文中指定的 PowerShell 命令,您需要连接到 Exchange Online PowerShell。

以管理员身份启动 Windows PowerShell 并运行 cmdlet Connect-ExchangeOnline

Connect-ExchangeOnline

1. 为 Microsoft 365 邮箱启用混乱

为特定邮箱启用混乱

PowerShell命令语法:

Set-Clutter -Identity -Enable $True

PowerShell 命令示例:

Set-Clutter -Identity "[email protected]" -Enable $True

PowerShell 结果:

IsEnabled       : True
MailboxIdentity : CN=ea2b7e6a-fb01-42e3-9fb8-ccf13a5f2e67,OU=ms365info.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=EURPR02A011,DC=PROD,DC=OUTLOOK,DC=COM
Identity        : 
IsValid         : True
ObjectState     : New

该用户登录 Outlook 后,他们将看到出现Clutter文件夹。

[玩转系统] 使用 PowerShell 管理 Microsoft 365 混乱

批量启用用户邮箱的混乱

运行以下 PowerShell 命令以批量启用用户邮箱的混乱。

$AllMailboxes = Get-MailBox -ResultSize Unlimited -Filter '(RecipientTypeDetails -eq "UserMailbox")' | Where-Object { (Get-Clutter -Identity $_.UserPrincipalName).IsEnabled -eq $False }

ForEach ($Mailbox in $AllMailboxes) {
    Set-Clutter -Identity $Mailbox.UserPrincipalName -Enable $True
}

批量启用 Microsoft 365 邮箱的混乱

使用以下 PowerShell 命令批量启用所有类型邮箱的混乱。

Get-Mailbox -ResultSize Unlimited | Set-Clutter -Enable $True

2.使用PowerShell显示杂乱信息

显示单个邮箱的杂乱信息

PowerShell命令语法:

Get-Clutter -Identity | Select-Object IsEnabled,MailboxIdentity

PowerShell 命令示例:

Get-Clutter -Identity "[email protected]" | Select-Object IsEnabled,MailboxIdentity

请参阅以下单个邮箱的 PowerShell 结果:

IsEnabled MailboxIdentity
--------- ---------------
     True CN=ea2b7e6a-fb01-42e3-9fb8-ccf13a5f2e67,OU=ms365info.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=EURPR02A011,DC=PROD,DC=OUTLOOK,DC=COM

显示所有用户邮箱的混乱情况

使用以下 PowerShell 命令显示已启用或禁用杂乱功能的所有用户邮箱。

$Results = @()

$AllMailboxes = Get-MailBox -Filter '(RecipientTypeDetails -eq "UserMailbox")'

ForEach ($Mailbox in $AllMailboxes) {
    $ClutterStatus = Get-Clutter -Identity $Mailbox.UserPrincipalName | Select-Object -ExpandProperty isEnabled
    $mailboxID = $Mailbox.UserPrincipalName
    $Properties = @{
        ClutterEnabled = $ClutterStatus
        Recipient      = $mailboxID
    }
    $Results += New-Object psobject -Property $properties
}

$Results | Select-Object Recipient,ClutterEnabled

PowerShell 结果显示启用了杂乱功能 (True) 或禁用杂乱功能 (False) 的所有用户邮箱的列表。

Recipient                   ClutterEnabled
---------                   --------------
[email protected]           True
[email protected]            False
[email protected]              False
[email protected]             False
[email protected]             False
[email protected]           False
[email protected]              False
[email protected]             False
[email protected]              False
[email protected]           False
[email protected]               False

显示禁用杂乱的所有 Microsoft 365 邮箱

使用以下 PowerShell 命令显示已禁用混乱的所有 Microsoft 365 邮箱。

$Results = @()

$AllMailboxes = Get-Mailbox -ResultSize Unlimited  | Where-Object { (Get-Clutter -Identity $_.alias).IsEnabled -eq $False }

ForEach ($Mailbox in $AllMailboxes) {
    $ClutterStatus = Get-Clutter -Identity $Mailbox.UserPrincipalName | Select-Object -ExpandProperty isEnabled
    $mailboxID = $Mailbox.UserPrincipalName
    $Properties = @{
        ClutterEnabled = $ClutterStatus
        Recipient      = $mailboxID
    }
    $Results += New-Object psobject -Property $properties
}
$Results | Select-Object Recipient,ClutterEnabled

PowerShell 结果:

Recipient                                                                              ClutterEnabled
---------                                                                              --------------
[email protected]                                                                      False
[email protected]                                                                       False
[email protected]                                                                        False
[email protected]                                                                         False
[email protected]                                                                        False
DiscoverySearchMailbox{D919BA05-46A6-415f-80AD-7E09334BB852}@ms365info.onmicrosoft.com          False
[email protected]                                                                      False
[email protected]                                                                            False
[email protected]                                                                         False
[email protected]                                                                          False
[email protected]                                                                         False
[email protected]                                                                        False
[email protected]                                                                        False
[email protected]                                                                         False
[email protected]                                                                        False
[email protected]                                                                          False
[email protected]                                                                        False

显示启用了混乱的所有 Microsoft 365 邮箱

它将显示所有已启用混乱的 Microsoft 365 邮箱。

使用以下 PowerShell 命令示例:

$Results = @()

$AllMailboxes = Get-Mailbox -ResultSize Unlimited  | Where-Object { (Get-Clutter -Identity $_.alias).IsEnabled -eq $True }

ForEach ($Mailbox in $AllMailboxes) {
    $ClutterStatus = Get-Clutter -Identity $Mailbox.UserPrincipalName | Select-Object -ExpandProperty isEnabled
    $mailboxID = $Mailbox.UserPrincipalName
    $Properties = @{
        ClutterEnabled = $ClutterStatus
        Recipient      = $mailboxID
    }
    $Results += New-Object psobject -Property $properties
}
$Results | Select-Object Recipient,ClutterEnabled

请参阅下面的 PowerShell 结果:

Recipient                   ClutterEnabled
---------                   --------------
[email protected]           True

显示杂乱文件夹的项目数量和大小

PowerShell 命令示例:

$AllMailboxes = Get-Mailbox -ResultSize Unlimited  
ForEach ($Mailbox in $AllMailboxes) {
    ForEach-Object { Get-MailboxFolderStatistics -Identity $Mailbox.UserPrincipalName } | Where-Object { $_.Name -Like "Clutter" } | Format-List Identity, ItemsInFolder, FolderSize
}

请参阅下面的 PowerShell 结果:

Identity      : [email protected]\Clutter
ItemsInFolder : 1
FolderSize    : 6.555 KB (6,712 bytes)

3. 消除 Microsoft 365 邮箱的混乱

禁用单个邮箱的混乱

PowerShell命令语法:

Set-Clutter -Identity -Enable $False

PowerShell 命令示例:

Set-Clutter -Identity "[email protected]" -Enable $False

请参阅下面的 PowerShell 结果示例:

IsEnabled       : False
MailboxIdentity : CN=ea2b7e6a-fb01-42e3-9fb8-ccf13a5f2e67,OU=ms365info.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=EURPR02A011,DC=PROD,DC=OUTLOOK,DC=COM
Identity        : 
IsValid         : True
ObjectState     : New

注意:关闭 Outlook 应用程序以使更改生效。下次打开 Outlook 应用程序或使用 Outlook 网页版时还必须登录。

它将禁用 Microsoft 365 邮箱中的杂乱功能。但是,当您打开 Outlook 应用程序时,您仍然会在 Outlook 邮箱中看到杂乱的文件夹。在下一步中,我们将向您展示如何从 Outlook 中删除杂乱文件夹。

打开重点收件箱

您无法删除 Outlook 中的杂乱文件夹,因为它呈灰色显示。此问题的解决方案是打开 Outlook 中的焦点收件箱。

按照以下步骤在 Outlook 应用程序中打开重点收件箱:

  • 单击收件箱文件夹
  • 单击查看选项卡
  • 点击显示重点收件箱

[玩转系统] 使用 PowerShell 管理 Microsoft 365 混乱

在 Outlook 网页版中打开“重点收件箱”:

  • 单击收件箱文件夹
  • 点击设置
  • 选择重点收件箱旁边的开关

[玩转系统] 使用 PowerShell 管理 Microsoft 365 混乱

您将立即收到一封来自 Microsoft Outlook 的邮件,欢迎您来到重点收件箱。从现在开始,邮件将不再被移至杂乱文件夹中。相反,原本会被移至“混乱”的不太重要的电子邮件现在会移至“其他”。

批量禁用所有邮箱的混乱

要在 PowerShell 控制台中禁用所有现有 Exchange Online 邮箱的混乱选项,请运行以下命令。

Get-Mailbox -ResultSize Unlimited | Set-Clutter -Enable $False

4. 将杂乱信息导出到CSV

将单个邮箱的杂乱设置导出到 CSV 文件

PowerShell 命令示例:

Get-Clutter -Identity "[email protected]" | Export-Csv "C:\temp\Stephen Hunter Clutter.csv" -NoTypeInformation -Encoding UTF8

它将把 CSV 导出到 C:\temp 文件夹。使用 Microsoft Excel 等应用程序打开 CSV 文件以查看结果。

[玩转系统] 使用 PowerShell 管理 Microsoft 365 混乱

将启用混乱的用户邮箱导出到 CSV 文件

运行以下 PowerShell 命令以导出所有混乱的用户邮箱的列表。这样,您可以轻松搜索已启用或禁用杂乱的用户邮箱。

$Results = @()

$AllMailboxes = Get-MailBox -Filter '(RecipientTypeDetails -eq "UserMailbox")'

ForEach ($Mailbox in $AllMailboxes) {
    $ClutterStatus = Get-Clutter -Identity $Mailbox.UserPrincipalName | Select-Object -ExpandProperty isEnabled
    $mailboxID = $Mailbox.UserPrincipalName
    $Properties = @{
        ClutterEnabled = $ClutterStatus
        Recipient      = $mailboxID
    }
    $Results += New-Object psobject -Property $properties
    $ExportData = $Results
}
$Results | Select-Object Recipient,ClutterEnabled

$ExportData | Export-Csv "C:\temp\Clutter User Mailboxes.csv" -NoTypeInformation -Encoding UTF8

使用 Microsoft Excel 打开 C:\temp 文件夹中的 CSV 文件。它显示启用或禁用杂乱功能的所有用户邮箱的列表。

[玩转系统] 使用 PowerShell 管理 Microsoft 365 混乱

将禁用杂乱功能的所有 Microsoft 365 邮箱导出到 CSV 文件

运行以下 PowerShell 命令导出禁用杂乱功能的所有邮箱的列表。

$Results = @()

$AllMailboxes = Get-Mailbox -ResultSize Unlimited  | Where-Object { (Get-Clutter -Identity $_.alias).IsEnabled -eq $False }

ForEach ($Mailbox in $AllMailboxes) {
    $ClutterStatus = Get-Clutter -Identity $Mailbox.UserPrincipalName | Select-Object -ExpandProperty isEnabled
    $mailboxID = $Mailbox.UserPrincipalName
    $Properties = @{
        ClutterEnabled = $ClutterStatus
        Recipient      = $mailboxID
    }
    $Results += New-Object psobject -Property $properties
    $ExportData = $Results
}
$Results | Select-Object Recipient,ClutterEnabled

$ExportData | Export-Csv "C:\temp\Clutter Disabled Mailboxes.csv" -NoTypeInformation -Encoding UTF8

它将把 CSV 导出到 C:\temp 文件夹,您可以在其中使用 Microsoft Excel 打开 CSV 文件。您可以轻松查看哪些 Microsoft 365 邮箱禁用了杂乱功能。

[玩转系统] 使用 PowerShell 管理 Microsoft 365 混乱

将启用杂乱的邮箱导出到 CSV 文件

运行以下 PowerShell 命令以导出启用了杂乱功能的所有邮箱的列表。

$Results = @()

$AllMailboxes = Get-Mailbox -ResultSize Unlimited  | Where-Object { (Get-Clutter -Identity $_.alias).IsEnabled -eq $True }

ForEach ($Mailbox in $AllMailboxes) {
    $ClutterStatus = Get-Clutter -Identity $Mailbox.UserPrincipalName | Select-Object -ExpandProperty isEnabled
    $mailboxID = $Mailbox.UserPrincipalName
    $Properties = @{
        ClutterEnabled = $ClutterStatus
        Recipient      = $mailboxID
    }
    $Results += New-Object psobject -Property $properties
    $ExportData = $Results
}
$Results | Select-Object Recipient,ClutterEnabled

$ExportData | Export-Csv "C:\temp\Clutter Enabled Mailboxes.csv" -NoTypeInformation -Encoding UTF8

它将把 CSV 导出到 C:\temp 文件夹,您可以在其中使用 Microsoft Excel 打开 CSV 文件。您只会看到启用了杂乱功能的邮箱列表。

[玩转系统] 使用 PowerShell 管理 Microsoft 365 混乱

导出杂乱文件夹项目和大小

$AllMailboxes = Get-Mailbox -ResultSize Unlimited  
$results = foreach ($Mailbox in $AllMailboxes) {
    Get-MailboxFolderStatistics -Identity $Mailbox.UserPrincipalName | Where-Object { $_.Name -Like "Clutter" } | Select-Object Identity, ItemsInFolder, FolderSize
}

$results | Export-Csv "C:\temp\Clutter Folder.csv" -NoTypeInformation -Encoding UTF8

它将把 CSV 导出到 C:\temp 文件夹,您可以在其中使用 Microsoft Excel 打开 CSV 文件。您将看到文件夹项目编号和大小的列表。

[玩转系统] 使用 PowerShell 管理 Microsoft 365 混乱

5.使用Exchange Online规则来避免混乱

使用杂乱功能时,管理用户邮箱的 Exchange 服务器根据内部算法决定是否将特定电子邮件移至杂乱文件夹。

在某些情况下,杂波算法可以将电子邮件分类为将发送到杂波文件夹的电子邮件,我们希望覆盖此决定。

为了通知 Exchange 服务器我们希望防止特定邮件项目出现混乱的过程,我们需要创建一条 Exchange Online 规则。

Exchange 规则是通过定义这些特定电子邮件的字符并要求 Exchange 将特定邮件字段添加到电子邮件标头来实现的。

此特殊邮件字段名为X-MS-Exchange-Organization-BypassClutter

我们需要添加此邮件字段并将此邮件字段的值设置为true

例如:

X-MS-Exchange-Organization-BypassClutter = true

如果 Exchange Server 找到此邮件字段,它就会知道它必须绕过混乱过程。

可以手动或通过 PowerShell 创建 Exchange 规则。

在下一节中,我们将回顾此类 Exchange 规则的两个示例,该规则将绕过特定邮件项目的混乱。

创建 Exchange 规则以绕过混乱(特定文本)

创建 Exchange 规则以绕过邮件主题中包含特定文本的电子邮件。

PowerShell 命令示例:

New-TransportRule -Name -SubjectContainsWords "" -SetHeaderName "X-MS-Exchange-Organization-BypassClutter" -SetHeaderValue "true"

PowerShell 命令示例:

New-TransportRule -Name "Bypass Clutter - Subject important" -SubjectContainsWords "important" -SetHeaderName "X-MS-Exchange-Organization-BypassClutter" -SetHeaderValue "true"

创建 Exchange 规则以绕过混乱(特定发件人)

创建 Exchange 规则以绕过特定发件人发送的电子邮件的混乱情况。

PowerShell命令语法:

New-TransportRule -Name -From "" -SetHeaderName "X-MS-Exchange-Organization-BypassClutter" -SetHeaderValue "true"

PowerShell 命令示例:

New-TransportRule -Name "Bypass Clutter - Email from Bob" -From [email protected] -SetHeaderName "X-MS-Exchange-Organization-BypassClutter" -SetHeaderValue "true"

这是否有助于您使用 PowerShell 管理 Microsoft 365 中的混乱功能?

了解更多:导出 Microsoft 365 用户许可证 »

结论

您学习了如何使用 PowerShell 管理 Microsoft 365 混乱。为用户邮箱启用杂乱功能后,您可以显示信息并将信息导出到 CSV 文件。请记住,您始终可以使用 PowerShell 为所有用户禁用杂乱功能,并从 Outlook 中删除杂乱文件夹。

您喜欢这篇文章吗?您可能还喜欢使用 PowerShell 管理用户邮箱。不要忘记关注我们并分享这篇文章。

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

取消回复欢迎 发表评论:

关灯