2016-07-19 16 views
1

私は、DataAdapterを使用してMySQLデータベースから読み込むスクリプトを持っています。テーブルidInstance、IPAddress、およびauto idカラムには3つのカラムがあります。私はIdInstanceとIPAddressをレポートに表示するだけですが、スクリプトを実行してテーブルに置くと、7つの列が追加され、余分な5はRowError、RowState、Table、ItemArray、およびHasErrorsになります。どのようにIdInstanceとIpAddress列が必要な2列のみを表示することができます。余分な列のイメージを参照してください。さらに、コンソールへの出力は正しいです。idinstanceとipaddressだけが表示されます。 HTMLテーブルを作成するにはコード内に何かあるはずですか?powershellテーブルの余分な列

function Execute-MySQLQuery([string]$query) { 
$command = New-Object MySql.Data.MySqlClient.MySqlCommand($query, $conn)  
$dataAdapter = New-Object   MySql.Data.MySqlClient.MySqlDataAdapter($command)  
$dataSet = New-Object System.Data.DataSet         
$dataAdapter.Fill($dataSet, "data")              
$command.Dispose() 
return $dataSet.Tables["data"]             
} 

# So, to produce a table of results from a query... 
$Header = @" 
<style> 
TABLE {border-width: 1px;border-style: solid;border-color:  black;border-collapse: collapse;} 
TR:Nth-Child(Even) {Background-Color: #dddddd;} 
TH {border-width: 1px;padding: 3px;border-style: solid;border-color:  black;background-color: #6495ED;} 
TD {border-width: 1px;padding: 3px;border-style: solid;border-color: black;} 

</style> 
<title> 
Patch Report 
</title> 
"@ 
$Pre = "<h1>Patch Report </h1>" 
$Pre += "<h2>These systmes are Not Running Patch Script</h2>" 
$Post = "Run on " 
$Post += Get-Date 

$query = " SELECT prodinstances.Idinstance, prodinstances.IPAddress 
FROM prodinstances 
WHERE prodinstances.Idinstance 
NOT IN (select prodwinupdates.ServersId FROM prodwinupdates) order by IPAddress ASC" 

$result = Execute-MySQLQuery $query 
$strfound = ("Found " + $result.rows.count + " Systems that are not currnetly running Patch Audit Script.") 
$result | Format-Table 

      $emailSmtpServer = "mysmtpserver" 
      $emailFrom = "[email protected]" 
      $emailTo = "[email protected]" 
      $emailSubject = $strfound 
      $emailBody = $result | ConvertTo-HTML -Head $Header -PreContent $Pre -PostContent $Post | Out-String 
    Send-MailMessage -To $emailTo -From $emailFrom -Subject $emailSubject -Body $emailBody -BodyAsHtml -SmtpServer $emailSmtpServe 

enter image description here

答えて

1

あなたはConvertTo-Html-Propertyパラメータに含めたいプロパティを指定します。

$emailBody = $result | ConvertTo-HTML -Property idInstance,IPAddress -Head $Header -PreContent $Pre -PostContent $Post 
+0

あなたは命の恩人ですあなたのマティアスありがとう... – tmac

関連する問題