2

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

在我目前正在尝试实现的伪代码中

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

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

4

1 回答 1

3

您可以在 PowerShell 中执行此操作。下面是一些简单的代码,可以帮助您开始并连接到队列:

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

使用 $queue | gm 和 MSDN 将您带到您需要的地方。

于 2012-08-31T15:33:09.843 回答