2016-07-29 60 views
0

我需要從Powershell重命名MSMQ隊列。如何重命名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 
    } 
} 

寫主機打印一個新的名字,但通過瀏覽「計算機管理」隊列列表時,它不會改變。

更新:基於此thread,它不能被重命名。解決方法是刪除並重新添加。

回答

0

你提取的是私人隊列,因此應該以Private$爲前綴。嘗試設置它像

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

(OR)

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

MessageQueue.QueueName

+0

感謝。我也嘗試過;得到:「路徑語法無效。」 –