Сценарий Powershell 4.0 для утилизации MS Outlook в Win 2012 R2 Server?

У меня есть сервер 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. Затем я запланировал перезагрузку сервера каждую ночь, что позволило бы окнам обрабатывать остановку процессов. К сожалению, это связано с тем, что вам нужно включить autologon, чтобы приложение могло работать в пользовательском контексте... хотя установка 1-минутной хранящейся на экране заставки и блокировка сервера в комнате связи / компьютерной комнате значительно снизит вероятность сервера подвергается насилию

Надеюсь, это то, что вам нужно

Другие вопросы по тегам