2016-07-29 13 views
0

Ich muss die MSMQ-Warteschlange von Powershell umbenennen.So benennen Sie die MSMQ-Warteschlange um

Hier ist, was ich bin mit:

[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 druckt einen neuen Namen, aber wenn eine Warteschlangenliste über „Computerverwaltung“ browsing wird nicht verändert.

Aktualisierung: Basierend auf dieser 10 kann es nicht umbenannt werden. Die Lösung besteht darin, zu löschen und neu hinzuzufügen.

Antwort

0

Was Sie abrufen, sind private Warteschlangen und sollten daher Private$ vorangestellt werden. versuchen Sie es wie

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

(OR)

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

MessageQueue.QueueName

+0

Dank Siehe Einstellung. Ich habe das auch versucht; bekommen: "Pfadsyntax ist ungültig." –

Verwandte Themen