5

以下の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

クリック可能なリンクとしてレンダリングしたい

下のスクリーンショットをチェックして、現在どのようにレンダリングされているかを確認してください ここに画像の説明を入力

前もって感謝します

4

3 に答える 3

7

PowerShell は特殊文字をエンコードします。これを解決する 1 つの方法は、それらを元に戻してから、結果をファイルに書き込むことです。

$pso = New-Object PSObject -Property @{
    SiteUrl = $spweb.url
    PageTitle= $PageTitle
    PageUrl = "<a href='$PagesUrl'>$PageTitle</a>"  
} | ConvertTo-Html


$pso -replace '&gt;','>' -replace '&lt;','<' -replace '&#39;',"'" | 
Out-File \\myfolder\InventoryReports\$CurrentMonth.html

アップデート:

すべての html エンティティを処理するより良い方法を次に示します。

Add-Type -AssemblyName System.Web
[System.Web.HttpUtility]::HtmlDecode($pso)
于 2013-03-23T12:45:34.513 に答える
2

すなわち

$pso = New-Object PSObject -Property @{
    SiteUrl = $spweb.url
    PageTitle= $PageTitle
    PageUrl = "<a href='$PagesUrl'>$PageTitle</a>"  
} | ConvertTo-Html

Add-Type -AssemblyName System.Web

[System.Web.HttpUtility]::HtmlDecode($pso) | 
Out-File \\myfolder\InventoryReports\$CurrentMonth.html
于 2013-05-29T13:54:13.720 に答える