2016-09-13 8 views
0

PowerShellを使用してPRTG監視ツールからサービスの最悪の稼働時間を抽出することを検討しています。特定のサービス(この場合はBIPレポート)のセンサーをいくつか表示したサンプル表があります。稼働時間/休止時間の列は歪んでいるように見えるので、Good/Failed列には最良のデータがあります。 BIPReportHTMLからデータを抽出するPowerShell

は私が部分的に以下を参照してください「ページのソースを表示」を見てみると次のようにサンプルテーブルには、あなたは私が上で報告して最悪のアップタイムを抽出する必要があり、私はいくつかの行を持って見ることができていますコード(ここでは提供されないすべてのソース、私が抽出された必要な部分だけ):

</td> 
<td class="rightalign"> 
    100 %<div class="colorflag" style="background-color:#00c000">&nbsp;</div><br> 
    0 %<div class="colorflag" style="background-color:#00c000">&nbsp;</div> 
</td> 
<td class="rightalign"> 
    <span class="percent">[30d23h48m23s]</span><br> 
    <span class="percent">[0s]</span> 
</td> 
<td class="rightalign"> 
    99.973 %<div class="colorflag" style="background-color:#00c000">&nbsp;</div><br> 
    0.027 %<div class="colorflag" style="background-color:#00c000">&nbsp;</div> 
</td> 
<td> 
    <span class="percent">[44628]</span><br> 
    <span class="percent">[12]</span> 
</td> 
</tr> 




     </table> 
    </td> 

     <td style="" class="rightalign"> 

     0 msec<br> 

     </td> 
     <td style="" class="rightalign"> 
      100 %<div class="colorflag" style="background-color:#00c000">&nbsp;</div><br> 
      0 %<div class="colorflag" style="background-color:#00c000">&nbsp;</div> 
     </td> 
     <td style="" class="rightalign"> 
      <span class="percent">[30d23h48m23s<br> 
      <span class="percent">[0s 
     </td> 
     <td style="" class="rightalign"> 
      99.973 %<div class="colorflag" style="background-color:#00c000">&nbsp;</div><br> 
      0.027 %<div class="colorflag" style="background-color:#00c000">&nbsp;</div> 
     </td> 
     <td style=""> 
      <span class="percent">[44628]</span><br> 
      <span class="percent">[12]</span> 
     </td> 

</tr> 
<!-- Template Sensorlist Dataline No Graph.htm --> 

私は、私は必要なデータのみを抽出する方法か見当もつかない、私は[] 'sの間でデータを検索し、%を計算することができそれがすでに完了していれば、必要なデータだけをどのように引き出すことができますか?異なる表には多少の情報があります。

+0

通常、HTMLは解析され、値はさまざまなDOMセレクタまたは列挙体を使用して抽出されますが、[たくさんの例があります] ://www.google.com/#q=stackoverflow+PowerShell+to+extract+data+from+HTML) – wOxxOm

答えて

0

私が言う:

- まず、XMLのルートノードが常に同じであるかどうかを確認してみてください。

それが事実だ-IF、その後、以下のコマンドを使用します。

(New-Object System.Net.WebClient).DownloadString($URL) 

は、結果を解析し、開口部と、ルートノードの終了タグを探します。 これを取得したら、その部分だけをXML変数に送ることができます。

次に、PowerShellツールを使用してXMLを解析し、最も低い割合を見つけることができます。しかし、私はあなたの例をどのようにアイテムにバインドするかわかりません...

+0

私が使ったものに非常に近いです。私は次のようになりました:

$resp = $req.GetResponse()
$reqstream = $resp.GetResponseStream()
$stream = new-object System.IO.StreamReader $reqstream
$result = $stream.ReadToEnd()
Jas

関連する問題