2016-11-16 64 views

回答

-1

這應該列出所有隊列中的所有郵件,通過他們都去。

以此爲基礎並展開。

gwmi -class Win32_PerfRawData_msmq_msmqqueue -computerName $computerName | 
    ft -prop Name, MessagesInQueue 
+1

我使用這個命令已經的變化這一點,但是這將返回所有隊列的列表,我的問題是,一個隊列對象似乎並不有一個返回的消息列表的方法在那個隊列中。 – user3027798

0

在另一個線程中找到了這個答案,這正是我正在尋找的。

[String]$cName = $Env:COMPUTERNAME 
[Reflection.Assembly]::LoadWithPartialName("System.Messaging") | out-null 
[System.Messaging.MessageQueue[]]$queues = [System.Messaging.MessageQueue]::GetPrivateQueuesByMachine($cName.ToLower()) 
Foreach ($queue in $queues) { 
$queue.MessageReadPropertyFilter.SetAll() 
try { 
    [System.Messaging.Message]$message = $queue.Peek(10) 
    Write-Host $queue.QueueName $message.ArrivedTime 
} 
catch { 
    #Write-Host "Timeout" 
} 
} 
相關問題