久々にローカル環境でExchangeのトラブルシュートをしていたところ、特定の条件でイベントビューアーがクラッシュする事に気がつきました。
- 2019年6月の更新プログラムを適用したExchange環境で発生
- [カスタムビュー]またはイベントビューアーから [現在のログをフィルター] を選択すると発生
- エラー内容は以下の通り
別のプロセスで使用されているため、プロセスはファイル 'C:\ProgramData\Microsoft\Event Viewer\Views\msexchangerepl_events.xml' にアクセスできません。 例外の種類: System.IO.IOException 例外のスタックトレース: 場所 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 場所 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) 場所 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) 場所 Microsoft.Windows.ManagementUI.CombinedControls.EventsNode.get_IsReadOnlyView() 場所 Microsoft.Windows.ManagementUI.CombinedControls.EventsNode.UpdateReadOnly() 場所 Microsoft.Windows.ManagementUI.CombinedControls.EventsNode.InitializeQueryNode(FileInfo fileInfo) 場所 Microsoft.Windows.ManagementUI.CombinedControls.EventsNode.AddSubNodes(DirectoryInfo dir, EventNodeType nodeType, Boolean userQuery, String standardViewConfig) 場所 Microsoft.Windows.ManagementUI.CombinedControls.EventsNode.AddSavedQueryNodes() 場所 Microsoft.Windows.ManagementUI.CombinedControls.EventsNode.CreateChildNodes() 場所 Microsoft.EventViewer.SnapIn.MMCEventsNode.ExpandNode() 場所 Microsoft.EventViewer.SnapIn.MMCEventsNode.OnExpand(AsyncStatus status) 場所 Microsoft.ManagementConsole.NodeSyncManager.ProcessRequest(NodeRequestInfo info, IRequestStatus requestStatus) 場所 Microsoft.ManagementConsole.SnapIn.ProcessRequest(Request request) 場所 Microsoft.ManagementConsole.Internal.SnapInClient.Microsoft.ManagementConsole.Internal.IMessageClient.ProcessRequest(Request request) 場所 Microsoft.ManagementConsole.Internal.IMessageClient.ProcessRequest(Request request) 場所 Microsoft.ManagementConsole.Executive.RequestStatus.BeginRequest(IMessageClient messageClient, RequestInfo requestInfo) 場所 Microsoft.ManagementConsole.Executive.SnapInRequestOperation.ProcessRequest() 場所 Microsoft.ManagementConsole.Executive.Operation.OnThreadTransfer(SimpleOperationCallback callback)
これは、6月の更新プログラムの適用により、イベントビューアーからExchangeをインストールした際に自動的に作られるイベントビューアーのカスタムフィルタのxmlファイル(msexchangerepl_events.xml)が読み込めなかった為に発生しています。
7月の更新プログラムで解消されているので、7月の更新プログラムを当てれば解消されますが、当然再起動を伴いますので、運用中の環境の場合はすぐには難しいことも有ると思います。
暫定回避したい場合は、このファイルの実体を別のフォルダに一旦移動してあげれば事象は解消可能です。
Move-Item "C:\ProgramData\Microsoft\Event Viewer\Views\msexchangerepl_events.xml" c:\temp
7月以降の更新プログラムを当てた後、待避していたファイルをまた元の場所に戻してあげればカスタムビューが復活します。