none
Sacar mi comando de Shell en html RRS feed

  • Pregunta

  • Estimado Foro,

    Quisiera solicitar de su valioso apoyo tengo mi comando de PowerShell y lo saca sin problemas, ahora me estoy quebrando la cabeza por quererlo mostrar en WEB pero no he podido darle el formato, si me pudieran apoyar se los agradeceria mucho.

    Este es mi scrip en Shell:   

    $sqlConn = New-Object System.Data.SqlClient.SqlConnection
    $sqlConn.ConnectionString = “Server=SRVAX2012-TEST\DYNAMICS;Integrated Security=true;Initial Catalog=DBAX2012DEV”
    $sqlConn.Open()

    $sqlcmd = $sqlConn.CreateCommand()
    $query = "SELECT   name,type_desc 
              FROM     master.sys.server_principals 
              WHERE    IS_SRVROLEMEMBER ('sysadmin',name) = 1
              ORDER BY name"
    $sqlcmd.CommandText = $query

    $adp = New-Object System.Data.SqlClient.SqlDataAdapter $sqlcmd

    $data = New-Object System.Data.DataSet 
    $adp.Fill($data) | Out-Null
    $sqlConn.close()
    $data.Tables 

    ===============================================================

    Asi lo estaba intentando pero no funciona:

    $sqlConn = New-Object System.Data.SqlClient.SqlConnection
    $sqlConn.ConnectionString = “Server=SRVAX2012-TEST\DYNAMICS;Integrated Security=true;Initial Catalog=DBAX2012DEV”
    $sqlConn.Open()
     
    $sqlcmd = $sqlConn.CreateCommand()
    $query = "SELECT   name,type_desc 
              FROM     master.sys.server_principals 
              WHERE    IS_SRVROLEMEMBER ('sysadmin',name) = 1
              ORDER BY name"
    $sqlcmd.CommandText = $query
     
    $adp = New-Object System.Data.SqlClient.SqlDataAdapter $sqlcmd
     
    $data = New-Object System.Data.DataSet 
    $adp.Fill($data) | Out-Null
    $sqlConn.close()
    $data.Tables  
    Write-Output "<table>"
    Write-Output "<thead>"
    Write-Output "  <tr>"
    Write-Output "      <th>name</th>"
    Write-Output "      <th>type_desc</th>"
    Write-Output "  </tr>"
    Write-Output "</thead>"
    Write-Output "<tfoot>"
    Write-Output "  <tr>"
    Write-Output "      <td>&nbsp;</td>"
    Write-Output "      <td>&nbsp;</td>"
    Write-Output "  </tr>"
    Write-Output "</tfoot>"
    Write-Output "<tbody>"
    foreach($process in $sqlcmd)
    {
    Write-Output "  <tr>"
    Write-Output "      <td>$($process.name)</td>"
    Write-Output "      <td>$($process.type_desc)</td>"
    Write-Output "  </tr>"
    }
    Write-Output "</tbody>"
    Write-Output "</table>"

    Gracias por su apoyo.

    viernes, 1 de febrero de 2019 0:28

Todas las respuestas

  • Hola Raphael,

    Entiendo que $data.tables es una tabla. Si es así prueba solo añadiendo a tu primer script el siguiente código, tan sólo tienes que usar el cmdlet ConvertTo-HTML

    $style= @"
        <style>
            TABLE {border-width: 1px; border-style: solid; border-color: black; border-collapse: collapse;}
            TH {border-width: 1px; padding: 3px; border-style: solid; border-color: black; background-color: black; color: white;Impact, Charcoal, sans-serif;} 
            TD {border-width: 1px; padding: 3px; border-style: solid; border-color: black;}
            tr:nth-child(even) {background-color: #f2f2f2;}
            tr:nth-child(odd) {background-color: white;}
            TR:hover {background-color: #ddd}
        </style>
    "@
    $html = $data.Tables | ConvertTo-HTML -head $style
    $html | Out-File C:\Temp\TuReport.html
    Saludos,

    lunes, 4 de febrero de 2019 8:25