我有一个非常简单的脚本,我列出了我服务器上的所有网站。我正在使用此输出在Format-Table
中创建自定义列以显示所需信息。然后,我想使用ConvertTo-Html
cmdlet在HTML文件中表示整个信息。
但是当我在代码下面运行时,它只会产生垃圾。但是,如果我对.txt执行Out-File
(无HTML转换),则会记录正确的信息。此外,如果我只在屏幕上显示结果,它仍会显示正确的信息。
cls
Import-Module WebAdministration
Get-Website |
Format-Table @{n = 'Site_Name'; e = {$_.Name}},
@{n = 'Physical Path'; e = {$_.physicalpath}},
@{n = 'Version'; e = {($_.physicalpath.split("\"))[-1]}} -AutoSize |
ConvertTo-Html |
Out-File -FilePath D:\test.html
非常感谢任何帮助。
答案 0 :(得分:0)
Format-Table
创建适合在控制台中显示的格式化输出,但不能将其传递给ConvertTo-Html
。
将Format-Table
替换为Select-Object
:
Get-Website |
Select-Object @{n='Site_Name';e={$_.Name}},
@{n='Physical Path';e={$_.physicalpath}},
@{n='Version';e={($_.physicalpath.split("\"))[-1]}} |
ConvertTo-Html |
Out-File -FilePath D:\test.html
问题就会消失。
如果您将Format-Table
和Select-Object
输出传递到Get-Member
,则可以看到差异:
... | Format-Table ... -AutoSize | Get-Member
... | Select-Object ... | Get-Member