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'
相关问题