ConvertTo-Html
Convertit les objets .NET en code HTML qui peut être affiché dans un navigateur web.
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
L’applet ConvertTo-Html
de commande convertit les objets .NET en HTML qui peuvent être affichés dans un navigateur Web. Vous pouvez utiliser cette applet de commande pour afficher la sortie d'une commande dans une page web.
Vous pouvez utiliser les paramètres de pour sélectionner les propriétés de ConvertTo-Html
l’objet, pour spécifier un format de table ou de liste, pour spécifier le titre de la page HTML, pour ajouter du texte avant et après l’objet, et pour renvoyer uniquement le fragment de table ou de liste, au lieu d’une page DTD stricte.
Lorsque vous envoyez plusieurs objets à ConvertTo-Html
, PowerShell crée la table (ou la liste) en fonction des propriétés du premier objet que vous envoyez. Si les objets restants n'ont pas l'une des propriétés spécifiées, la valeur de propriété de cet objet est une cellule vide. Si les objets restants ont des propriétés supplémentaires, ces valeurs de propriété ne sont pas incluses dans le fichier.
Exemples
Exemple 1 : Create une page web pour afficher la date
ConvertTo-Html -InputObject (Get-Date)
Cette commande crée une page HTML qui affiche les propriétés de la date actuelle. Il utilise le paramètre InputObject pour envoyer les résultats d’une Get-Date
commande à l’applet de ConvertTo-Html
commande.
Exemple 2 : Create une page web pour afficher des alias PowerShell
Get-Alias | ConvertTo-Html | Out-File aliases.htm
Invoke-Item aliases.htm
Cette commande crée une page HTML qui répertorie les alias PowerShell dans la console active.
La commande utilise l’applet Get-Alias
de commande pour obtenir les alias. Il utilise l’opérateur de pipeline (|
) pour envoyer les alias à l’applet ConvertTo-Html
de commande, qui crée la page HTML. La commande utilise également l’applet Out-File
de commande pour envoyer le code HTML au aliases.htm
fichier.
Exemple 3 : Create une page web pour afficher des événements PowerShell
Get-EventLog -LogName "Windows PowerShell" | ConvertTo-Html | Out-File pslog.htm
Cette commande crée une page HTML appelée pslog.htm
qui affiche les événements dans le journal des événements Windows PowerShell sur l’ordinateur local.
Elle utilise l’applet Get-EventLog
de commande pour obtenir les événements dans le journal Windows PowerShell, puis utilise l’opérateur de pipeline (|
) pour envoyer les événements à l’applet de ConvertTo-Html
commande. La commande utilise également l’applet Out-File
de commande pour envoyer le code HTML au pslog.htm
fichier.
La commande utilise également l’applet Out-File
de commande pour envoyer le code HTML au pslog.htm
fichier.
Exemple 4 : Create une page web pour afficher les processus
Get-Process |
ConvertTo-Html -Property Name, Path, Company -Title "Process Information" |
Out-File proc.htm
Invoke-Item proc.htm
Ces commandes créent et ouvrent une page HTML qui répertorie le nom, le chemin d'accès et la société des processus sur l'ordinateur local.
La première commande utilise l’applet Get-Process
de commande pour obtenir des objets qui représentent les processus en cours d’exécution sur l’ordinateur. La commande utilise l’opérateur de pipeline (|
) pour envoyer les objets de processus à l’applet de ConvertTo-Html
commande.
La commande utilise le paramètre Property pour sélectionner trois propriétés des objets de processus à inclure dans la table. La commande utilise le paramètre Title pour spécifier un titre pour la page HTML. La commande utilise également l’applet Out-File
de commande pour envoyer le code HTML résultant à un fichier nommé Proc.htm
.
La deuxième commande utilise l’applet Invoke-Item
de commande pour ouvrir dans Proc.htm
le navigateur par défaut.
Exemple 5 : Create une page web pour afficher des objets de service
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" />
...
Cette commande crée une page HTML des objets de service retournés par l’applet de Get-Service
commande. La commande utilise le paramètre CssUri pour spécifier une feuille de style en cascade pour la page HTML.
Le paramètre CssUri ajoute une balise supplémentaire <link rel="stylesheet" type="text/css" href="test.css">
au code HTML résultant. L'attribut HREF de la balise contient le nom de la feuille de style.
Exemple 6 : Create une page web pour afficher des objets de service
Get-Service | ConvertTo-Html -As LIST | Out-File services.htm
Cette commande crée une page HTML des objets de service retournés par l’applet de Get-Service
commande. La commande utilise le paramètre As pour spécifier un format de liste. L’applet de commande Out-File
envoie le code HTML obtenu au Services.htm
fichier.
Exemple 7 : Create une table web pour la date actuelle
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>
Cette commande utilise ConvertTo-Html
pour générer une table HTML de la date actuelle. La commande utilise l’applet Get-Date
de commande pour obtenir la date actuelle. Il utilise un opérateur de pipeline (|
) pour envoyer les résultats à l’applet de ConvertTo-Html
commande.
La ConvertTo-Html
commande inclut le paramètre Fragment , qui limite la sortie à une table HTML. Par conséquent, les autres éléments d'une page HTML, tels que les balises <HEAD>
et <BODY>
, sont omis.
Exemple 8 : Create une page web pour afficher des événements PowerShell
Get-EventLog -Log "Windows PowerShell" | ConvertTo-Html -Property id, level, task
Cette commande utilise l’applet Get-EventLog
de commande pour obtenir les événements du journal des événements Windows PowerShell.
Il utilise un opérateur de pipeline (|
) pour envoyer les événements à l’applet ConvertTo-Html
de commande, qui convertit les événements au format HTML.
La ConvertTo-Html
commande utilise le paramètre Property pour sélectionner uniquement les propriétés ID, Level et Task de l’événement.
Exemple 9 : Create une page web pour afficher les services spécifiés
$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
Cette commande crée et ouvre une page Web qui affiche les services sur l’ordinateur qui commencent A
par . Il utilise les paramètres Title, Body, PreContent et PostContent de ConvertTo-Html
pour personnaliser la sortie.
La première partie de la commande utilise l’applet Get-Service
de commande pour obtenir les services sur l’ordinateur qui commencent A
par . La commande utilise un opérateur de pipeline (|
) pour envoyer les résultats à l’applet de ConvertTo-Html
commande. La commande utilise également l’applet Out-File
de commande pour envoyer la sortie au Services.htm
fichier.
Un point-virgule (;
) termine la première commande et démarre une deuxième commande, qui utilise l’applet Invoke-Item
de commande pour ouvrir le Services.htm
fichier dans le navigateur par défaut.
Exemple 10 : Définir les propriétés meta et l’ensemble de caractères du code HTML
Get-Service | ConvertTo-HTML -Meta @{
refresh=10
author="Author's Name"
keywords="PowerShell, HTML, ConvertTo-HTML"
} -Charset "UTF-8"
Cette commande crée le code HTML d’une page web avec les balises meta pour l’actualisation, l’auteur et les mots clés. L’ensemble de caractères de la page est défini sur UTF-8
Exemple 11 : Définir le code HTML sur DTD transitoire XHTML
Get-Service | ConvertTo-HTML -Transitional
Cette commande définit le DOCTYPE
du code HTML renvoyé en DTD transitionnel XHTML
Paramètres
-As
Détermine si l'objet est dans un format de table ou de liste. Les valeurs valides sont Table et List. La valeur par défaut est Table.
La valeur Table génère une table HTML qui ressemble au format de table PowerShell. La ligne d'en-tête affiche les noms des propriétés. Chaque ligne de la table représente un objet et affiche les valeurs de l'objet pour chaque propriété.
La valeur List génère une table HTML à deux colonnes pour chaque objet qui ressemble au format de liste PowerShell. La première colonne affiche le nom de la propriété. La deuxième colonne affiche la valeur de la propriété.
Type: | String |
Accepted values: | Table, List |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Body
Spécifie le texte à ajouter après la balise ouvrante <BODY>
. Par défaut, il n'y a pas de texte à cette position.
Type: | String[] |
Position: | 3 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Charset
Spécifie le texte à ajouter à la balise d’ouverture <charset>
. Par défaut, il n'y a pas de texte à cette position.
Ce paramètre a été introduit dans PowerShell 6.0.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CssUri
Spécifie l'URI (Uniform Resource Identifier) de la feuille de style en cascade (CSS) qui est appliquée au fichier HTML. L'URI est inclus dans un lien de feuille de style dans la sortie.
Type: | Uri |
Aliases: | cu, uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Fragment
Génère uniquement une table HTML. Les <HTML>
balises , <HEAD>
, <TITLE>
et <BODY>
sont omises.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Head
Spécifie le contenu de la balise <HEAD>
. Par défaut, il s’agit de <title\>HTML TABLE</title>
. Si vous utilisez le paramètre Head , le paramètre Title est ignoré.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Spécifie les objets à représenter au format HTML. Entrez une variable contenant les objets, ou tapez une commande ou une expression qui les obtient.
Si vous utilisez ce paramètre pour envoyer plusieurs objets, tels que tous les services sur un ordinateur, ConvertTo-Html
crée une table qui affiche les propriétés d’une collection ou d’un tableau d’objets. Pour créer une table des objets individuels, utilisez l’opérateur de pipeline pour diriger les objets vers ConvertTo-Html
.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Meta
Spécifie le texte à ajouter à la balise d’ouverture <meta>
. Par défaut, il n'y a pas de texte à cette position.
Ce paramètre a été introduit dans PowerShell 6.0.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PostContent
Spécifie le texte à ajouter après la balise fermante </TABLE>
. Par défaut, il n'y a pas de texte à cette position.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PreContent
Spécifie le texte à ajouter avant la balise ouvrante <TABLE>
. Par défaut, il n'y a pas de texte à cette position.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
Inclut les propriétés spécifiées des objets dans le code HTML. La valeur du paramètre Property peut être une nouvelle propriété calculée. La propriété calculée peut être un bloc de script ou une table de hachage. Les paires clé-valeur valides sont les suivantes :
Name
(ou label) -<string>
(ajouté dans PowerShell 6.x)Expression
-<string>
ou<script block>
FormatString
-<string>
Width
-<int32>
- doit être supérieur à0
Alignment
- la valeur peut êtreLeft
,Center
ouRight
Pour plus d’informations, consultez about_Calculated_Properties.
Type: | Object[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Title
Spécifie un titre pour le fichier HTML, c'est-à-dire le texte qui apparaît entre les balises <TITLE>
.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Transitional
Remplace le par DOCTYPE
XHTML Transitional DTD. La valeur par défaut DOCTYPE
est XHTML Strict DTD.
Ce paramètre a été introduit dans PowerShell 6.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
Vous pouvez diriger n’importe quel objet .NET vers ConvertTo-Html
.
Sorties
System.String or System.Xml.XmlDocument
ConvertTo-Html
retourne une série de chaînes qui contiennent du code HTML valide.
Notes
Pour utiliser cette applet de commande, dirigez un ou plusieurs objets vers l’applet de commande ou utilisez le paramètre InputObject pour spécifier l’objet. Quand l'entrée comporte plusieurs objets, la sortie de ces deux méthodes est assez différente.
Lorsque vous dirigez plusieurs objets vers une applet de commande, PowerShell envoie les objets à l’applet de commande un par un. Par conséquent,
ConvertTo-Html
crée une table qui affiche les objets individuels. Par exemple, si vous dirigez les processus sur un ordinateur versConvertTo-Html
, la table résultante affiche tous les processus.Lorsque vous utilisez le paramètre InputObject pour envoyer plusieurs objets,
ConvertTo-Html
reçoit ces objets sous la forme d’une collection ou d’un tableau. Par conséquent, l'applet de commande crée une table qui affiche le tableau et ses propriétés, pas les éléments du tableau. Par exemple, si vous utilisez InputObject pour envoyer les processus sur un ordinateur àConvertTo-Html
, la table résultante affiche un tableau d’objets et ses propriétés.Pour être conforme au DTD strict XHTML, la
DOCTYPE
balise est modifiée en conséquence :<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"\>