我正在尝试编写一个脚本,该脚本将通过消息队列并删除/发送到每个消息的另一个子队列,如果正文中有某个字符串。
在伪代码中我正在尝试实现
$queue = 'My Queue'
foreach($message in $queue)
{
if ($message.body.Contains("matchstring")
{
$message.delete OR $message.movequeue
}
}
我目前在powershell中使用[Reflection.Assembly] :: LoadWithPartialName(“System.Messaging”),但我不确定它是否包含我需要的所有功能。
答案 0 :(得分:2)
您可以在PowerShell中执行此操作。这里有一些简单的代码可以帮助您入门并连接到队列:
$queuePath = ("Direct=OS:SERVER\private$\PRIVATEQUEUE")
$queue = New-Object System.Messaging.MessageQueue $queuePath
$queue.GetAllMessages()
使用$ queue | gm和MSDN可以帮助您实现目标。