Как использовать CSS для вывода Powershell (Semi Advanced) - PullRequest
0 голосов
/ 08 января 2020

Итак, я поигрался с PowerShell "Convertto- HTML", а также с функциями ConvertTo-Enhanced HTML (загружаемый модуль). Я нашел в Интернете отличный шаблон таблицы, который использует CSS и Angular. CSS и Angular выше моего paygrade, и я надеюсь, что кто-то может помочь мне отформатировать вывод.
Использование Get-IAMUserList | Select Username, PasswordLastUsed, UserID |ConvertTo-Html -PreContent "<h2>User List</h2>"|Out-File report.htm

Это приводит к следующему простому HTML (не включите заголовок)

<body>
<h2>User List</h2>
<table>
<colgroup><col/><col/><col/></colgroup>
<tr><th>UserName</th><th>PasswordLastUsed</th><th>UserId</th></tr>
<tr><td>Joe</td><td>1/3/2020 4:36:24 PM</td><td>IPNB63</td></tr>
<tr><td>Sally</td><td>1/1/0001 12:00:00 AM</td><td>GRUIF</td></tr>
<tr><td>Joe</td><td>1/1/0001 12:00:00 AM</td><td>JI4H</td></tr>
<tr><td>user</td><td>1/1/0001 12:00:00 AM</td><td>Z4PM2</td></tr>
</table>
</body>

Я хотел бы использовать код на этом веб-сайте для форматирования этих данных (в качестве примера). Я бы очень хотел использовать его в качестве шаблона. Кто-нибудь может помочь? Вот ссылка - Ссылка на код

Для ясности - я просмотрел ТОННЫ CSS примеров для вывода powershell и перепробовал многие из них. Большинство из них довольно просты, и я могу отформатировать свои данные. Но мне действительно нравится внешний вид более продвинутых вещей, на которые есть ссылки в этой ссылке, но я не могу понять это b / c Я не очень хорошо понимаю CSS / JS. Спасибо за помощь!

1 Ответ

1 голос
/ 09 января 2020

Если вы хотите сделать это «из коробки», используя ConvertTo-Html и хотите отформатировать, то вам нужно вручную создать CSS для ручного форматирования. Если вы хотите использовать CSS, который вам нравится (вам не нужно Javascript, если это таблица stati c), то одним из простых способов является создание таблицы самостоятельно.

I сделать это так:

$UserList = Get-IAMUserList | Select Username, PasswordLastUsed, UserID

$HTMLHead = @'
<!DOCTYPE html>
<html>
<head>
    <title>Table</title>
    <link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.2.0/sandstone/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
    <h2>User List</h2>

  <table class="table table-bordered table-striped">  
    <thead>
      <tr>
        <td>
          <a href="#">UserName</a>
        </td>
        <td>
          <a href="#">PasswordLastUsed</a>
        </td>
        <td>
          <a href="#">UserId</a>
        </td>
      </tr>
    </thead>
    <tbody>
'@

$HTMLRow = @'
      <tr>
        <td>{{UserName}}</td>
        <td>{{PasswordLastUsed}}</td>
        <td>{{UserId}}</td>
      </tr>
'@

$HTMLFoot = @'
    </tbody>
  </table>
</div>
</body>
</html>
'@

$HTMLTable = ''

$UserList | ForEach-Object {
    $Row = $HTMLRow.Replace('{{UserName}}', $_.UserName)
    $Row = $Row.Replace('{{PasswordLastUsed}}', $_.PasswordLastUsed)
    $Row = $Row.Replace('{{UserId}}', $_.UserId)

    $HTMLTable += $Row
}

#Assemble everything
$HTMLOut = $HTMLHead + $HTMLTable + $HTMLFoot

$HTMLOut |Out-File report.htm
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...