我正在使用下面的 powershell 脚本将输出写入 html 文件,问题是它将所有内容都呈现为文本。
我的代码:
$PagesObject = New-Object PSObject
Add-Member -input $PagesObject noteproperty 'Site Url' $spweb.url
Add-Member -input $PagesObject noteproperty 'Page Title' $PageTitle
Add-Member -input $PagesObject noteproperty 'Page Url' "<a href="$PagesUrl">$PageTitle</a>"
$results += $PagesObject
$results | ConvertTo-HTML -head $a -body | Out-File \\myfolder\InventoryReports\$CurrentMonth.html
我想将其呈现为可点击链接
检查下面的屏幕截图,看看它现在是如何渲染的
提前致谢
最佳答案
PowerShell 对特殊字符进行编码。解决此问题的一种方法是将它们转换回来,然后将结果写入文件:
$pso = New-Object PSObject -Property @{
SiteUrl = $spweb.url
PageTitle= $PageTitle
PageUrl = "<a href='$PagesUrl'>$PageTitle</a>"
} | ConvertTo-Html
$pso -replace '>','>' -replace '<','<' -replace ''',"'" |
Out-File \\myfolder\InventoryReports\$CurrentMonth.html
更新:
这是处理所有 html 实体的更好方法:
Add-Type -AssemblyName System.Web
[System.Web.HttpUtility]::HtmlDecode($pso)
关于powershell - 如何使用 Powershell 呈现可点击的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15581012/