ConvertTo-Html
Converte gli oggetti .NET in HTML che possono essere visualizzati in un Web browser.
Sintassi
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>]
Descrizione
Il cmdlet ConvertTo-Html
converte gli oggetti .NET 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, per specificare un formato di tabella o elenco, per 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 rigorosa.
Quando si inviano più oggetti a ConvertTo-Html
, PowerShell crea la tabella (o l'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
ConvertTo-Html -InputObject (Get-Date)
Questo comando crea una pagina HTML che visualizza le proprietà della data corrente. Usa 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
Get-Alias | ConvertTo-Html | Out-File aliases.htm
Invoke-Item aliases.htm
Questo comando crea una pagina HTML che elenca gli alias di 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 usa 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
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.
Usa il cmdlet Get-EventLog
per ottenere gli eventi nel log di Windows PowerShell e quindi usa l'operatore della pipeline (|
) per inviare gli eventi al cmdlet ConvertTo-Html
. Il comando usa anche il cmdlet Out-File
per inviare il codice HTML al file pslog.htm
.
Il comando usa anche il cmdlet Out-File
per inviare il codice HTML al file pslog.htm
.
Esempio 4: Creare una pagina Web per visualizzare i processi
Get-Process |
ConvertTo-Html -Property Name, Path, Company -Title "Process Information" |
Out-File proc.htm
Invoke-Item 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 usa il cmdlet Get-Process
per ottenere oggetti che rappresentano i processi in esecuzione nel computer. Il comando usa l'operatore pipeline (|
) per inviare gli oggetti di 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 usa 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
per aprire il Proc.htm
nel browser predefinito.
Esempio 5: Creare una pagina Web per visualizzare gli oggetti servizio
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 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 tag <link rel="stylesheet" type="text/css" href="test.css">
aggiuntivo al codice 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
Get-Service | ConvertTo-Html -As List | Out-File services.htm
Questo comando crea una pagina HTML degli oggetti servizio restituiti dal cmdlet Get-Service
. Il comando usa il parametro As per specificare un formato elenco. Il cmdlet Out-File
invia il codice HTML risultante al file Services.htm
.
Esempio 7: Creare una tabella Web per la data corrente
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>
Questo comando usa 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
.
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
Get-EventLog -Log "Windows PowerShell" | ConvertTo-Html -Property ID, Level, Task
Questo comando usa il cmdlet Get-EventLog
per ottenere eventi dal registro eventi di Windows PowerShell.
Usa un operatore pipeline (|
) per inviare gli eventi al cmdlet ConvertTo-Html
, che converte gli eventi in formato HTML.
Il comando ConvertTo-Html
usa il parametro property per selezionare solo le proprietà ID, Levele Task dell'evento.
Esempio 9: Creare una pagina Web per visualizzare i servizi specificati
$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
Questo comando crea e apre una pagina Web che visualizza i servizi nel computer che iniziano con A
. Usa Title, Body, PreContente PostContent parametri di ConvertTo-Html
per personalizzare l'output.
La prima parte del comando usa 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 di Services.htm
.
Un punto e virgola (;
) termina il primo comando e avvia un secondo comando, che usa il cmdlet Invoke-Item
per aprire il file Services.htm
nel browser predefinito.
Esempio 10: Impostare le proprietà Meta e il set di caratteri del codice HTML
Get-Service | ConvertTo-HTML -Meta @{
refresh=10
author="Author's Name"
keywords="PowerShell, HTML, ConvertTo-HTML"
} -Charset "UTF-8"
Questo comando crea il codice HTML per una pagina Web con i meta tag per l'aggiornamento, l'autore e le parole chiave. Il set di caratteri per la pagina è impostato su UTF-8
Esempio 11: Impostare il codice HTML su DTD di transizione XHTML
Get-Service | ConvertTo-HTML -Transitional
Questo comando imposta la DOCTYPE
del codice HTML restituito su DTD di transizione XHTML
Parametri
-As
Determina se l'oggetto è formattato come tabella o elenco. I valori validi sono table e List. Il valore predefinito è Table.
Il valore tabella genera una tabella HTML simile al formato di tabella di 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 PowerShell. Nella prima colonna viene visualizzato il nome della proprietà. La seconda colonna visualizza il valore della proprietà.
Tipo: | String |
Valori accettati: | Table, List |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Body
Specifica il testo da aggiungere dopo l'apertura <BODY>
tag. Per impostazione predefinita, non c'è testo in tale posizione.
Tipo: | String[] |
Posizione: | 3 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Charset
Specifica il testo da aggiungere al tag <charset>
di apertura. Per impostazione predefinita, non c'è testo in tale posizione.
Questo parametro è stato introdotto in PowerShell 6.0.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | Uri |
Alias: | cu, uri |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Fragment
Genera solo una tabella HTML. I tag <HTML>
, <HEAD>
, <TITLE>
e <BODY>
vengono omessi.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Head
Specifica il contenuto del tag <HEAD>
. Il valore predefinito è <title\>HTML TABLE</title>
. Se si usa il parametro Head, il parametro Title viene ignorato.
Tipo: | String[] |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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. Per creare una tabella dei singoli oggetti, usare l'operatore pipeline per inviare tramite pipe gli oggetti a ConvertTo-Html
.
Tipo: | PSObject |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Meta
Specifica il testo da aggiungere al tag <meta>
di apertura. Per impostazione predefinita, non c'è testo in tale posizione.
Questo parametro è stato introdotto in PowerShell 6.0.
Tipo: | Hashtable |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-PostContent
Specifica il testo da aggiungere dopo il tag di chiusura </TABLE>
. Per impostazione predefinita, non c'è testo in tale posizione.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-PreContent
Specifica il testo da aggiungere prima del tag <TABLE>
di apertura. Per impostazione predefinita, non c'è testo in tale posizione.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Property
Include le proprietà specificate degli oggetti nel codice HTML. Il valore del parametro Property può essere una nuova proprietà calcolata. La proprietà calcolata può essere un blocco di script o una tabella hash. Le coppie chiave-valore valide sono:
-
Name
(o etichetta) -<string>
(aggiunta in PowerShell 6.x) -
Expression
-<string>
o<script block>
FormatString
-<string>
-
Width
-<int32>
: deve essere maggiore di0
-
Alignment
: il valore può essereLeft
,Center
oRight
Per altre informazioni, vedere about_Calculated_Properties.
Tipo: | Object[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Title
Specifica un titolo per il file HTML, ovvero il testo visualizzato tra i tag <TITLE>
.
Tipo: | String |
Posizione: | 2 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Transitional
Modifica il DOCTYPE
in DTD di transizione XHTML, il DOCTYPE
predefinito è DTD strict XHTML.
Questo parametro è stato introdotto in PowerShell 6.0.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
È possibile inviare tramite pipe qualsiasi oggetto a questo cmdlet.
Output
Questo cmdlet restituisce una matrice di stringhe di HTML che rappresenta l'oggetto convertito.
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 inviano tramite pipe più oggetti a un cmdlet, PowerShell invia gli oggetti al cmdlet uno alla volta. Di conseguenza,
ConvertTo-Html
crea una tabella che visualizza i singoli oggetti. Ad esempio, se si invia tramite pipe i processi in un computer aConvertTo-Html
, la tabella risultante visualizza tutti i processi.Quando si usa 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 usa InputObject per inviare i processi in un computer aConvertTo-Html
, la tabella risultante visualizza una matrice di oggetti e le relative proprietà.Per essere conforme al 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"\>