-2
我正在嘗試檢查是否有任何消息在我的所有msmq中都有超過2分鐘的腳本。我嘗試了powershell,但最近我得到了多少消息在私人隊列中,但似乎沒有任何選項來獲取變量中的消息以查看它們的時間。這可能嗎?你可以用msmq中的所有消息獲得一個列表嗎?
我正在嘗試檢查是否有任何消息在我的所有msmq中都有超過2分鐘的腳本。我嘗試了powershell,但最近我得到了多少消息在私人隊列中,但似乎沒有任何選項來獲取變量中的消息以查看它們的時間。這可能嗎?你可以用msmq中的所有消息獲得一個列表嗎?
這應該列出所有隊列中的所有郵件,通過他們都去。
以此爲基礎並展開。
gwmi -class Win32_PerfRawData_msmq_msmqqueue -computerName $computerName |
ft -prop Name, MessagesInQueue
在另一個線程中找到了這個答案,這正是我正在尋找的。
[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"
}
}
我使用這個命令已經的變化這一點,但是這將返回所有隊列的列表,我的問題是,一個隊列對象似乎並不有一個返回的消息列表的方法在那個隊列中。 – user3027798