Ich habe ein Skript, das aus einer MySQL-Datenbank mit einem DataAdapter liest. In der Tabelle idInstance, IPAddress und der Spalte auto id gibt es drei Spalten. Ich möchte nur, dass IdInstance und IPAddress im Bericht angezeigt werden, aber wenn ich das Skript ausführe und in die Tabelle bringe, bekomme ich 7 Spalten, die zusätzlichen 5 sind RowError, RowState, Table, ItemArray und HasErrors. Wie kann ich nur die 2 Spalten zeigen, die ich möchte, IdInstance und IpAddress Spalten. Siehe Bild von zusätzlichen Spalten. Außerdem ist die Ausgabe an die Konsole korrekt und zeigt nur idinstance und ipadresse an. also muss es etwas im Code zum Erstellen der HTML-Tabelle sein?Zusätzliche Spalten in Powershell-Tabelle
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
Danke Mathias Sie sind ein Lebensretter ... – tmac