las.90
04-08-2015, 22:56
Фрумчане доброго времени суток !!!
Есть такая проблема, существует виртуальная машина с ОС Windows 7 на которую приходят сообщения, после анализа данного сообщения машина производит перенастройку учётной записи в Active Directory (меняет атрибуты у почтового ящика). Процесс отлажен и работает хорошо, но есть в этом во всём некая проблема.
При получении на сервер сообщения с неправильной кодировкой (UTF-8 или cp1251) Outlook зависает и дальнейшая перенастройка не возможна, приходится самостоятельно заходить на вируталку и запускать Outlook заново (что крайне не удобно и не всегда реально сделать).
Вопрос в том, как автоматизировать процесс перезапуска Outlook?
Есть некоторые соображения по данному поводу
Option Explicit
Const cdoSendUsingPort = 2
Const cdoBasic = 1
Dim arrProcesses
Dim strComputer
Dim objSWbemLocator
Dim objSWbemServicesEx
Dim collSWbemObjectSet
Dim objSWbemObjectEx
Dim elem
Dim objFSO
Dim lngProcessID
arrProcesses = Array("C:\Program Files (x86)\Microsoft Office\Office12\OUTLOOK.exe")
strComputer = "."
Set objSWbemLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
Set collSWbemObjectSet = objSWbemServicesEx.ExecNotificationQuery("SELECT * From __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'")
WScript.Quit 0
Есть такая проблема, существует виртуальная машина с ОС Windows 7 на которую приходят сообщения, после анализа данного сообщения машина производит перенастройку учётной записи в Active Directory (меняет атрибуты у почтового ящика). Процесс отлажен и работает хорошо, но есть в этом во всём некая проблема.
При получении на сервер сообщения с неправильной кодировкой (UTF-8 или cp1251) Outlook зависает и дальнейшая перенастройка не возможна, приходится самостоятельно заходить на вируталку и запускать Outlook заново (что крайне не удобно и не всегда реально сделать).
Вопрос в том, как автоматизировать процесс перезапуска Outlook?
Есть некоторые соображения по данному поводу
Option Explicit
Const cdoSendUsingPort = 2
Const cdoBasic = 1
Dim arrProcesses
Dim strComputer
Dim objSWbemLocator
Dim objSWbemServicesEx
Dim collSWbemObjectSet
Dim objSWbemObjectEx
Dim elem
Dim objFSO
Dim lngProcessID
arrProcesses = Array("C:\Program Files (x86)\Microsoft Office\Office12\OUTLOOK.exe")
strComputer = "."
Set objSWbemLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
Set collSWbemObjectSet = objSWbemServicesEx.ExecNotificationQuery("SELECT * From __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'")
WScript.Quit 0