Вот мой код для отправки локального сообщения MSMQ:
[Reflection.Assembly]::LoadWithPartialName("System.Messaging")
$queue = new-object System.Messaging.MessageQueue $queueName
$utf8 = new-object System.Text.UTF8Encoding
$tran = new-object System.Messaging.MessageQueueTransaction
$tran.Begin()
$msgBytes = $utf8.GetBytes($message)
$msgStream = new-object System.IO.MemoryStream
$msgStream.Write($msgBytes, 0, $msgBytes.Length)
$msg = new-object System.Messaging.Message
$msg.BodyStream = $msgStream
$msg.Label = "Test MSMQ"
$queue.Send($msg, $tran)
$tran.Commit()
Write-Host "Message written"
Но когда открывается сообщение в Windows, оно также показывает значение длины сообщения в шестнадцатеричном формате. Я хочу удалить его, чтобы показывать только данные. Кто-то предлагает ActiveXMessageFormatter, но это не для PowerShell