Megosztás a következőn keresztül:


ConvertTo-Html

A .NET-objektumokat HTML-fájllá alakítja, amelyek megjeleníthetők egy webböngészőben.

Syntax

ConvertTo-Html
              [-InputObject <PSObject>]
              [[-Property] <Object[]>]
              [[-Body] <String[]>]
              [[-Head] <String[]>]
              [[-Title] <String>]
              [-As <String>]
              [-CssUri <Uri>]
              [-PostContent <String[]>]
              [-PreContent <String[]>]
              [-Meta <Hashtable>]
              [-Charset <String>]
              [-Transitional]
              [<CommonParameters>]
ConvertTo-Html
              [-InputObject <PSObject>]
              [[-Property] <Object[]>]
              [-As <String>]
              [-Fragment]
              [-PostContent <String[]>]
              [-PreContent <String[]>]
              [<CommonParameters>]

Description

A ConvertTo-Html parancsmag HTML-fájllá alakítja a .NET-objektumokat, amelyek megjeleníthetők egy webböngészőben. Ezzel a parancsmaggal megjelenítheti egy parancs kimenetét egy weblapon.

A ConvertTo-Html paramétereivel kijelölheti az objektumtulajdonságokat, megadhatja a táblázat- vagy listaformátumot, megadhatja a HTML-oldal címét, szöveget adhat hozzá az objektum előtt és után, és szigorú DTD-oldal helyett csak a táblázatot vagy a listatöredéket adja vissza.

Ha több objektumot küld ConvertTo-Html, a PowerShell az első beküldendő objektum tulajdonságai alapján hozza létre a táblát (vagy listát). Ha a többi objektum nem rendelkezik a megadott tulajdonságok egyikével, az objektum tulajdonságértéke egy üres cella. Ha a többi objektum további tulajdonságokkal rendelkezik, ezek a tulajdonságértékek nem szerepelnek a fájlban.

Példák

1. példa: Weblap létrehozása a dátum megjelenítéséhez

ConvertTo-Html -InputObject (Get-Date)

Ez a parancs létrehoz egy HTML-lapot, amely megjeleníti az aktuális dátum tulajdonságait. Az InputObject paraméterrel küldi el a Get-Date parancs eredményeit a ConvertTo-Html parancsmagnak.

2. példa: Weblap létrehozása PowerShell-aliasok megjelenítéséhez

Get-Alias | ConvertTo-Html | Out-File aliases.htm
Invoke-Item aliases.htm

Ez a parancs létrehoz egy HTML-lapot, amely felsorolja a PowerShell-aliasokat az aktuális konzolon.

A parancs a Get-Alias parancsmaggal szerzi be az aliasokat. A folyamat operátor (|) használatával küldi el az aliasokat a ConvertTo-Html parancsmagnak, amely létrehozza a HTML-oldalt. A parancs a Out-File parancsmaggal is elküldi a HTML-kódot a aliases.htm fájlba.

3. példa: Weblap létrehozása PowerShell-események megjelenítéséhez

Get-EventLog -LogName "Windows PowerShell" | ConvertTo-Html | Out-File pslog.htm

Ez a parancs létrehoz egy pslog.htm nevű HTML-lapot, amely megjeleníti az eseményeket a Windows PowerShell eseménynaplójában a helyi számítógépen.

A Get-EventLog parancsmaggal lekéri az eseményeket a Windows PowerShell-naplóban, majd a folyamatkezelővel (|) elküldi az eseményeket a ConvertTo-Html parancsmagnak. A parancs a Out-File parancsmaggal is elküldi a HTML-kódot a pslog.htm fájlba.

A parancs a Out-File parancsmaggal is elküldi a HTML-kódot a pslog.htm fájlba.

4. példa: Weblap létrehozása folyamatok megjelenítéséhez

Get-Process |
  ConvertTo-Html -Property Name, Path, Company -Title "Process Information" |
    Out-File proc.htm
Invoke-Item proc.htm

Ezek a parancsok létrehoznak és megnyitnak egy HTML-lapot, amely felsorolja a helyi számítógépen található folyamatok nevét, elérési útját és vállalatát.

Az első parancs a Get-Process parancsmaggal szerzi be a számítógépen futó folyamatokat képviselő objektumokat. A parancs a folyamatkezelő (|) használatával küldi el a folyamatobjektumokat a ConvertTo-Html parancsmagnak.

A parancs a Tulajdonság paraméter használatával választja ki a táblában felvenni kívánt folyamatobjektumok három tulajdonságát. A parancs a Cím paraméterrel adja meg a HTML-lap címét. A parancs a Out-File parancsmaggal is elküldi az eredményül kapott HTML-fájlt egy Proc.htmnevű fájlba.

A második parancs a Invoke-Item parancsmaggal nyitja meg a Proc.htm az alapértelmezett böngészőben.

5. példa: Weblap létrehozása szolgáltatásobjektumok megjelenítéséhez

Get-Service | ConvertTo-Html -CssUri "test.css"

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>HTML TABLE</title>
<link rel="stylesheet" type="text/css" href="test.css" />
...

Ez a parancs létrehozza az Get-Service parancsmag által visszaadott szolgáltatásobjektumok HTML-lapját. A parancs a CssUri paraméterrel adja meg a HTML-lap kaszkádolt stíluslapját.

A CssUri paraméter további <link rel="stylesheet" type="text/css" href="test.css"> címkét ad hozzá az eredményként kapott HTML-fájlhoz. A címke HREF attribútuma tartalmazza a stíluslap nevét.

6. példa: Weblap létrehozása szolgáltatásobjektumok megjelenítéséhez

Get-Service | ConvertTo-Html -As List | Out-File services.htm

Ez a parancs létrehozza az Get-Service parancsmag által visszaadott szolgáltatásobjektumok HTML-lapját. A parancs a As paramétert használja a listaformátum megadásához. A parancsmag Out-File elküldi az eredményül kapott HTML-fájlt a Services.htm fájlnak.

7. példa: Webes táblázat létrehozása az aktuális dátumhoz

Get-Date | ConvertTo-Html -Fragment

<table>
<colgroup>...</colgroup>
<tr><th>DisplayHint</th><th>DateTime</th><th>Date</th><th>Day</th><th>DayOfWeek</th><th>DayOfYear</th><th>Hour</th>
<th>Kind</th><th>Millisecond</th><th>Minute</th><th>Month</th><th>Second</th><th>Ticks</th><th>TimeOfDay</th><th>Year</th></tr>
<tr><td>DateTime</td><td>Monday, May 05, 2008 10:40:04 AM</td><td>5/5/2008 12:00:00 AM</td><td>5</td><td>Monday</td>
<td>126</td><td>10</td><td>Local</td><td>123</td><td>40</td><td>5</td><td>4</td><td>633455808041237213</td><td>10:40:04.12
37213</td><td>2008</td></tr>
</table>

Ez a parancs ConvertTo-Html használ az aktuális dátum HTML-táblázatának létrehozásához. A parancs a Get-Date parancsmagot használja az aktuális dátum lekéréséhez. Egy folyamatkezelő (|) használatával küldi el az eredményeket a ConvertTo-Html parancsmagnak.

A ConvertTo-Html parancs tartalmazza a Töredék paramétert, amely a kimenetet HTML-táblára korlátozza. Ennek eredményeképpen a HTML-lap többi eleme, például a <HEAD> és a <BODY> címkék kimaradnak.

8. példa: Weblap létrehozása PowerShell-események megjelenítéséhez

Get-EventLog -Log "Windows PowerShell" | ConvertTo-Html -Property Id, Level, Task

Ez a parancs a Get-EventLog parancsmaggal lekéri az eseményeket a Windows PowerShell eseménynaplójából.

Egy folyamatkezelő (|) használatával küldi el az eseményeket a ConvertTo-Html parancsmagnak, amely HTML formátumúvá alakítja az eseményeket.

A ConvertTo-Html parancs a Tulajdonság paraméter használatával csak az esemény azonosítójának, szintés Tevékenység tulajdonságait választja ki.

9. példa: Weblap létrehozása a megadott szolgáltatások megjelenítéséhez

$htmlParams = @{
  Title = "Windows Services: Server01"
  Body = Get-Date
  PreContent = "<P>Generated by Corporate IT</P>"
  PostContent = "For details, contact Corporate IT."
}
Get-Service A* |
  ConvertTo-Html @htmlParams |
    Out-File Services.htm
Invoke-Item Services.htm

Ez a parancs létrehoz és megnyit egy weblapot, amely megjeleníti a Akezdődő szolgáltatásokat a számítógépen. A Cím, Törzs, PreContentés PostContent paraméterek ConvertTo-Html et használja a kimenet testreszabásához.

A parancs első része a Get-Service parancsmaggal szerzi be a Akezdődő szolgáltatásokat a számítógépen. A parancs egy folyamatkezelő (|) használatával küldi el az eredményeket a ConvertTo-Html parancsmagnak. A parancs a Out-File parancsmaggal is elküldi a kimenetet a Services.htm fájlba.

A pontosvessző (;) befejezi az első parancsot, és elindít egy második parancsot, amely a Invoke-Item parancsmaggal nyitja meg a Services.htm fájlt az alapértelmezett böngészőben.

10. példa: A HTML metatulajdonságainak és karakterkészletének beállítása

Get-Service | ConvertTo-Html -Meta @{
  refresh=10
  author="Author's Name"
  keywords="PowerShell, HTML, ConvertTo-Html"
} -Charset "UTF-8"

Ez a parancs létrehozza egy weblap HTML-kódját a frissítéshez, a szerzőhöz és a kulcsszavakhoz tartozó metacímkékkel. A lap karakterkészlete UTF-8 értékre van állítva

11. példa: A HTML beállítása XHTML átmeneti DTD-re

Get-Service | ConvertTo-Html -Transitional

Ez a parancs beállítja a visszaadott HTML DOCTYPE az XHTML átmeneti DTD

Paraméterek

-As

Meghatározza, hogy az objektum táblázatként vagy listaként van-e formázva. Az érvényes értékek Tábla és Lista. Az alapértelmezett érték Tábla.

A Tábla érték a PowerShell-táblázat formátumához hasonló HTML-táblázatot hoz létre. A fejlécsor megjeleníti a tulajdonságneveket. Minden táblasor egy objektumot jelöl, és megjeleníti az objektum értékeit az egyes tulajdonságokhoz.

A Lista érték kétoszlopos HTML-táblázatot hoz létre minden olyan objektumhoz, amely a PowerShell-lista formátumára hasonlít. Az első oszlop a tulajdonság nevét jeleníti meg. A második oszlop a tulajdonság értékét jeleníti meg.

Típus:String
Elfogadott értékek:Table, List
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Body

A nyitó <BODY> címke után hozzáadni kívánt szöveget adja meg. Alapértelmezés szerint nincs szöveg ebben a pozícióban.

Típus:String[]
Position:3
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Charset

A nyitó <charset> címkéhez hozzáadni kívánt szöveget adja meg. Alapértelmezés szerint nincs szöveg ebben a pozícióban.

Ezt a paramétert a PowerShell 6.0-ban vezettük be.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-CssUri

A HTML-fájlra alkalmazott kaszkádolt stíluslap (CSS) egységes erőforrás-azonosítóját (URI) adja meg. Az URI szerepel a kimenet stíluslap-hivatkozásában.

Típus:Uri
Aliasok:cu, uri
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Fragment

Csak HTML-táblázatot hoz létre. A <HTML>, <HEAD>, <TITLE>és <BODY> címkék ki vannak hagyva.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Head

A <HEAD> címke tartalmát adja meg. Az alapértelmezett érték a <title\>HTML TABLE</title>. Ha a Head paramétert használja, a Cím paraméter figyelmen kívül lesz hagyva.

Típus:String[]
Position:1
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-InputObject

A HTML-ben megjelenítendő objektumokat adja meg. Adjon meg egy változót, amely tartalmazza az objektumokat, vagy írjon be egy parancsot vagy kifejezést, amely lekéri az objektumokat.

Ha ezt a paramétert több objektum, például a számítógép összes szolgáltatásának elküldéséhez használja, ConvertTo-Html létrehoz egy táblát, amely megjeleníti egy gyűjtemény vagy egy objektumtömb tulajdonságait. Az egyes objektumok táblájának létrehozásához használja a folyamatkezelőt az objektumok ConvertTo-Html.

Típus:PSObject
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-Meta

A nyitó <meta> címkéhez hozzáadni kívánt szöveget adja meg. Alapértelmezés szerint nincs szöveg ebben a pozícióban.

Ezt a paramétert a PowerShell 6.0-ban vezettük be.

Típus:Hashtable
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-PostContent

A záró </TABLE> címke után hozzáadni kívánt szöveget adja meg. Alapértelmezés szerint nincs szöveg ebben a pozícióban.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-PreContent

A nyitó <TABLE> címke előtt hozzáadni kívánt szöveget adja meg. Alapértelmezés szerint nincs szöveg ebben a pozícióban.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Property

Tartalmazza a HTML-ben található objektumok megadott tulajdonságait. A tulajdonság paraméter értéke új számított tulajdonság lehet. A számított tulajdonság lehet szkriptblokk vagy kivonattábla. Az érvényes kulcs-érték párok a következők:

  • Name (vagy címke) – <string> (a PowerShell 6.x-ben hozzáadva)
  • Expression - <string> vagy <script block>
  • FormatString - <string>
  • Width - <int32> - nagyobbnak kell lennie, mint 0
  • Alignment – az érték lehet Left, Centervagy Right

További információ: about_Calculated_Properties.

Típus:Object[]
Position:0
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Title

Megadja a HTML-fájl címét, vagyis a <TITLE> címkék között megjelenő szöveget.

Típus:String
Position:2
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Transitional

A DOCTYPEXHTML átmeneti DTD, az alapértelmezett DOCTYPE az XHTML szigorú DTD .

Ezt a paramétert a PowerShell 6.0-ban vezettük be.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

Bevitelek

PSObject

A parancsmaghoz bármilyen objektumot csövezhet.

Kimenetek

String

Ez a parancsmag a konvertált objektumot képviselő HTML-sztringek tömbét adja vissza.

Jegyzetek

A parancsmag használatához pipáljon egy vagy több objektumot a parancsmagba, vagy használja az InputObject paramétert az objektum megadásához. Ha a bemenet több objektumból áll, a két módszer kimenete meglehetősen eltérő.

  • Ha több objektumot csövez egy parancsmagba, a PowerShell egyenként küldi el az objektumokat a parancsmagnak. Ennek eredményeképpen ConvertTo-Html létrehoz egy táblát, amely megjeleníti az egyes objektumokat. Ha például a folyamatokat egy számítógépen ConvertTo-Html, az eredményként kapott táblázat az összes folyamatot megjeleníti.

  • Ha a InputObject paramétert használja több objektum elküldéséhez, ConvertTo-Html gyűjteményként vagy tömbként fogadja ezeket az objektumokat. Ennek eredményeként létrehoz egy táblát, amely a tömböt és a tulajdonságait jeleníti meg, nem pedig a tömb elemeit. Ha például InputObject használatával küldi el a folyamatokat a számítógépen ConvertTo-Html, az eredményül kapott táblázat egy objektumtömböt és annak tulajdonságait jeleníti meg.

    Az XHTML Szigorú DTD-nek való megfelelés érdekében a DOCTYPE címke ennek megfelelően módosul:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"\>