【问题标题】:How to rename MSMQ queue如何重命名 MSMQ 队列
【发布时间】:2016-12-04 12:28:25
【问题描述】:

我需要从 Powershell 重命名 MSMQ 队列。

这是我正在运行的:

[System.Reflection.Assembly]::LoadWithPartialName("System.Messaging")
$privateQueues = [System.Messaging.MessageQueue]::GetPrivateQueuesByMachine(".") 

foreach ($queue in $privateQueues) 
{
    if($queue.QueueName.Contains("foo"))
    {
        $queue.QueueName = "bar"

         Write-Host $queue.QueueName
    }
}   

Write-Host 打印一个新名称,但是通过“计算机管理”浏览队列列表时,它并没有改变。

更新:基于此thread,无法重命名。解决办法是删除后重新添加。

【问题讨论】:

    标签: c# windows powershell msmq


    【解决方案1】:

    您获取的是私有队列,因此应以Private$ 为前缀。尝试将其设置为

    $queue.QueueName = "localhost\Private$\bar";
    

    (或)

    $queue.QueueName = ".\Private$\bar";
    

    MessageQueue.QueueName

    【讨论】:

    • 谢谢。我也试过了;得到:“路径语法无效。”
    猜你喜欢
    • 2014-04-07
    • 2010-12-10
    • 2011-06-16
    • 2015-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    • 2010-12-07
    相关资源
    最近更新 更多