pogo
09-10-2015, 16:28
Добрый день.
Есть скрипт, который ищет в почтовом ящике пользователя письмо по параметрам.
Параметры для поиска письма берутся из MessageTrackingLog
$message = Get-MessageTrackingLog -EventID "RECEIVE" -MessageID "$messageID"
$date = $message.Timestamp.ToString("dd\/MM\/yyyy")
$to = $message.Recipients -join "," # преобразовываем массив в строку
$query = "subject:" + "'" + $message.MessageSubject + "'" + " " + "from:" + $message.Sender + " " + '"' + "to:" + '"' + $to + " " + "sent:" + $date
Search-Mailbox -Identity $mailbox -SearchQuery {$query} -TargetMailbox admin -TargetFolder "test" -LogOnly -LogLevel FullПроблема заключается в том, что если в теме письма будет, что-то типа:
Предупреждение Backup: Задание выполнено (Сервер: "Server1") (Задание:"Start1")
То эти кавычки ломают весь запрос $query.
Подскажите, как можно решить проблему? Какое-то динамическое экранирование кавычек или какое-то глобальное экранирование может быть?
Есть скрипт, который ищет в почтовом ящике пользователя письмо по параметрам.
Параметры для поиска письма берутся из MessageTrackingLog
$message = Get-MessageTrackingLog -EventID "RECEIVE" -MessageID "$messageID"
$date = $message.Timestamp.ToString("dd\/MM\/yyyy")
$to = $message.Recipients -join "," # преобразовываем массив в строку
$query = "subject:" + "'" + $message.MessageSubject + "'" + " " + "from:" + $message.Sender + " " + '"' + "to:" + '"' + $to + " " + "sent:" + $date
Search-Mailbox -Identity $mailbox -SearchQuery {$query} -TargetMailbox admin -TargetFolder "test" -LogOnly -LogLevel FullПроблема заключается в том, что если в теме письма будет, что-то типа:
Предупреждение Backup: Задание выполнено (Сервер: "Server1") (Задание:"Start1")
То эти кавычки ломают весь запрос $query.
Подскажите, как можно решить проблему? Какое-то динамическое экранирование кавычек или какое-то глобальное экранирование может быть?