Question Commande Update-type

Plus d'informations
il y a 16 ans 11 mois #4552 par Artis
Commande Update-type a été créé par Artis
Bonjour,

Débutant en la matière, je me suis acheté windows powershell.Il y a un chapitre qui s'appelle:\"Ajout de méthodes et propriétés personnalisées\"
On peut générer des pages html et les faire prendre en compte par powershell.
Voici la version de powershell que j'utilise
Name : Windows PowerShell ISE Host
Version : 2.0
j'ai une page qui se nomme MSDN.types.ps1xml et qui contient ce code source.

<?xml version=\"1.0\" encoding=\"utf-8\" ?>
<Types>
<Type>
<Name>System.Object</Name>
<Members>
<ScriptMethod>
<Name>GetMSDNHelp</Name>
<Script>
$culture = $host.currentculture
if ($args[0]) { $culture = $args[0] }
if (($global:MSDNViewer -eq $null) -or
($global:MSDNViewer.HWND -eq $null))
{
$global:MSDNViewer = new-object -ComObject
InternetExplorer.Application
}
$Uri = ’msdn2.microsoft.com/’ + $culture +
’/library/’ +
$this.GetType().FullName + ’.ASPX’
$global:MSDNViewer.Navigate2($Uri)
$global:MSDNViewer.Visible = $TRUE
$ShellObj = new-object -com WScript.Shell
$ShellObj.AppActivate((get-process | where
{$_.MainWindowHandle -eq $global:MSDNViewer.HWND}).Id)
</Script>
</ScriptMethod>
</Members>
</Type>
</Types>


Quand je fais Update-TypeData MSDN.types.ps1xml, voici l'erreur que j'ai ?:
Update-TypeData : Missing closing ')' in expression.
At line:1 char:16
+ Update-TypeData <<<< .\MSDN.types.ps1xml
+ CategoryInfo : InvalidOperation: (:) [Update-TypeData], ParseException
+ FullyQualifiedErrorId : TypesXmlUpdateException,Microsoft.PowerShell.Commands.UpdateTypeDataCommand

J'ai essayé sous doute les formes , regarder aide , internet , je ne vois pas de quoi vient mon souci.

Une piste: mon OS est en anglais au niveau paramètre régionaux

En vous remerciant si qqn peut m'aider sur ce sujet.

Zebul

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

Plus d'informations
il y a 16 ans 11 mois #4556 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Commande Update-type
Salut,
zebul_54 écrit:

je ne vois pas de quoi vient mon souci.

La ligne suivante n'est pas correcte :
zebul_54 écrit:

$ShellObj.AppActivate((get-process | where
{$_.MainWindowHandle -eq $global:MSDNViewer.HWND}).Id)

Le parseur de PowerShell attend un paramètre. Pour les autres instructions sur + lignes, par exemple contenant + ou -or, cela ne lui pose pas de pb que l'instruction soit sur la ligne suivante.

Le mieux est d'utiliser une version corrigée car l'url pointant MSDN a changé :
[code:1]
<?xml version=\"1.0\" encoding=\"utf-8\" ?>
<!-- *******************************************************************
Permet de retrouver dans la MSDN la page de description d'une classe
******************************************************************** -->
<Types>
<Type>
<Name>System.Object</Name>
<Members>
<ScriptMethod>
<Name>MSDN</Name>
<Script>
$culture = $host.currentculture
if ($args[0])
{
$culture = $args[0]
}

if (($global:MSDNViewer -eq $null) -or ($global:MSDNViewer.HWND -eq $null))
{
$global:MSDNViewer = new-object -ComObject InternetExplorer.Application
}
$Uri = \"msdn2.microsoft.com/\"; + $culture + \"/library/\" +
$this.GetType().FullName + \"(VS.80).ASPX\"
$global:MSDNViewer.Navigate2($Uri)
$global:MSDNViewer.Visible = $TRUE
$global:MSDNViewer.Top=$global:MSDNViewer.Document.ParentWindow.Screen.Height
$global:MSDNViewer.Left=$global:MSDNViewer.Document.ParentWindow.Screen.Width
$ShellObj = New-Object -ComObject WScript.Shell
$ShellObj.AppActivate((Get-Process | Where {$_.MainWindowHandle -eq $global:MSDNViewer.HWND}).Id)
</Script>
</ScriptMethod>
</Members>
</Type>
</Types>
[/code:1]
Il fonctionne en V1 et V2.<br><br>Message édité par: Laurent Dardenne, à: 16/04/09 14:07

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 11 mois #4565 par Artis
Réponse de Artis sur le sujet Re:Commande Update-type
Ok merci pour l'info

Zebul

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

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