Powershell 4.0 脚本可以在 Win 2012 R2 Server 中回收 MS Outlook吗?

Powershell 4.0 脚本可以在 Win 2012 R2 Server 中回收 MS Outlook吗?

我有一台无人值守运行的 Win 2012 R2 服务器,其中运行着依赖 MS Outlook 2013 的应用程序。我想创建一个每日计划的 PowerShell 脚本,以便平稳关闭 Outlook、创建 VbaProject.OTM 的备份并重新启动 Outlook。

以下方法似乎有效,但我不确定关闭 Outlook 是否可以,如果有更好的方法,我将不胜感激。

stop-process -name OUTLOOK -EA SilentlyContinue

$date = get-date -format "MMddyyyy HHmm"
$fnft = "VbaProject - " + $date + ".OTM"
$source = "C:\Users\OCCReportManager\AppData\Roaming\Microsoft\Outlook\VbaProject.OTM"
$dest = "D:\FD Automation VBA Backups\" + $fnft
copy-item $source $dest
(Get-ChildItem $dest).LastWriteTime = Get-Date
$dest = "G:\PUBLIC\Mission Control\Flight Deck\Automation Source File Repository\" + $fnft
copy-item $source $dest
(Get-ChildItem $dest).LastWriteTime = Get-Date

start-process outlook

答案1

Get-Process Outlook | Foreach-Object { $_.CloseMainWindow() | Out-Null } | stop-process –force

这是我推荐的。我从这里几周前,我已经将它用于几个类似的项目,它似乎可以正常工作,而不会引起任何麻烦或突然终止进程(除非它们已经挂起)。

我之前使用的另一个解决方案是为用户设置一个登录脚本,该脚本(在您的情况下)执行备份,然后启动 Outlook。然后我安排每晚重新启动服务器,这样 Windows 就可以处理进程的停止。不幸的是,这有一个缺点,您需要启用自动登录,以便应用程序可以在用户上下文中运行……尽管设置 1 分钟的密码屏幕保护程序并将服务器锁定在通信/计算机室将大大降低服务器被滥用的可能性

希望这是你需要的

相关内容