我正在尝试整理一个脚本来监视服务器上的MSMQ。我找到了this,它的工作原理很像魅力,但我还需要获取到达时间。
使用Get-Member cmdlet时,我会得到一个属性列表,但似乎没有一个可以让我得到所需的东西。
有人知道如何获得到达时间吗?
/G
最佳答案
终于明白了。
[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"
}
}
诀窍是设置MessageReadPropertyFilter。可以分别设置每个属性,但是现在可以这样做。
关于powershell - 监控MSMQ到达时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11243251/