ConvertTo-Html
Converte gli oggetti di Microsoft .NET Framework in codice HTML che può essere visualizzato in un browser Web.
Sintassi
Page (Impostazione predefinita)
ConvertTo-Html
[[-Property] <Object[]>]
[[-Body] <String[]>]
[[-Head] <String[]>]
[[-Title] <String>]
[-InputObject <PSObject>]
[-As <String>]
[-CssUri <Uri>]
[-PostContent <String[]>]
[-PreContent <String[]>]
[<CommonParameters>]
Fragment
ConvertTo-Html
[[-Property] <Object[]>]
[-InputObject <PSObject>]
[-As <String>]
[-Fragment]
[-PostContent <String[]>]
[-PreContent <String[]>]
[<CommonParameters>]
Descrizione
Il cmdlet ConvertTo-Html converte gli oggetti .NET Framework in HTML che possono essere visualizzati in un Web browser. È possibile usare questo cmdlet per visualizzare l'output di un comando in una pagina Web.
È possibile utilizzare i parametri di ConvertTo-Html per selezionare le proprietà dell'oggetto, specificare un formato di tabella o elenco, specificare il titolo della pagina HTML, aggiungere testo prima e dopo l'oggetto e restituire solo il frammento di tabella o elenco, anziché una pagina DTD rigida.
Quando si inviano più oggetti a ConvertTo-Html, Windows PowerShell crea la tabella, o un elenco, in base alle proprietà del primo oggetto inviato. Se gli oggetti rimanenti non dispongono di una delle proprietà specificate, il valore della proprietà di tale oggetto è una cella vuota. Se gli oggetti rimanenti hanno proprietà aggiuntive, tali valori di proprietà non vengono inclusi nel file.
Esempio
Esempio 1: Creare una pagina Web per visualizzare la data
PS C:\> ConvertTo-Html -InputObject (Get-Date)
Questo comando crea una pagina HTML che visualizza le proprietà della data corrente. Utilizza il parametro InputObject per inviare i risultati di un comando Get-Date al cmdlet ConvertTo-Html .
Esempio 2: Creare una pagina Web per visualizzare gli alias di PowerShell
PS C:\> Get-Alias | ConvertTo-Html | Out-File aliases.htm
PS C:\> Invoke-Item aliases.htm
Questo comando crea una pagina HTML in cui sono elencati gli alias di Windows PowerShell nella console corrente.
Il comando usa il cmdlet Get-Alias per ottenere gli alias. Usa l'operatore pipeline (|) per inviare gli alias al cmdlet ConvertTo-Html , che crea la pagina HTML. Il comando utilizza anche il cmdlet Out-File per inviare il codice HTML al file aliases.htm.
Esempio 3: Creare una pagina Web per visualizzare gli eventi di PowerShell
PS C:\> Get-EventLog -LogName "Windows PowerShell" | ConvertTo-Html | Out-File pslog.htm
Questo comando crea una pagina HTML denominata pslog.htm che visualizza gli eventi nel registro eventi di Windows PowerShell nel computer locale.
Utilizza il cmdlet Get-EventLog per ottenere gli eventi nel log di Windows PowerShell e quindi utilizza l'operatore pipeline (|) per inviare gli eventi al cmdlet ConvertTo-Html .
Il comando utilizza anche il cmdlet Out-File per inviare il codice HTML al file pslog.htm.
Esempio 4: Creare una pagina Web per visualizzare i processi
PS C:\> Get-Process | ConvertTo-Html -Property Name, Path, Company -Title "Process Information" | Out-File proc.htm; ii proc.htm
Questi comandi creano e aprono una pagina HTML che elenca il nome, il percorso e la società dei processi nel computer locale.
Il primo comando utilizza il cmdlet Get-Process per ottenere gli oggetti che rappresentano i processi in esecuzione nel computer. Il comando utilizza l'operatore pipeline (|) per inviare gli oggetti processo al cmdlet ConvertTo-Html .
Il comando usa il parametro proprietà per selezionare tre proprietà degli oggetti processo da includere nella tabella. Il comando usa il parametro titolo per specificare un titolo per la pagina HTML. Il comando utilizza anche il cmdlet Out-File per inviare il codice HTML risultante a un file denominato Proc.htm.
Il secondo comando usa il cmdlet Invoke-Item (alias = ii) per aprire il Proc.htm nel browser predefinito. I due comandi sono separati da un punto e virgola (;).
Esempio 5: Creare una pagina Web per visualizzare gli oggetti servizio
PS> 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" />
...
Questo comando crea una pagina HTML degli oggetti del servizio restituiti dal cmdlet Get-Service. Il comando usa il parametro CssUri per specificare un foglio di stile css per la pagina HTML.
Il parametro CssUri aggiunge un ulteriore <tag link: rel="stylesheet", type="text/css"/ href="test.css"> all'HTML risultante. L'attributo HREF nel tag contiene il nome del foglio di stile.
Esempio 6: Creare una pagina Web per visualizzare gli oggetti servizio
PS C:\> Get-Service | ConvertTo-Html -As LIST | Out-File services.htm
Questo comando crea una pagina HTML degli oggetti del servizio restituiti dal cmdlet Get-Service. Il comando usa il parametro As per specificare un formato elenco. Il cmdlet invia Out-File il codice HTML risultante al file Services.htm.
Esempio 7: Creare una tabella Web per la data corrente
PS C:\> Get-Date | cth -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>
Questo comando utilizza ConvertTo-Html per generare una tabella HTML della data corrente. Il comando usa il cmdlet Get-Date per ottenere la data corrente. Usa un operatore pipeline (|) per inviare i risultati al cmdlet ConvertTo-Html (alias cth).
Il comando ConvertTo-Html include il parametro Fragment , che limita l'output a una tabella HTML. Di conseguenza, gli altri elementi di una pagina HTML, ad esempio i <tag HEAD> e <BODY> , vengono omessi.
Esempio 8: Creare una pagina Web per visualizzare gli eventi di PowerShell
PS C:\> Get-EventLog -Log "Windows PowerShell" | ConvertTo-Html -Property id, level, task
Questo comando usa il cmdlet Get-EventLog per ottenere gli eventi dal registro eventi di Windows PowerShell.
Utilizza un operatore pipeline (|) per inviare gli eventi al cmdlet ConvertTo-Html , che converte gli eventi in formato HTML.
Il comando ConvertTo-Html utilizza il parametro Property per selezionare solo le proprietà ID, Level e Task dell'evento.
Esempio 9: Creare una pagina Web per visualizzare i servizi specificati
PS C:\> Get-Service A* | ConvertTo-Html -Title "Windows Services: Server01" -Body (get-date) -Pre
"<P>Generated by Corporate IT</P>" -Post "For details, contact Corporate IT." | Out-File services.htm; ii services.htm
Questo comando crea e apre una pagina Web in cui vengono visualizzati i servizi del computer che iniziano con A. Utilizza i parametri Title, Body, PreContent e PostContent di ConvertTo-Html per personalizzare l'output.
La prima parte del comando utilizza il cmdlet Get-Service per ottenere i servizi nel computer che iniziano con A. Il comando usa un operatore pipeline (|) per inviare i risultati al cmdlet ConvertTo-Html . Il comando usa anche il cmdlet Out-File per inviare l'output al file Services.htm.
Un punto e virgola (;) termina il primo comando e ne avvia un secondo, che utilizza il cmdlet Invoke-Item (alias = "ii") per aprire il file Services.htm nel browser predefinito.
Parametri
-As
Specifica se l'oggetto viene formattato come tabella o elenco. I valori accettabili per questo parametro sono: Tabella ed Elenco. Il valore predefinito è Table.
Il valore Table genera una tabella HTML simile al formato di tabella di Windows PowerShell. Nella riga di intestazione vengono visualizzati i nomi delle proprietà. Ogni riga di tabella rappresenta un oggetto e visualizza i valori dell'oggetto per ogni proprietà.
Il valore List genera una tabella HTML a due colonne per ogni oggetto simile al formato di elenco di Windows PowerShell. Nella prima colonna viene visualizzato il nome della proprietà. Nella seconda colonna viene visualizzato il valore della proprietà.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Valori accettati: | Table, List |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Body
Specifica il testo, sotto forma di matrice, da aggiungere dopo il tag BODY< di apertura>. Per impostazione predefinita, non c'è testo in tale posizione.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
Page
| Posizione: | 3 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-CssUri
Specifica l'URI (Uniform Resource Identifier) del foglio di stile CSS applicato al file HTML. L'URI è incluso in un collegamento al foglio di stile nell'output.
Proprietà dei parametri
| Tipo: | Uri |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | Cu, URI |
Set di parametri
Page
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Fragment
Indica che questo cmdlet genera solo una tabella HTML. I tag HTML, HEAD, TITLE e BODY vengono omessi.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
Fragment
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Head
Specifica il contenuto del <tag HEAD> come array. Il valore predefinito è <titolo,>HTML, TABELLA/<titolo>. Se si usa il parametro Head, il parametro Title viene ignorato.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
Page
| Posizione: | 1 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-InputObject
Specifica gli oggetti da rappresentare in HTML. Immettere una variabile contenente gli oggetti o digitare un comando o un'espressione che ottiene gli oggetti .
Se si utilizza questo parametro per inviare più oggetti, ad esempio tutti i servizi in un computer, ConvertTo-Html crea una tabella che visualizza le proprietà di un insieme o di una matrice di oggetti (System.Object[]). Per creare una tabella dei singoli oggetti, utilizzare l'operatore pipeline per reindirizzare gli oggetti a ConvertTo-Html.
Proprietà dei parametri
| Tipo: | PSObject |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | True |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-PostContent
Specifica il testo da aggiungere dopo il tag /TABLE< di chiusura>. Per impostazione predefinita, non c'è testo in tale posizione.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-PreContent
Specifica una matrice di testo da aggiungere prima del tag TABLE< di apertura>. Per impostazione predefinita, non c'è testo in tale posizione.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Property
Specifica le proprietà degli oggetti nel codice HTML.
Il valore del parametro Property
- Stringa< di etichetta >(a differenza di Select-Object o Format-Table, la chiave Name non è supportata)
- Stringa di< espressione >o <blocco di script>
Proprietà dei parametri
| Tipo: | Object[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 0 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Title
Specifica un titolo per il file HTML, ovvero il testo che viene visualizzato tra i <tag TITLE> .
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
Page
| Posizione: | 2 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
PSObject
È possibile reindirizzare qualsiasi oggetto .NET a ConvertTo-Html.
Output
System.String or System.Xml.XmlDocument
Questo cmdlet restituisce una serie di stringhe che comprendono codice HTML valido.
Note
Per usare questo cmdlet, inviare tramite pipe uno o più oggetti al cmdlet o usare il parametro inputObject per specificare l'oggetto. Quando l'input è costituito da più oggetti, l'output di questi due metodi è piuttosto diverso.
Quando si reindirizzano più oggetti a un cmdlet, Windows PowerShell invia gli oggetti al cmdlet uno alla volta. Di conseguenza, ConvertTo-Html crea una tabella in cui vengono visualizzati i singoli oggetti. Ad esempio, se si reindirizzano i processi in un computer a ConvertTo-Html, nella tabella risultante vengono visualizzati tutti i processi.
Quando si utilizza il parametro InputObject per inviare più oggetti, ConvertTo-Html riceve questi oggetti come raccolta o come matrice. Di conseguenza, crea una tabella che visualizza la matrice e le relative proprietà, non gli elementi nella matrice. Ad esempio, se si utilizza InputObject per inviare i processi in un computer a ConvertTo-Html, nella tabella risultante viene visualizzata una matrice di oggetti (System.Object[]) e le relative proprietà.
Per rispettare la DTD XHTML Strict, il tag DOCTYPE viene modificato di conseguenza:
(<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">)