Question ConvertFrom-Html

Plus d'informations
il y a 17 ans 2 semaines #4240 par Olivier
ConvertFrom-Html a été créé par Olivier
Bonjour à tous !

J'ai voulu ajouter un snapin sur powershell pour bénéficier de la commande ConvertFrom-Html mais j'ai quelques difficultés pour installer ce dernier.

On peut le trouver directement à cette adresse ou bien sur ce site où l'on trouvera aussi d'autres explications ...

J'ai bien trouvé un \"install-ps1\" ui me demande en paramètre le nom (ou chemin d'accès complèt) du snapin en question (je sais pas quel nom de fichier faut mettre ...) j'ai fais le test avec comme nom de \"Snapin\" les deux dll qui se trouve dans .\PoshHttp\bin\Release du précité téléchargement mais après, ben ça m^'avance pas trop car toujours pas la commnade à dispo.

J'ai bien aussi trouvé l'utilitaire \"C:\WINDOWS\Microsoft.NET\Framework\v3.5\AddInUtil.exe\" qui doit être utilisé (j'imagine) pour installer un snapin dans PowerShell mais là, je bloque ...

Est-ce que quelqu'un aurait la gentillesse de me dire comment faire ?

Merci d'avance !

Olivier<br><br>Message édité par: Olivier, à: 3/03/09 13:23

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 semaines #4242 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:ConvertFrom-Html
Salut,
Olivier écrit:

J'ai bien trouvé un \&quot;install-ps1\&quot; qui me demande en paramètre le nom (ou chemin d'accès complèt) du snapin en question (je sais pas quel nom de fichier faut mettre ...)

Pour info c'est forcément une DLL présente dans le répertoire[code:1]..\PoshHttp\bin\Release[/code:1].
ici elle se nomme PoshHttpSnapin.dll.
Olivier écrit:

J'ai bien aussi trouvé l'utilitaire \&quot;C:\WINDOWS\Microsoft.NET\Framework\v3.5\AddInUtil.exe\&quot; qui doit être utilisé (j'imagine) pour installer un snapin dans PowerShell mais là, je bloque ...

Non, le script recherche l'utilitaire par :
[code:1]$InstallUtil = Join-Path $([System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()) InstallUtil.exe[/code:1]
Donc celui du framework 2.0.
Il enregistre le snapin dans la registry [code:1]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns[/code:1]
[/quote]
Ensuite le script doit t'indiquer si InstallUtil réussi ou pas, il crée, dans le répertoire où se trouve la dll, 3 fichiers de log :
[code:1]..\WindowsPowerShell\Tools\PoshHttp\poshhttpsnapin_installed.InstallState
..\WindowsPowerShell\Tools\PoshHttp\InstallUtil.InstallLog
..\WindowsPowerShell\Tools\PoshHttp\poshhttpsnapin_installed.InstallLog[/code:1]
Si l'enregistrement réussi, tu peux afficher le détail du cmdlet par :
[code:1]
gcm \&quot;convertto-h*\&quot; -type cmdlet
# CommandType Name Definition
#
----
# Cmdlet ConvertTo-Html ConvertTo-Html [[-Property] &lt;Object[]&gt;] [[-Head]...

gcm \&quot;convertto-html\&quot; -type cmdlet |% {$_.pssnapin}
# Name : Microsoft.PowerShell.Utility
# PSVersion : 2.0
# Description : This Windows PowerShell snap-in contains utility Cmdlets used to manipulate data.

#Affiche uniquement les snapins supplémentaires
Get-PsSnapin -Registered | select name,@{n=\&quot;Cmdlets\&quot;;e={$si=$_;gcm -type cmdlet |?{$_.pssnapin -eq $si}}}

#Affiche les snapins, et les regroupe par espace de nom
Get-PsSnapin | select name,@{n=\&quot;Cmdlets\&quot;;e={$si=$_;gcm -type cmdlet |?{$_.pssnapin -eq $si}}}
[/code:1]
Sur mon poste je n'ai pas eu de soucis particuliers.<br><br>Message édité par: Laurent Dardenne, à: 3/03/09 14:57

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 semaines #4243 par Olivier
Réponse de Olivier sur le sujet Re:ConvertFrom-Html
re ...

La commande en question n'est pas \&quot;convertto ...\&quot; mais convertFromHtml et celle ci n'apparaît pas suite à la commande suivante :

[code:1]gcm \&quot;convert*\&quot; -type cmdlet |% {$_}

CommandType Name Definition
----
Cmdlet ConvertFrom-Csv ConvertFrom-Csv [-InputObject] &lt;PSObject[]&gt; [[-Delimiter] &lt;Char&gt;] [-Hea...
Cmdlet ConvertFrom-SecureString ConvertFrom-SecureString [-SecureString] &lt;SecureString&gt; [[-SecureKey] &lt;...
Cmdlet ConvertFrom-StringData ConvertFrom-StringData [-StringData] &lt;String&gt; [-Verbose] [-Debug] [-Err...
Cmdlet Convert-Path Convert-Path [-Path] &lt;String[]&gt; [-Verbose] [-Debug] [-ErrorAction &lt;Acti...
Cmdlet ConvertTo-Csv ConvertTo-Csv [-InputObject] &lt;PSObject&gt; [[-Delimiter] &lt;Char&gt;] [-NoTypeI...
Cmdlet ConvertTo-Html ConvertTo-Html [[-Property] &lt;Object[]&gt;] [[-Head] &lt;String[]&gt;] [[-Title] ...
Cmdlet ConvertTo-SecureString ConvertTo-SecureString [-String] &lt;String&gt; [[-SecureKey] &lt;SecureString&gt;]...
Cmdlet ConvertTo-Xml ConvertTo-Xml [-InputObject] &lt;PSObject&gt; [-Depth &lt;Int32&gt;] [-NoTypeInform...

[/code:1]

Je précise que j'ai bien fais comme indiqué dans le précédent post et qu'aucun message d'erreur ne s'est affiché ...

Et en plus, j'ai bien dans la BDR :
[code:1]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\PoshHttp\[/code:1]
Est-ce que j'aurais passé à côté de quelque chose ?
Résultat pour n'afficher que les snapins supplémentaires :
[code:1]PS Z:\&gt; Get-PsSnapin -Registered | select name,@{n=\&quot;Cmdlets\&quot;;e={$si=$_;gcm -type cmdlet |?{$_.pssnapin -eq $si}}}

Name Cmdlets
----
PoshHttp {} [/code:1]

Donc pas de cmdlets a l'appel :(

Merci d'avance et à +
Olivier

Message édité par: Olivier, à: 3/03/09 15:16<br><br>Message édité par: Olivier, à: 3/03/09 15:21

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 semaines #4244 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:ConvertFrom-Html
Olivier écrit:

Est-ce que j'aurais pass à côté de quelque chose ?

Non c'est moi qui ai loupé une marche :huh:
Regarde l'exemple 3 du cmdlet add-PsSnapin:
[code:1]
#help Add-PsSnapin -exam
get-pssnapin -registered

set-alias installutil $env:windir\Microsoft.NET\Framework\v2.0.50727\installutil.exe

installutil C:\Dev\Management\ManagementCmdlets.dll

get-pssnapin -registered

add-pssnapin ManagementFeatures

get-command -pssnapin ManagementFeatures
...
[/code:1]
Il manquait l'appel à Add-PsSnapin.
Pour info la dll est renommée en poshhttpsnapin_installed.dll, donc si on fait un Remove-PsSnapin le nom n'est pas modifié.
Ainsi cela devrait fonctionner.<br><br>Message édité par: Laurent Dardenne, à: 3/03/09 15:20

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 semaines #4248 par Olivier
Réponse de Olivier sur le sujet Re:ConvertFrom-Html
re ..

C'est pas faute d'avoir essayer toutes les solution que j'ai eu mais voilà mon problème avec cette commande ConvertFrom-Html.

[code:1]$file1 = Join-Path $pwd \&quot;test.htm\&quot;
$file2 = Join-Path $pwd \&quot;test.xml\&quot;
(Get-Content \&quot;$file1\&quot; | ConvertFrom-Html).save(\&quot;$file2\&quot;«»)[/code:1]

et cela crée bien un fichier XML mais dans la console, cela m'écrit ça :
[code:1]Exception calling \&quot;Save\&quot; with \&quot;1\&quot; argument(s): \&quot;Caractère de nom non valide dans '&gt;'.\&quot;
At line:3 char:47
+ (Get-Content \&quot;$file1\&quot; | ConvertFrom-Html).save &lt;&lt;&lt;&lt; (\&quot;$file2\&quot;«»)
+ CategoryInfo : NotSpecified: (: ) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException[/code:1]

Est-ce le contenu de mon fichier source qui n'est pas \&quot;conforme\&quot; à la commande ConvertFrom-Html ?

Google m'a pas trop aidé pour cette commande alors si quelqu'un a le courage de se pencher sur ce problème ...

Merci d'avance
Olivier<br><br>Message édité par: Olivier, à: 3/03/09 16:49

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 semaines #4250 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:ConvertFrom-Html
J'ai testé ton exemple sur un de mes fichiers sans rencontré de pb.
Que donne le résultat de la fonction resolve-error (dispo sur le blog de MS-PowerShell) ?
Quelle installation tu as ? quelle version du framework, os, version de ps ?
Essaie de décomposer l'instruction :
[code:1]$a=(Get-Content $file1 | ConvertFrom-Html)
$a.GetType()
$a.Save[/code:1]
pour info, les guillemets ne sont pas nécessaire ici.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.115 secondes
Propulsé par Kunena