ConvertTo-Html
Converte gli oggetti .NET in formato HTML in modo da poter 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 ConvertTo-Html
cmdlet 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 usare i parametri di per selezionare le proprietà dell'oggetto ConvertTo-Html
, per specificare un formato tabella o elenco, per specificare il titolo della pagina HTML, per aggiungere testo prima e dopo l'oggetto e restituire solo la tabella o il frammento di 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 hanno una delle proprietà specificate, il valore della proprietà di tale oggetto sarà una cella vuota. Se gli oggetti rimanenti hanno proprietà aggiuntive, tali valori delle proprietà non verranno inclusi nel file.
Esempio
Esempio 1: Create 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 Get-Date
comando al ConvertTo-Html
cmdlet.
Esempio 2: Create 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 Get-Alias
cmdlet per ottenere gli alias. Usa l'operatore della pipeline (|
) per inviare gli alias al ConvertTo-Html
cmdlet, che crea la pagina HTML. Il comando usa anche il Out-File
cmdlet per inviare il codice HTML al aliases.htm
file.
Esempio 3: Create 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 Windows PowerShell nel computer locale.
Usa il Get-EventLog
cmdlet per ottenere gli eventi nel log di Windows PowerShell e quindi usa l'operatore della pipeline (|
) per inviare gli eventi al ConvertTo-Html
cmdlet. Il comando usa anche il Out-File
cmdlet per inviare il codice HTML al pslog.htm
file.
Il comando usa anche il Out-File
cmdlet per inviare il codice HTML al pslog.htm
file.
Esempio 4: Create 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 Get-Process
cmdlet per ottenere oggetti che rappresentano i processi in esecuzione nel computer. Il comando usa l'operatore della pipeline (|
) per inviare gli oggetti di processo al ConvertTo-Html
cmdlet.
Il comando usa il parametro Property per selezionare tre proprietà degli oggetti di processo da includere nella tabella. Il comando usa il parametro Title per specificare un titolo per la pagina HTML. Il comando usa anche il Out-File
cmdlet per inviare il codice HTML risultante a un file denominato Proc.htm
.
Il secondo comando usa il Invoke-Item
cmdlet per aprire l'oggetto Proc.htm
nel browser predefinito.
Esempio 5: Create una pagina Web per visualizzare gli oggetti del 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 del servizio restituiti dal Get-Service
cmdlet. Il comando usa il parametro CssUri per specificare un foglio di stile a catena per la pagina HTML.
Il parametro CssUri aggiunge un tag aggiuntivo <link rel="stylesheet" type="text/css" href="test.css">
al codice HTML risultante. L'attributo HREF nel tag contiene il nome del foglio di stile.
Esempio 6: Create una pagina Web per visualizzare gli oggetti del servizio
Get-Service | ConvertTo-Html -As LIST | Out-File services.htm
Questo comando crea una pagina HTML degli oggetti del servizio restituiti dal Get-Service
cmdlet. Il comando usa il parametro As per specificare un formato elenco. Il cmdlet invia il codice HTML risultante Out-File
al Services.htm
file.
Esempio 7: Create 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 Get-Date
cmdlet per ottenere la data corrente. Usa un operatore pipeline (|
) per inviare i risultati al ConvertTo-Html
cmdlet.
Il ConvertTo-Html
comando 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: Create una pagina Web per visualizzare gli eventi di PowerShell
Get-EventLog -Log "Windows PowerShell" | ConvertTo-Html -Property id, level, task
Questo comando usa il Get-EventLog
cmdlet per ottenere eventi dal registro eventi Windows PowerShell.
Usa un operatore della pipeline (|
) per inviare gli eventi al cmdlet, che converte gli eventi in ConvertTo-Html
formato HTML.
Il ConvertTo-Html
comando usa il parametro Property per selezionare solo le proprietà ID, Level e Task dell'evento.
Esempio 9: Create 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 i parametri Title, Body, PreContent e PostContent di per ConvertTo-Html
personalizzare l'output.
La prima parte del comando usa il Get-Service
cmdlet per ottenere i servizi nel computer che iniziano con A
. Il comando usa un operatore pipeline (|
) per inviare i risultati al ConvertTo-Html
cmdlet. Il comando usa anche il Out-File
cmdlet per inviare l'output al Services.htm
file.
Un punto e virgola (;
) termina il primo comando e avvia un secondo comando, che usa il cmdlet per aprire il Services.htm
Invoke-Item
file nel browser predefinito.
Esempio 10: Impostare le proprietà Meta e Charset dell'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 charset per la pagina è impostato su UTF-8
Esempio 11: Impostare il codice HTML su XHTML Transitional DTD
Get-Service | ConvertTo-HTML -Transitional
Questo comando imposta l'oggetto DOCTYPE
HTML restituito su DTD di transizione XHTML
Parametri
-As
Determina se l'oggetto viene formattato come tabella o come elenco. I valori validi sono Table e List. Il valore predefinito è Table.
Il valore Table genera una tabella HTML simile al formato tabella di PowerShell. La riga di intestazione visualizza i nomi delle proprietà. Ogni riga della 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 elenco di PowerShell. La prima colonna visualizza il nome della proprietà. La seconda colonna visualizza il valore della proprietà.
Type: | String |
Accepted values: | Table, List |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Body
Specifica il testo da aggiungere dopo il tag di apertura <BODY>
. Per impostazione predefinita, non esiste alcun testo in tale posizione.
Type: | String[] |
Position: | 3 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Charset
Specifica il testo da aggiungere al tag di apertura <charset>
. Per impostazione predefinita, non esiste alcun testo in tale posizione.
Questo parametro è stato introdotto in PowerShell 6.0.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | Uri |
Aliases: | cu, uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Fragment
Genera solo una tabella HTML. I <HTML>
tag , <HEAD>
, <TITLE>
e <BODY>
vengono omessi.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Specifica gli oggetti da rappresentare in HTML. Immettere una variabile che contiene gli oggetti oppure 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 una raccolta 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
.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Meta
Specifica il testo da aggiungere al tag di apertura <meta>
. Per impostazione predefinita, non esiste alcun testo in tale posizione.
Questo parametro è stato introdotto in PowerShell 6.0.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PostContent
Specifica il testo da aggiungere dopo il tag di chiusura </TABLE>
. Per impostazione predefinita, non esiste alcun testo in tale posizione.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PreContent
Specifica il testo da aggiungere prima del tag di apertura <TABLE>
. Per impostazione predefinita, non esiste alcun testo in tale posizione.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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>
oppure<script block>
FormatString
-<string>
Width
-<int32>
- deve essere maggiore di0
Alignment
- il valore può essereLeft
,Center
oRight
Per altre informazioni, vedere about_Calculated_Properties.
Type: | Object[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Title
Specifica un titolo per il file HTML, ovvero il testo visualizzato tra i tag <TITLE>
.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Transitional
Cambia in DOCTYPE
XHTML Transitional DTD. Il valore predefinito DOCTYPE
è XHTML Strict DTD.
Questo parametro è stato introdotto in PowerShell 6.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
È possibile eseguire la pipe di qualsiasi oggetto a questo cmdlet.
Output
Questo cmdlet restituisce una matrice di stringhe di HTML che rappresentano l'oggetto convertito.
Note
Per usare questo cmdlet, inviare 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 esegue la pipe di più oggetti in 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 esegue la pipe dei processi in un computer inConvertTo-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, viene creata una tabella che visualizza la matrice e le relative proprietà, non gli elementi presenti 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 rispettare la DTD XHTML Strict, il
DOCTYPE
tag viene modificato di conseguenza:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"\>