我正在尝试编写一个包含当前正在运行的进程名称的html页面 我试过这个:
$htmlFile="c:\HTMLFILE.HTML"
$HashTBL=@{label="PROCESS NAMES";Expression={$_.name}}
$HtmData=Get-Process |select -Verbose $HashTBL
$HtmData | ConvertTo-Html -Title "Running processes" |Out-File $htmlFile
但是我得到了这个页面: 正如您所看到的,列名称缺失并显示为外卡,
*
AcroRd32
AcroRd32
ApMsgFwd
ApntEx
Apoint
armsvc
audiodg
CCleaner64
chrome
chrome
chrome
chrome
chrome
chrome
chrome
chrome
chrome
chrome
如果我选择多个工作正常的属性:
$htmlFile="c:\HTMLFILE.HTML"
$HashTBL=@{label="PROCESS NAMES";Expression={$_.name}}
$HtmData=Get-Process |select -Verbose $HashTBL,id
$HtmData | ConvertTo-Html -Title "Running processes" |Out-File $htmlFile
生成正确的列标题(只添加了ID属性)
但仍想使用单个属性作为哈希表
答案 0 :(得分:1)
您可以像这样指定convertTo-html的属性:
$htmlFile="c:\HTMLFILE.HTML"
$HashTBL=@{label="PROCESS NAMES";Expression={$_.name}}
$HtmData=Get-Process |select -Verbose $HashTBL
$HtmData | ConvertTo-Html -Title "Running processes" -Property 'PROCESS NAMES' |Out-File $htmlFile
答案 1 :(得分:1)
为什么不在select-object中格式化属性?如果你想要做的只是重新命名列,你可以使用哈希表在Select-Object中做到这一点。
$htmlFile="c:\HTMLFILE.HTML"
get-process | Select-Object @{n='PROCESS NAMES';e={$_.Name}} | Convertto-html -Title "Running processes" | Out-File $htmlfile