ConvertTo-Html
Convertit les objets Microsoft .NET Framework en HTML qui peuvent être affichés dans un navigateur web.
Syntaxe
ConvertTo-Html
[-InputObject <PSObject>]
[[-Property] <Object[]>]
[[-Body] <String[]>]
[[-Head] <String[]>]
[[-Title] <String>]
[-As <String>]
[-CssUri <Uri>]
[-PostContent <String[]>]
[-PreContent <String[]>]
[<CommonParameters>]
ConvertTo-Html
[-InputObject <PSObject>]
[[-Property] <Object[]>]
[-As <String>]
[-Fragment]
[-PostContent <String[]>]
[-PreContent <String[]>]
[<CommonParameters>]
Description
La cmdlet ConvertTo-Html convertit les objets .NET Framework 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 ConvertTo-Html pour sélectionner des propriétés d’objet, pour spécifier un format de tableau 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, Windows PowerShell crée la table ou une liste en fonction des propriétés du premier objet que vous soumettez. 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 : Créer une page web pour afficher la date
PS C:\> 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
Exemple 2 : Créer une page web pour afficher des alias PowerShell
PS C:\> Get-Alias | ConvertTo-Html | Out-File aliases.htm
PS C:\> Invoke-Item aliases.htm
Cette commande crée une page HTML qui répertorie les alias Windows PowerShell dans la console active.
La commande utilise l’applet de commande Get-Alias pour obtenir les alias.
Il utilise l’opérateur de pipeline (|) pour envoyer les alias à l’applet de commande ConvertTo-Html
Exemple 3 : Créer une page web pour afficher les événements PowerShell
PS C:\> 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.
Il utilise l’applet de commande Get-EventLog 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 commande ConvertTo-Html
La commande utilise également l’applet de commande Out-File pour envoyer le code HTML au fichier pslog.htm.
Exemple 4 : Créer une page web pour afficher les processus
PS C:\> Get-Process | ConvertTo-Html -Property Name, Path, Company -Title "Process Information" | Out-File proc.htm; ii proc.htm
Ces commandes créent et ouvrent une page HTML qui répertorie le nom, le chemin et l’entreprise des processus sur l’ordinateur local.
La première commande utilise l’applet de commande Get-Process 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 commande ConvertTo-Html
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 de commande Out-File pour envoyer le code HTML obtenu à un fichier nommé Proc.htm.
La deuxième commande utilise l’applet de commande Invoke-Item (alias = ii) pour ouvrir le Proc.htm dans le navigateur par défaut. Les deux commandes sont séparées par un point-virgule (;).
Exemple 5 : Créer une page web pour afficher des objets de service
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" />
...
Cette commande crée une page HTML des objets de service retournés par l’applet de commande Get-Service. La commande utilise le paramètre CssUri pour spécifier une feuille de style en cascade pour la page HTML.
Le paramètre cssUri
Exemple 6 : Créer une page web pour afficher des objets de service
PS C:\> 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 commande Get-Service. La commande utilise le paramètre As pour spécifier un format de liste. L’applet de commande Out-File envoie le code HTML résultant au fichier Services.htm.
Exemple 7 : Créer une table web pour la date actuelle
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>
Cette commande utilise ConvertTo-Html pour générer une table HTML de la date actuelle.
La commande utilise l’applet de commande Get-Date pour obtenir la date actuelle.
Il utilise un opérateur de pipeline (|) pour envoyer les résultats à l’applet de commande ConvertTo-Html
La commande ConvertTo-Html 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 le> HEAD <et <balises BODY>, sont omis.
Exemple 8 : Créer une page web pour afficher les événements PowerShell
PS C:\> Get-EventLog -Log "Windows PowerShell" | ConvertTo-Html -Property id, level, task
Cette commande utilise l’applet de commande Get-EventLog pour obtenir des événements à partir du journal des événements Windows PowerShell.
Il utilise un opérateur de pipeline (|) pour envoyer les événements au applet de commande ConvertTo-Html, qui convertit les événements au format HTML.
La commande ConvertTo-Html utilise le paramètre Property pour sélectionner uniquement les propriétés ID, Level et Task de l’événement.
Exemple 9 : Créer une page web pour afficher les services spécifiés
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
Cette commande crée et ouvre une page web qui affiche les services sur l’ordinateur commençant par A. Il utilise lede titre
La première partie de la commande utilise l’applet de commande Get-Service pour obtenir les services sur l’ordinateur commençant par A. La commande utilise un opérateur de pipeline (|) pour envoyer les résultats à l’applet de commande ConvertTo-Html. La commande utilise également l’applet de commande Out-File pour envoyer la sortie au fichier Services.htm.
Un point-virgule (;) termine la première commande et démarre une deuxième commande, qui utilise l’applet de commande Invoke-Item (alias = « ii ») pour ouvrir le fichier Services.htm dans le navigateur par défaut.
Paramètres
-As
Spécifie si l’objet est mis en forme en tant que tableau ou liste. Les valeurs acceptables pour ce paramètre sont les suivantes : Table et Liste. La valeur par défaut est Table.
La valeur table génère une table HTML qui ressemble au format de tableau Windows PowerShell. La ligne d’en-tête affiche les noms des propriétés. Chaque ligne de table représente un objet et affiche les valeurs de l’objet pour chaque propriété.
La valeur de liste génère une table HTML à deux colonnes pour chaque objet qui ressemble au format de liste Windows PowerShell. La première colonne affiche le nom de la propriété ; la deuxième colonne affiche la valeur de propriété.
Type: | String |
Valeurs acceptées: | Table, List |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Body
Spécifie le texte, sous la forme d’un tableau, à ajouter après l’ouverture <balise BODY>. Par défaut, il n’y a pas de texte dans cette position.
Type: | String[] |
Position: | 3 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-CssUri
Spécifie l’URI (Uniform Resource Identifier) de la feuille de style en cascade (CSS) appliquée au fichier HTML. L’URI est inclus dans un lien de feuille de style dans la sortie.
Type: | Uri |
Alias: | cu, uri |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Fragment
Indique que cette applet de commande génère uniquement une table HTML. Les balises HTML, HEAD, TITLE et BODY sont omises.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Head
Spécifie le contenu de la balise HEAD <HEAD> sous forme de tableau. La valeur par défaut est <titre>HTML TABLE</title>. Si vous utilisez le paramètre Head, le paramètre Title est ignoré.
Type: | String[] |
Position: | 1 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-InputObject
Spécifie les objets à représenter en HTML. Entrez une variable qui contient les objets ou tapez une commande ou une expression qui obtient les objets.
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 (System.Object[]). 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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-PostContent
Spécifie le texte à ajouter après la balise de fermeture </TABLE>. Par défaut, il n’y a pas de texte dans cette position.
Type: | String[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-PreContent
Spécifie un tableau de texte à ajouter avant l’ouverture <balise TABLE>. Par défaut, il n’y a pas de texte dans cette position.
Type: | String[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Property
Spécifie les propriétés des objets dans le code HTML.
La valeur du paramètre Property
- Étiquette <chaîne> (contrairement à Select-Object ou Format-Table, la clé de nom n’est pas prise en charge)
- > de bloc de script <chaîne> ou <
Type: | Object[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Title
Spécifie un titre pour le fichier HTML, autrement dit, le texte qui apparaît entre les balises <TITLE>.
Type: | String |
Position: | 2 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
Vous pouvez diriger n’importe quel objet .NET vers ConvertTo-Html .
Sorties
System.String or System.Xml.XmlDocument
Cette applet de commande retourne une série de chaînes qui comprennent 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. Lorsque l’entrée se compose de plusieurs objets, la sortie de ces deux méthodes est assez différente.
Lorsque vous dirigez plusieurs objets vers une applet de commande, Windows 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 pour ConvertTo-Html, le tableau résultant 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, il crée une table qui affiche le tableau et ses propriétés, et non 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 (System.Object[]) et ses propriétés.
Pour se conformer au DTD strict XHTML, la balise DOCTYPE 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">)