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

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

作者:精品下载站 日期:2024-12-14 07:11:26 浏览:14 分类:玩电脑

通过计划任务清理Exchange邮箱(Exchange 2013/2016)


通过计划任务清理Exchange邮箱(Exchange 2013/2016)

很多客户询问是否可以定期清理某个邮箱作为交换。我编写了一些脚本并制作了一个按计划任务运行脚本的教程。

Github 上的脚本链接:

通过计划任务清理日记邮箱的脚本
https://github.com/blog-it-koehler-com/mailbox-cleanup.ps1
0 个分支。 2 星。
0 个未解决的问题。

  • 通过上传添加文件,GitHub
  • 邮箱清理0-2.ps1,GitHub
  • 更新 README.md,GitHub
  • 通过上传添加文件,GitHub
  • 更新 README.md,GitHub

准备工作:

我个人的建议是直接在交换服务器上执行这个脚本。对于此操作,执行的用户不需要域管理员权限。顺便说一句,该脚本不适用于默认域管理员,因为您需要特殊权限才能使用删除参数执行搜索邮箱。

为此首先要认真做好准备工作!

就我而言,我创建了一个特殊的“deleteuser”,它在我的测试 Exchange 2016 环境中获得了正确的权限。

以管理员身份打开 Exchange Powershell 并键入以下命令:

New-ManagementRoleAssignment -Name ImportExportRole -User "domain\user" -Role 'Mailbox Import Export'

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

将用户替换为您自己的用户,该用户应获得从邮箱中删除内容的权限(这也是执行脚本的用户)

注意:请使用 SamAccountName

如果您不知道 SamAccountName,您可以在 Exchange powershell 中查看(Get-Mailbox | fl name,alias,displayname,samaccountname)。

“删除用户”还必须是发现管理/组织管理的成员。

您可以通过 Exchange 控制台(或 Active Directory)将用户添加到发现管理。

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

另请在服务器上找到我的 powershell 脚本

在我的测试环境中,我使用交换上的路径 C:\Scripts\mailbox-cleanup\mailbox-cleanup-0-1.ps1

使用前必须编辑脚本。

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

请填写具有所需权限的用户(在我的例子中为“deleteuser”)和应该清理的用户。

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

安装 Active Directory Powershell 模块(您可以直接在 ISE 中键入此命令)。

Add-WindowsFeature RSAT-AD-PowerShell

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

接下来的准备工作是将“deleteuser”添加到执行脚本的服务器的本地管理员组中。这样做是为了避免访问被拒绝错误/登录错误等。

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

这是 powershell 中的最后准备工作:

Set-ExecutionPolicy Unrestricted -Force

准备工作完成

实际上,可以像此处所示创建任务(在我的测试环境中,我使用默认路径,它们在某些安装中可能不同):

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

您需要调用 powershell.exe,作为参数,应该有交换远程会话和脚本的路径。

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
-NonInteractive -WindowStyle Hidden -command ". 'C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; C:\Scripts\mailbox-cleanup\mailbox-cleanup-0-1.ps1

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

如果用户没有批处理登录的权限(通常没有用户期望域管理员拥有),您会收到以下消息:

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

要授予用户所需的权限,请启动本地安全策略,如图所示。

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

现在应该可以开始任务了。

清理前的 Outlook(注意:日历和其他对象也将被删除)。

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

查看脚本文件夹内部,这里应该有一个像这样的日志文件。

[玩转系统] 通过计划任务清理Exchange邮箱(Exchange 2013/2016)

玩得开心并写评论或电子邮件。

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

取消回复欢迎 发表评论:

关灯