如何重命名MSMQ队列
本文关键字:队列 MSMQ 重命名 | 更新日期: 2023-09-27 17:59:11
我需要从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
}
}
写入主机打印一个新名称,但当通过"计算机管理"浏览队列列表时,它不会更改。
更新:基于此线程,无法重命名。解决方案是删除并重新添加。
您获取的是私有队列,因此应该以Private$
为前缀。尝试将其设置为
$queue.QueueName = "localhost'Private$'bar";
(或)
$queue.QueueName = ".'Private$'bar";
参见MessageQueue.QueueName