如何在 PowerShell HTML 输出中使用 CSS 样式?
层叠样式表 (CSS) 通常用于使用样式格式化 HTML。它描述了如何显示 HTML 元素。
一旦我们从Convertto-HTML命令获得输出,我们就可以使用 CSS 样式使输出更具样式。
假设我们有以下将服务输出表转换为 HTML 的示例。
示例
Get-Service | Select Name, DisplayName, Status, StartType | ConvertTo-Html -Title "Services" -PreContent "<h1>Services Output</h1>" | Out-File Servicesoutput.html
上述命令在 HTML 中的输出很简单。

有多种方法可以在上述 HTML 文件中添加CSS样式,以便文件输出更具样式。我们将使用最常见的方法来添加CSS样式。
头部
CSSURI
头部方法。
Convertto-HTML cmdlet 支持 -Head 属性。我们可以为 HTML 提供标题以及<style></style>标签,以便 PowerShell 能够理解样式。例如,
示例
$head = @"
<style>
body
{
background-color: Gainsboro;
}
table, th, td{
border: 1px solid;
}
h1{
background-color:Tomato;
color:white;
text-align: center;
}
</style>
"@
Get-Service | Select Name, DisplayName, Status, StartType | ConvertTo-Html -Title "Services" -PreContent "<h1>Services Output</h1>" -Head $head | Out-File Servicesoutput.html在上面的脚本中,我们使用了$head作为数组,因此我们可以在<style></style>标签之间包含整个CSS脚本。
第一个元素是 HTML body,我们为网页的背景颜色提供了Gainsboro。接下来,我们使用table, th(表头)和td(表格数据)来覆盖其边框,最后,我们在<h1></h1>标签之间使用了-Precontent属性,同时我们在CSS文件中也提到了h1标签,因此我们根据我们的样式要求提供不同的属性。
输出

同样,您可以使用 CSS 参考指南并使用多种样式。这种方法很简单,因为当您共享脚本时,您不需要向其他用户提供单独的 CSS 文件,但问题是当您添加更多样式时,脚本有时会变得很长。为了克服这个问题,我们可以向Convertto-HTML cmdlet 提供外部 CSS 文件,如第二种方法所示。
Cssuri 方法(外部 CSV)
在这种方法中,我们不向Convertto-HTML cmdlet 提供Header属性,而是可以使用cssuri属性来链接外部 CSS 文件。CSS 文件将与第一种方法中提到的相同,除了不会添加<style></style>参数。首先,我们将检查名为Style.css的保存的CSS文件,然后我们将查看链接外部CSS文件的脚本。
CSS 文件 (style.css)。
body
{
background-color: Gainsboro;
}
table, th, td{
border: 1px ridge;
}
h1{
background-color:Tomato;
color:white;
text-align: center;
}
脚本
Get-Service | Select Name, DisplayName, Status, StartType | ConvertTo-Html -Title "Services" -PreContent "Services Output
" -CssUri .\style.css | Out-File Servicesoutput.html
如前所述,在单独的 CSS 文件中,您不需要提及<style></style>标签。在上面的命令中,我们向 -Cssuri cmdlet 提供了 CSS 文件的路径。这里,脚本和 CSS 文件都位于同一位置。如果 CSS 文件位于不同的位置,则需要提供 CSS 文件的完整路径。输出与第一个示例中显示的相同。

数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP