Skip to content

Вышел обновленный коннектор Exchange для SCSM 2012

Вышел обновленный коннектор Exchange для SCSM 2012 published on Комментариев к записи Вышел обновленный коннектор Exchange для SCSM 2012 нет

Как-то во всей этой суматохе я совсем забыл написать про хорошую новость – вышел обновленный коннектор Exchange для SCSM 2012 SP1\R2. Список исправлений:

  • Коннектор Exchange Connector иногда создает несколько рабочих элементов для одного письма.
  • Коннектор Exchange “зависает” при попытке обработать письмо, содержащее большой объем HTML-разметки.
  • Коннектор Exchange не может обработать письмо, если оно содержит вложения с расширением ‘.msg’.
  • Иногда коннектор Exchange может потреблять большое количество памяти (несколько Гб) при обновлении рабочих элементов.
  • Новый конфигурационный элемент типа Пользователь создается в CMDB, если адреса внешних пользователей, указанных в поле Кому или Копия, нет в CMDB. В связи с этим, отправитель может добавить пользователей в CMDB. Теперь это можно настроить.
  • Голосование для Действий Рецензирования с использованием коннектора Exchange не обновляет поле “Проголосовал” («VotedBy»).
  • Коннектор Exchange добавляет нового голосующего в Действие Рецензирования, если отправитель письма не является голосующим.

Скачать можно здесь. По традиции, интерфейс только на английском языке.

Ошибка “Предоставленные DateTime представляет недопустимое время” при построении отчета

Ошибка “Предоставленные DateTime представляет недопустимое время” при построении отчета published on Комментариев к записи Ошибка “Предоставленные DateTime представляет недопустимое время” при построении отчета нет

Предновогодняя пора это не только беготня по магазинам, но и время отчетности. К сожалению, с отчетами тоже иногда бывают проблемы. ВОт одна из них: при попытке запустить любой отчет в SCSM вы можете получить вот такую ошибку:

System.Exception: Произошла ошибка при обработке отчета. ---> System.Exception: В выражении Value для параметр запроса "@StartDate" содержится ошибка: Предоставленные DateTime представляет недопустимое время. Например, если часы переведены вперед, любое время в периоде, который пропущен, является недопустимым.
Имя параметра: dateTime
   --- Конец трассировки внутреннего стека исключений ---
   в Microsoft.Reporting.WinForms.ServerReport.ServerUrlRequest(Boolean isAbortable, String url, Stream outputStream, String& mimeType, String& fileNameExtension)
   в Microsoft.Reporting.WinForms.ServerReport.InternalRender(Boolean isAbortable, String format, String deviceInfo, NameValueCollection urlAccessParameters, Stream reportStream, String& mimeType, String& fileNameExtension)
   в Microsoft.Reporting.WinForms.ProcessingThread.ProcessThreadMain(Object arg)
System.Exception: В выражении Value для параметр запроса "@StartDate" содержится ошибка: Предоставленные DateTime представляет недопустимое время. Например, если часы переведены вперед, любое время в периоде, который пропущен, является недопустимым.
Имя параметра: dateTime

Проблема кроется не в самом SCSM, а в переводе времени. Такая ошибка может возникнуть, если вы выберете дату и время в текущем часовом поясе, которая не существует в UTC.

Напомню, все даты в базе SCSM хранятся в UTC. Когда вы запускаете отчет у вас есть возможность выбрать дату и часовой пояс. По умолчанию, используется текущий часовой пояс (Moscow, St. Petersburg, Volgograd (RTZ 2) для московского времени). Осень этого года мы перевели часы на час назад. В связи с этим в новом часовом поясе “отсутствует” один час, и чтобы не сильно “заморачиваться”, этот час убрали из начала текущего года. Т.е. при выборе часового пояса Moscow, St. Petersburg, Volgograd (RTZ 2) (и некоторых других RTZ #), в нем будет отсутствовать один час с 01.01.2014 00:00 по 01.01.2014 00:59:59

Это легко проверить с помощью PowerShell

$tzi = [TimeZoneInfo]::FindSystemTimeZoneById("Russian Standard Time")
$dtZero = new-object DateTime(2014,1,1,0,0,0,0)
$dtZero # 1 января 2014 г. 0:00:00
[TimeZoneInfo]::ConvertTimeToUtc($dtZero, $tzi) # error
$dtZero.AddHours(-1) # 31 декабря 2013 г. 23:00:00
[TimeZoneInfo]::ConvertTimeToUtc($dtZero.AddHours(-1), $tzi) # OK, 31 декабря 2013 г. 20:00:00
$dtZero.AddHours(1) # 1 января 2014 г. 1:00:00
[TimeZoneInfo]::ConvertTimeToUtc($dtZero.AddHours(1), $tzi) # OK, 31 декабря 2013 г. 21:00:00

Обратите внимание, что в UTC разница всего в один час, а не два.

Возвращаясь к отчетам SCSM, можно понять, что ошика будет возникать только если выбрано начало года. Для того, чтобы избежать ошибки, необходимо выбрать либо другой часовой пояс, либо указать дату и время начала отчета отличную от 01.01.2014 00:00

Primary Sidebar