在PowerShell中一次通过MSMQ一条消息

时间:2012-08-31 14:07:45

标签: powershell msmq

我正在尝试编写一个脚本,该脚本将通过消息队列并删除/发送到每个消息的另一个子队列,如果正文中有某个字符串。

在伪代码中我正在尝试实现

$queue = 'My Queue'
foreach($message in $queue)
    {
    if ($message.body.Contains("matchstring")
        {
         $message.delete OR $message.movequeue
         }
    } 

我目前在powershell中使用[Reflection.Assembly] :: LoadWithPartialName(“System.Messaging”),但我不确定它是否包含我需要的所有功能。

1 个答案:

答案 0 :(得分:2)

您可以在PowerShell中执行此操作。这里有一些简单的代码可以帮助您入门并连接到队列:

$queuePath = ("Direct=OS:SERVER\private$\PRIVATEQUEUE")
$queue = New-Object System.Messaging.MessageQueue $queuePath
$queue.GetAllMessages()

使用$ queue | gm和MSDN可以帮助您实现目标。