MVP по Exchange, и просто хорошему человеку Павлу Нагаеву (кстати рекомендую подписаться на его блог) понадобилось в скрипте привести заголовок сообщений из MIME в читабельный вид. Дело в том что заголовки сообщений на русском языке хранятся в виде подобном этому:
=?windows-1251?B?x+Dq4Ocg8uXr5fTu7eA=?=
Поэтому родилась вот такая вот функция:
function ConvertFrom-MimeString ([string[]]$Strings=@()) { foreach ($Text in ($Strings + @($input))) { if ($Text -match "=\?(?<Encoding>.+?)\?B\?(?<Text>.+)\?=") { Write-Debug "Converting from $($matches.Encoding)..." $Bytes = [convert]::FromBase64String($matches.Text) [System.Text.Encoding]::GetEncoding($matches.Encoding).getString($Bytes) } } }
Можно передать ей строку как аргумент, а можно и из конвейера:








