0
我試圖從三個不同的環境中返回帶有消息隊列的表。我可以複製和粘貼所有三個代碼的現有代碼,但我想使它更清潔,更可重用。PowerShell循環通過消息隊列
有沒有辦法循環遍歷每個消息隊列並將它們返回到單獨的表中(即:Dev,Dev2,Dev3隊列)?
[object]$dev3Queues = gwmi -class Win32_PerfFormattedData_msmq_MSMQQueue -computerName myServer | Where{$_.Name -like "*dev3*" } | select Name,MessagesInQueue #| Out-File "C:\test.txt"
[object]$dev2Queues = gwmi -class Win32_PerfFormattedData_msmq_MSMQQueue -computerName myServer | Where{$_.Name -like "*dev2*" } | select Name,MessagesInQueue #| Out-File "C:\test2.txt"
[object]$devQueues = gwmi -class Win32_PerfFormattedData_msmq_MSMQQueue -computerName myServer |
Where{$_.Name -notlike "*dev2*" -AND $_.Name -notlike "*dev3*" -AND $_.Name -notlike "*private*" -AND $_.Name -notlike "*Computer Queues*" -AND $_.Name -notlike "*uat*"} | select Name,MessagesInQueue #| Out-File "C:\test3.txt"
$Html = "<html><head>Whoo Queues</head><body><table border=1>"
foreach($element in $devQueues)
{
$Html += "<tr><td>" + $element.Name + "</td><td>"+ $element.MessagesInQueue + "</td> </tr>"
}
$Html += "</table></body></html>"
$Html | out-file C:\temp\DEVQueues.html
#environmentloop - dev,dev2,dev3
#{
#queue loop + html
#}
這很有效地得到隊列並格式化它們。有沒有什麼辦法讓循環打印出每個表的特定名稱(例如:「Dev1 Queues」,「Dev2 Queues」等)還是調整html的問題? – parabellum27 2014-09-24 06:00:02
@ parabellum27我不認爲'ConvertTo-Html'提供了這個功能,所以你可能必須在生成的HTML字符串上使用字符串替換:'($ data | ... | ConvertTo-Html -Fragment)-replace'
相關問題